{"library":"pyvmomi","title":"VMware vSphere Python SDK","description":"pyVmomi is the Python SDK for the VMware vSphere Management API, enabling developers to build solutions integrated with VMware ESXi and vCenter Server. It provides Python bindings for several SOAP-based vSphere APIs, including core VIM API and related extensions like ESX Agent Manager and Storage Policy API. While pyVmomi focuses on SOAP APIs, the vSphere Automation SDK for Python is recommended for REST API features. pyVmomi releases often correlate with vSphere major versions and maintain backward compatibility with the previous four vSphere releases and its own previous four releases.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install --upgrade pyvmomi","pip install -e \".[sso]\""],"cli":null},"imports":["from pyVim.connect import SmartConnect, Disconnect","from pyVmomi import vim","from pyVmomi.VmomiJSONEncoder import VmomiJSONEncoder","from pyVmomi.VmomiJSONEncoder import templateOf","from pyVmomi.Security import ThumbprintMismatchException"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import ssl\nimport os\nfrom pyVim.connect import SmartConnect, Disconnect\nfrom pyVmomi import vim\n\n# Environment variables for credentials and host\nVCENTER_HOST = os.environ.get('VCENTER_HOST', 'your_vcenter_ip_or_fqdn')\nVCENTER_USER = os.environ.get('VCENTER_USER', 'your_username')\nVCENTER_PASS = os.environ.get('VCENTER_PASS', 'your_password')\n\nif VCENTER_HOST == 'your_vcenter_ip_or_fqdn' or VCENTER_USER == 'your_username' or VCENTER_PASS == 'your_password':\n    print(\"Please set VCENTER_HOST, VCENTER_USER, and VCENTER_PASS environment variables or update the script.\")\n    exit(1)\n\ndef main():\n    service_instance = None\n    context = None\n\n    try:\n        # Disable SSL certificate verification for labs/testing. NOT recommended for production.\n        context = ssl._create_unverified_context()\n        \n        print(f\"Connecting to vCenter: {VCENTER_HOST}...\")\n        service_instance = SmartConnect(host=VCENTER_HOST,\n                                      user=VCENTER_USER,\n                                      pwd=VCENTER_PASS,\n                                      sslContext=context)\n        \n        content = service_instance.RetrieveContent()\n        print(f\"Connected to vCenter: {content.about.fullName}\")\n\n        # Retrieve all virtual machines\n        container = content.viewManager.CreateContainerView(content.rootFolder, [vim.VirtualMachine], True)\n        vms = container.view\n        \n        print(\"\\nVirtual Machines:\")\n        if not vms:\n            print(\"No virtual machines found.\")\n        for vm in vms:\n            print(f\"  Name: {vm.name}, Power State: {vm.runtime.powerState}\")\n        \n        container.Destroy()\n\n    except Exception as e:\n        print(f\"Error: {e}\")\n    finally:\n        if service_instance:\n            print(\"Disconnecting from vCenter.\")\n            Disconnect(service_instance)\n\nif __name__ == '__main__':\n    main()","lang":"python","description":"This quickstart demonstrates how to connect to a vCenter Server, retrieve its content, and list all virtual machines using pyVmomi. It includes common practices like handling SSL contexts and using environment variables for credentials.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"9.1.0.0","pypi_latest":"9.1.0.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":1.9,"avg_import_s":3.5,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.43,"mem_mb":13.7,"disk_size":"23.2M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.26,"mem_mb":13.7,"disk_size":"24M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":6.15,"mem_mb":13.6,"disk_size":"26.1M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":4.76,"mem_mb":13.6,"disk_size":"27M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.01,"mem_mb":13.4,"disk_size":"17.7M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":4.32,"mem_mb":13.4,"disk_size":"18M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.07,"mem_mb":13.1,"disk_size":"17.4M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":4,"mem_mb":13.1,"disk_size":"18M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"22.7M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.1,"import_time_s":null,"mem_mb":null,"disk_size":"23M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"-e","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}