pyvcloud is the Python SDK for VMware vCloud Director.

Supported API versions are 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0.


In general, pyvcloud can be installed with the following command:

$ pip install --user pyvcloud

Depending on your operating system and distribution you
may need additional packages to install successfully. See for full details.


Contributions to pyvcloud are welcome and it should include unit tests. See the contributing guide for details.

Check out the latest version and install:

git clone
cd pyvcloud
virtualenv .venv
source .venv/bin/activate
python develop

Sample test parameters are in file tests/config.yml. Create a copy to specify your own settings and use the VCD_TEST_CONFIG_FILE env variable.

cd tests
cp config.yml private.config.yml
# customize credentials and other parameters
export VCD_TEST_CONFIG_FILE=private.config.yml
# run unit test
python -m unittest vcd_login vcd_catalog_setup
# run just a test method
python -m unittest vcd_catalog_setup.TestCatalogSetup.test_validate_ova

See tests for a list of current unit tests written for the new SDK implementation.


Please note that this project is under development and the interfaces might change over time.

pyvcloud is used by vcd-cli, the Command Line Interface for VMware vCloud Director. It requires Python 3.6 or higher.

Previous versions and deprecated code can be found in this repository under tag 18.2.2.


The pyvcloud project team welcomes contributions from the community. Before you start working with pyvcloud, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to

GitHub - vmware/pyvcloud: Python SDK for VMware vCloud Director
Python SDK for VMware vCloud Director. Contribute to vmware/pyvcloud development by creating an account on GitHub.