skillfed

pyone

Python Bindings for OpenNebula XML-RPC API

pyone v7.3.80 95.2K downloads/30d#13,279 on PyPI
Permissive license Apache-2.0 Active released

What it is and what it does

PyOne is a Python client library that wraps the OpenNebula cloud management platform's XML-RPC API. It translates OpenNebula's remote procedure calls into Python objects and methods, so you can manage virtual machines, hosts, networks, and storage pools from Python scripts or applications instead of using the command-line tools or web interface.

The package handles XML serialization and deserialization internally, working with lxml and xmltodict to convert between Python data structures and the XML format OpenNebula expects. It depends on requests for HTTP communication and grpcio as a runtime dependency. It's designed for developers building automation, monitoring, or orchestration tools around OpenNebula infrastructure, and requires a running OpenNebula server and valid API credentials to function.

Use it for:

  • Automate VM provisioning and lifecycle management (create, start, stop, delete) in OpenNebula clusters.
  • Build custom monitoring or reporting dashboards that query OpenNebula resource state via Python.
  • Integrate OpenNebula with external orchestration or CI/CD systems through Python scripts.
  • Manage network and storage resources programmatically without manual web console interaction.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to the OpenNebula XML-RPC API, enabling programmatic control of OpenNebula cloud infrastructure through Python code.

Yes, if you are building tools or automation around an OpenNebula deployment. The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. Install only if you have an OpenNebula server to connect to; it is not useful as a standalone library.

Install

pyone on PyPI

pip

pip install pyone

uv

uv add pyone

poetry

poetry add pyone

Installing pyone

Before you install

Low install friction with a pure-wheel distribution. Actively maintained with a release 32 days ago. Depends on 7 runtime packages including lxml, requests, and grpcio—all established libraries with stable ecosystems.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and derivative use with attribution and patent protection. No restrictions on bundling or modification.

Quickstart

pip install pyone

import pyone

one = pyone.OneServer('http://localhost/RPC2', session='user:password')
vms = one.vmpool.info()

Requires OpenNebula server running and accessible at the configured XML-RPC endpoint; authentication credentials must be valid.

Verify before relying

  • Whether grpcio is actually used at runtime or is an unused transitive dependency.
  • Current state of OpenNebula server compatibility (versions supported by 7.3.80).
  • Whether the package supports async/await patterns or is synchronous-only.
  • Specific port and endpoint configuration for connecting to OpenNebula servers.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 7 — lxml, dict2xml, xmltodict, six, tblib, requests, grpcio
Maintenance actively maintained — 32 days since the last release
First released
Downloads 95,208/month — #13,279 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyone-7.3.80-py3-none-any.whl

Tags

opennebula python apicloud infrastructure automationxml-rpc bindingsopennebula managementinfrastructure as code python
cloud-infrastructureapi-clientorchestration

More Distributed Computing packages