Skip to main content

Python Wrapper for the Proxmox 2.x API (HTTP and SSH)

Project description

master branch: master_build_status master_coverage_status pypi_version pypi_downloads

develop branch: develop_build_status develop_coverage_status

Proxmoxer is a python wrapper around the Proxmox REST API v2. It currently supports the Proxmox services of Proxmox Virtual Environment (PVE), Proxmox Mail Gateway (PMG), and Proxmox Backup Server (PBS).

It was inspired by slumber, but it is dedicated only to Proxmox. It allows not only REST API use over HTTPS, but the same api over ssh and pvesh utility.

Like Proxmoxia, it dynamically creates attributes which responds to the attributes you’ve attempted to reach.

Full Documentation is available at https://proxmoxer.github.io/docs/

Migrating to version 2

Full instructions for the minimal steps needed to update to version 2 can be found in Migration Docs.

Installation

pip install proxmoxer

To use the ‘https’ backend, install requests

pip install requests

To use the ‘ssh_paramiko’ backend, install paramiko

pip install paramiko

To use the ‘openssh’ backend, install openssh_wrapper

pip install openssh_wrapper

Short usage information

The first thing to do is import the proxmoxer library and create ProxmoxAPI instance.

from proxmoxer import ProxmoxAPI

proxmox = ProxmoxAPI(
    "proxmox_host", user="admin@pam", password="secret_word", verify_ssl=False
)

This will connect by default to PVE through the ‘https’ backend.

Note: ensure you have the required libraries (listed above) for the connection method you are using

Queries are exposed via the access methods get, post, put and delete. For convenience two synonyms are available: create for post, and set for put.

Using the paths from the PVE API v2, you can create API calls using the access methods above.

>>> for node in proxmox.nodes.get():
...     for vm in proxmox.nodes(node["node"]).openvz.get():
...         print "{0}. {1} => {2}".format(vm["vmid"], vm["name"], vm["status"])
...

141. puppet-2.london.example.com => running
101. munki.london.example.com => running
102. redmine.london.example.com => running
140. dns-1.london.example.com => running
126. ns-3.london.example.com => running
113. rabbitmq.london.example.com => running

See Changelog in CHANGELOG.md

Download files

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

Source Distribution

proxmoxer-2.0.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

proxmoxer-2.0.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file proxmoxer-2.0.0.tar.gz.

File metadata

  • Download URL: proxmoxer-2.0.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for proxmoxer-2.0.0.tar.gz
Algorithm Hash digest
SHA256 f592426c16ec9a00f141379da1dd72d2a6fcf46f9ee181484906668ad2f31357
MD5 b9cc7c13bd41c34e830f3cb762689f26
BLAKE2b-256 3c0a1f823b79151841df300823cef1dd0df59f468adb2c2c195e007dba55ac50

See more details on using hashes here.

File details

Details for the file proxmoxer-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: proxmoxer-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for proxmoxer-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3ba2ff5306ea3fc61f7ce9a03a6e3b261971b60cb40f953967f1449676d2d70
MD5 09b842f1c8b90479ee339517a31713aa
BLAKE2b-256 4fdd785ed442afbeaefdaab84c8f8f9e570909e2c9ca475bb2aaa5f91ae238a8

See more details on using hashes here.

Supported by

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