{"id":24368,"library":"pyone","title":"pyone","description":"Python bindings for the OpenNebula XML-RPC API. Current version: 7.2.0. Release cadence is irregular, tied to OpenNebula releases.","status":"active","version":"7.2.0","language":"python","source_language":"en","source_url":"https://github.com/OpenNebula/pyone","tags":["opennebula","cloud","xml-rpc","api-bindings"],"install":[{"cmd":"pip install pyone","lang":"bash","label":"Install pyone from PyPI"}],"dependencies":[{"reason":"The library itself is self-contained; no external dependencies beyond stdlib.","package":"pyone","optional":false}],"imports":[{"note":"","wrong":"","symbol":"One","correct":"from pyone import One"},{"note":"","wrong":"","symbol":"OneException","correct":"from pyone import OneException"}],"quickstart":{"code":"import os\nfrom pyone import One, OneException\n\nserver = 'https://your-opennebula-host:2633/RPC2'\nuser = 'user'\npassword = os.environ.get('ONE_PASSWORD', '')  # use env var for auth\n\nclient = One(server, user, password)\ntry:\n    version_info = client.one.system.version()\n    print('OpenNebula version:', version_info)\nexcept OneException as e:\n    print('Error:', e)","lang":"python","description":"Connect to an OpenNebula instance and fetch version info."},"warnings":[{"fix":"Use `One(server=server, user=user, password=password)` instead of `One(server, user, password)`.","message":"In version 7.x, the `One` constructor no longer accepts positional arguments for `server`, `user`, `password`; you must use keyword arguments or a dict.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Pass credentials directly to `One()` instead of calling `.login()`.","message":"The `One` class method `login` is deprecated; authentication should be done via the constructor.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Examine the raw response or use `pprint` to understand the structure.","message":"Many methods return a list of objects, but some return a dict. Always check the return type, especially for `one.vm.list()` which returns a list of dicts, not VM objects.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `pip install pyone` in your active environment.","cause":"The package is not installed or is installed in a different environment.","error":"ModuleNotFoundError: No module named 'pyone'"},{"fix":"Verify your username and password. If using a token, ensure it is still valid and pass it as password.","cause":"Invalid credentials or expired session token.","error":"pyone.OneException: [401] Unauthorized"},{"fix":"Do not pass `session`; directly authenticate with `server`, `user`, `password`.","cause":"The `session` argument was removed in pyone 7.x.","error":"TypeError: __init__() got an unexpected keyword argument 'session'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}