Skip to main content

Proxmox Backup Server API

Project description

clientapi_pbs

Python SDK for the Proxmox Backup Server API. Generated from the upstream apidoc.js from Proxmox Backup Server via openapi-generator-cli with custom Mustache template overrides.

Not an official Proxmox project. Community SDK derived from the upstream apidoc.js. Always verify against the upstream API viewer. https://pbs.proxmox.com/.

Requires Python ≥ 3.9.

Install

pip install clientapi-pbs

Or for development:

pip install -r requirements.txt

Usage

from clientapi_pbs import Configuration, Pve

cfg = Configuration(
    host='https://pbs1.example.com:8007/api2/json',
    api_key={'Authorization': 'PBSAPIToken=user@realm!tokenid:uuid-secret'},
)
pbs = Pbs(configuration=cfg)

# Per-tag properties are lazily instantiated and share the same ApiClient.
# `removeOperationIdPrefix=true` strips the tag prefix from method names,
# so the call is `pbs.qemu.vm_status(...)`, not `pbs.qemu.qemu_vm_status(...)` —
# you're already inside the `qemu` namespace.
status = pbs.qemu.vm_status(node='pbs1', vmid=100)
nodes = pbs.nodes.get_nodes()

Discovering available methods

Each per-tag API class lives at clientapi_pbs.api.<tag>_api.<Tag>Api. List its methods to see what's callable:

print([m for m in dir(pbs.qemu) if not m.startswith('_')])

Generated method-level docstrings explain parameters; the upstream endpoint reference is the upstream API viewer.

The unified Pbs class wraps each per-tag API class (QemuApi, LxcApi, ClusterApi, NodesApi, …) so consumers don't need to instantiate them individually.

Compound configs

PVE encodes many fields as CLI-style shorthand strings (net0=virtio,bridge=vmbr0,firewall=1). Round-trip helpers are emitted for every compound config schema:

from clientapi_pbs.models import PveQemuNetConfig

cfg = PveQemuNetConfig(model='virtio', bridge='vmbr0', firewall=1)
shorthand = cfg.to_shorthand()  # → 'virtio,bridge=vmbr0,firewall=1'

parsed = PveQemuNetConfig.from_shorthand(shorthand)

Indexed families

Numbered properties (net0..net31, mp0..mp255, …) are exposed on every model as a single collapsed nets / mps / … field:

req = QemuCreateVmRequest(
    nets={
        0: 'virtio,bridge=vmbr0',
        3: 'e1000,bridge=vmbr1',
    },
)
# Wire format: { 'net0': 'virtio,bridge=vmbr0', 'net3': 'e1000,bridge=vmbr1' }

License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clientapi_pbs-2026.5.24.tar.gz (344.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clientapi_pbs-2026.5.24-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file clientapi_pbs-2026.5.24.tar.gz.

File metadata

  • Download URL: clientapi_pbs-2026.5.24.tar.gz
  • Upload date:
  • Size: 344.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for clientapi_pbs-2026.5.24.tar.gz
Algorithm Hash digest
SHA256 da498335a63646ab64758e2b705539c7beac759872fd0c1cd1e7df077d0cec97
MD5 8ca6c92687a34f2583405159f6c7f68e
BLAKE2b-256 743e80260df948062a4630485b3ffae651ba418a574c46b995adb55cd9456607

See more details on using hashes here.

File details

Details for the file clientapi_pbs-2026.5.24-py3-none-any.whl.

File metadata

File hashes

Hashes for clientapi_pbs-2026.5.24-py3-none-any.whl
Algorithm Hash digest
SHA256 1a2329c0aa19a5e33a65ce3f44201ea6ac1930739226b448150c2ae9a5ead76d
MD5 bac3d6915c3235c12567fa508f4f2ff7
BLAKE2b-256 abee26cc498346e559ecaedcac48d9690f38f490ca7325c3053f42b0e65d0446

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page