proxmoxer


Nameproxmoxer JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttps://proxmoxer.github.io/docs/
SummaryPython Wrapper for the Proxmox 2.x API (HTTP and SSH)
upload_time2024-08-10 20:06:43
maintainerNone
docs_urlNone
authorOleg Butovich
requires_pythonNone
licenseMIT
keywords proxmox api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ================================================
Proxmoxer: A Python wrapper for Proxmox REST API
================================================

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 <https://pve.proxmox.com/pve-docs/api-viewer/index.html>`_.
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 <https://github.com/baseblack/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 <https://proxmoxer.github.io/docs/latest/v1_migration/>`_.

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 <https://pve.proxmox.com/pve-docs/api-viewer/index.html>`_, you can create
API calls using the access methods above.

::

    >>> for node in proxmox.nodes.get():
    ...     for vm in proxmox.nodes(node["node"]).qemu.get():
    ...         print(f"{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 <https://github.com/proxmoxer/proxmoxer/blob/develop/CHANGELOG.md>`_
...................................................................................................

.. |master_build_status| image:: https://github.com/proxmoxer/proxmoxer/actions/workflows/ci.yaml/badge.svg?branch=master
    :target: https://github.com/proxmoxer/proxmoxer/actions

.. |master_coverage_status| image:: https://img.shields.io/coveralls/github/proxmoxer/proxmoxer/master
    :target: https://coveralls.io/github/proxmoxer/proxmoxer?branch=master

.. |develop_build_status| image:: https://github.com/proxmoxer/proxmoxer/actions/workflows/ci.yaml/badge.svg?branch=develop
    :target: https://github.com/proxmoxer/proxmoxer/actions

.. |develop_coverage_status| image:: https://img.shields.io/coveralls/github/proxmoxer/proxmoxer/develop
    :target: https://coveralls.io/github/proxmoxer/proxmoxer?branch=develop

.. |pypi_version| image:: https://img.shields.io/pypi/v/proxmoxer.svg
    :target: https://pypi.python.org/pypi/proxmoxer

.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/proxmoxer.svg
    :target: https://pypi.python.org/pypi/proxmoxer

            

Raw data

            {
    "_id": null,
    "home_page": "https://proxmoxer.github.io/docs/",
    "name": "proxmoxer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "proxmox, api",
    "author": "Oleg Butovich",
    "author_email": "obutovich@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e3/99/eb6129acd6552178b5fb20d101e43f1c78695140f1c3c2769f5dcb37a56d/proxmoxer-2.1.0.tar.gz",
    "platform": null,
    "description": "================================================\nProxmoxer: A Python wrapper for Proxmox REST API\n================================================\n\nmaster branch:  |master_build_status| |master_coverage_status| |pypi_version| |pypi_downloads|\n\ndevelop branch: |develop_build_status| |develop_coverage_status|\n\n\nProxmoxer is a python wrapper around the `Proxmox REST API v2 <https://pve.proxmox.com/pve-docs/api-viewer/index.html>`_.\nIt currently supports the Proxmox services of Proxmox Virtual Environment (PVE), Proxmox Mail Gateway (PMG), and Proxmox Backup Server (PBS).\n\nIt was inspired by slumber, but it is dedicated only to Proxmox. It allows not only REST API use over HTTPS, but\nthe same api over ssh and pvesh utility.\n\nLike `Proxmoxia <https://github.com/baseblack/Proxmoxia>`_, it dynamically creates attributes which responds to the\nattributes you've attempted to reach.\n\nFull Documentation is available at https://proxmoxer.github.io/docs/\n--------------------------------------------------------------------\n\nMigrating to version 2\n......................\n\nFull instructions for the minimal steps needed to update to version 2 can be found in `Migration Docs <https://proxmoxer.github.io/docs/latest/v1_migration/>`_.\n\nInstallation\n............\n\n::\n\n    pip install proxmoxer\n\nTo use the 'https' backend, install requests\n\n::\n\n    pip install requests\n\nTo use the 'ssh_paramiko' backend, install paramiko\n\n::\n\n    pip install paramiko\n\nTo use the 'openssh' backend, install openssh_wrapper\n\n::\n\n    pip install openssh_wrapper\n\n\nShort usage information\n.......................\n\nThe first thing to do is import the proxmoxer library and create ProxmoxAPI instance.\n\n::\n\n    from proxmoxer import ProxmoxAPI\n\n    proxmox = ProxmoxAPI(\n        \"proxmox_host\", user=\"admin@pam\", password=\"secret_word\", verify_ssl=False\n    )\n\nThis will connect by default to PVE through the 'https' backend.\n\n**Note: ensure you have the required libraries (listed above) for the connection method you are using**\n\nQueries are exposed via the access methods **get**, **post**, **put** and **delete**. For convenience two\nsynonyms are available: **create** for **post**, and **set** for **put**.\n\nUsing the paths from the `PVE API v2 <https://pve.proxmox.com/pve-docs/api-viewer/index.html>`_, you can create\nAPI calls using the access methods above.\n\n::\n\n    >>> for node in proxmox.nodes.get():\n    ...     for vm in proxmox.nodes(node[\"node\"]).qemu.get():\n    ...         print(f\"{vm['vmid']}. {vm['name']} => {vm['status']}\")\n    ...\n\n    141. puppet-2.london.example.com => running\n    101. munki.london.example.com => running\n    102. redmine.london.example.com => running\n    140. dns-1.london.example.com => running\n    126. ns-3.london.example.com => running\n    113. rabbitmq.london.example.com => running\n\n\nSee Changelog in `CHANGELOG.md <https://github.com/proxmoxer/proxmoxer/blob/develop/CHANGELOG.md>`_\n...................................................................................................\n\n.. |master_build_status| image:: https://github.com/proxmoxer/proxmoxer/actions/workflows/ci.yaml/badge.svg?branch=master\n    :target: https://github.com/proxmoxer/proxmoxer/actions\n\n.. |master_coverage_status| image:: https://img.shields.io/coveralls/github/proxmoxer/proxmoxer/master\n    :target: https://coveralls.io/github/proxmoxer/proxmoxer?branch=master\n\n.. |develop_build_status| image:: https://github.com/proxmoxer/proxmoxer/actions/workflows/ci.yaml/badge.svg?branch=develop\n    :target: https://github.com/proxmoxer/proxmoxer/actions\n\n.. |develop_coverage_status| image:: https://img.shields.io/coveralls/github/proxmoxer/proxmoxer/develop\n    :target: https://coveralls.io/github/proxmoxer/proxmoxer?branch=develop\n\n.. |pypi_version| image:: https://img.shields.io/pypi/v/proxmoxer.svg\n    :target: https://pypi.python.org/pypi/proxmoxer\n\n.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/proxmoxer.svg\n    :target: https://pypi.python.org/pypi/proxmoxer\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python Wrapper for the Proxmox 2.x API (HTTP and SSH)",
    "version": "2.1.0",
    "project_urls": {
        "Download": "http://pypi.python.org/pypi/proxmoxer",
        "Homepage": "https://proxmoxer.github.io/docs/"
    },
    "split_keywords": [
        "proxmox",
        " api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9b17b502aadc7556ba79b384da0cc506c8d8ef38e330ce9782321b1b00bcac1e",
                "md5": "ea49a99a50b6c15644e894fefec30912",
                "sha256": "59d69abc5742c6c1b1737ce2944599136f66cdbbb1d044cd4b7aad30100ddde6"
            },
            "downloads": -1,
            "filename": "proxmoxer-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea49a99a50b6c15644e894fefec30912",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 18961,
            "upload_time": "2024-08-10T20:06:42",
            "upload_time_iso_8601": "2024-08-10T20:06:42.053034Z",
            "url": "https://files.pythonhosted.org/packages/9b/17/b502aadc7556ba79b384da0cc506c8d8ef38e330ce9782321b1b00bcac1e/proxmoxer-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e399eb6129acd6552178b5fb20d101e43f1c78695140f1c3c2769f5dcb37a56d",
                "md5": "7c9dc721e98c5d737194e3bc4a3329fc",
                "sha256": "d92993782e74ed8a76ff355dc050f58aa039fa697f9349a68e643552bd0fa62e"
            },
            "downloads": -1,
            "filename": "proxmoxer-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7c9dc721e98c5d737194e3bc4a3329fc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 28799,
            "upload_time": "2024-08-10T20:06:43",
            "upload_time_iso_8601": "2024-08-10T20:06:43.424400Z",
            "url": "https://files.pythonhosted.org/packages/e3/99/eb6129acd6552178b5fb20d101e43f1c78695140f1c3c2769f5dcb37a56d/proxmoxer-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-10 20:06:43",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "proxmoxer"
}
        
Elapsed time: 0.91831s