pyvmomi
VMware vSphere Python SDK
What it is and what it does
pyvmomi is the official Python SDK for VMware's vSphere Management API, allowing developers to automate and integrate with vCenter Server and ESXi hosts. It provides Python bindings to the vSphere Web Services API, enabling tasks like virtual machine provisioning, resource management, and infrastructure monitoring through Python code.
The package is production-stable and actively maintained by Broadcom/VMware. It has no runtime dependencies, making installation straightforward. The SDK maintains backward compatibility with the previous four releases of both vSphere and pyvmomi itself. For REST-based vSphere Automation APIs, users are directed to a separate package.
Use it for:
- Automate virtual machine lifecycle management (creation, configuration, deployment, deletion) in vSphere environments
- Build infrastructure-as-code solutions for VMware environments integrated into CI/CD pipelines
- Monitor and report on vSphere resources, performance metrics, and inventory across ESXi hosts and vCenter
- Develop custom management tools and dashboards that interact with vCenter Server programmatically
- Integrate VMware infrastructure operations with third-party orchestration and cloud management platforms
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python SDK for VMware vSphere Management API that enables programmatic control of ESXi and vCenter Server infrastructure.
Yes. This is the official, actively maintained Python SDK for vSphere infrastructure automation. It has no external dependencies, supports Python 3.10 through 3.14, carries a permissive Apache license, and is positioned in the top 5000 PyPI packages by download volume. Install it if you need to automate or integrate with VMware vSphere environments.
Install
pyvmomi on PyPI
pip
pip install pyvmomiuv
uv add pyvmomipoetry
poetry add pyvmomiInstalling pyvmomi
Before you install
Low install friction with no runtime dependencies. Actively maintained with a recent release 94 days ago, supporting Python 3.10, 3.11, 3.12, 3.13, and 3.14.
License in practice
Licensed under Apache Software License (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install pyvmomi
import pyvmomi
# Use pyvmomi to connect to and manage vSphere infrastructure
Requires network connectivity to a vSphere environment (ESXi host or vCenter Server); optional SSO support available via pip install pyvmomi[sso].
Verify before relying
- Specific API coverage and completeness relative to the full vSphere Management API surface
- Performance characteristics and scalability limits for large-scale infrastructure automation
- Whether backward compatibility with four previous vSphere releases is actively tested
- Concrete code examples demonstrating common connection and management patterns
Package facts
| License | License :: OSI Approved :: Apache Software License (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 94 days since the last release |
| First released | |
| Downloads | 1,897,599/month — #3,448 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyvmomi-9.1.0.0-py3-none-any.whl
Keywords: Broadcom, VMware, VCF, SDK, vSphere, vCenter, ESX
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
cotCOT edits and deploys Open Virtualization…
permissive · top 15,000 on PyPI
vmware-vapi-runtimeVMware vAPI Runtime provides HTTP client,…
permissive · top 15,000 on PyPI
vmware-vcenterProvides Python bindings to VMware vCenter…
permissive · top 15,000 on PyPI
vmware-vapi-common-clientProvides Python client bindings for VMware vAPI…
permissive · top 15,000 on PyPI
oslo.vmwareoslo.vmware provides a library for common…
permissive · top 15,000 on PyPI
kclikcli is a command-line provisioning and…
unclear · top 15,000 on PyPI
python-vagrantProgrammatic control of Vagrant virtual…
permissive · top 5,000 on PyPI
google-cloud-os-configPython client library for Google Cloud OS…
permissive · top 5,000 on PyPI
libvirt-pythonProvides Python bindings to the libvirt…
copyleft · top 15,000 on PyPI
kumoaiKumo SDK provides a Python interface to…
permissive · top 15,000 on PyPI