# VMware vSphere Automation Python SDK: client README |
The following section describes the current directory contents: Directory structure Python SDK API Docs SDK libraries Installing SDK and 3rd party libraries Running a sample ## Directory structure The vSphere Automation Client SDK for Python provides client bindings, documentation, samples, and WSDL files. The following table shows the client directories and their contents.
Directory | Description | Contents
--- | --- | ---
bin | Command scripts for sample execution | run_sample.batrun_sample.sh
lib | VMware python libraries for accessing vSphere Automation services
samples | Python samples that demonstrate the use of the vSphere Automation API | See the Python samples README
wsdl | Lookup Service WSDL files. | lookup.wsdl lookupservice.wsdl
## Python SDK API Docs apidocs directory contains the generated python API reference documentation for vSphere Automation features like Content Library and Tagging. The README page also includes a hyperlink to pyVmomi API reference documentation for convenience. Please Refer to vSphere Automation SDK Pythondoc for details. ## SDK libraries For python developers, client libraries are supplied for testing and development purposes. All the supplied libraries are located under lib directory.

Name | Description
--- | ---

## Installing SDK and 3rd party libraries

The supplied python libs can be installed using pip install; For details on how to install python packages using pip please refer to pip user guide.

### vapi_runtime

This library is needed for accessing features like Content Library and Tagging.

    > pip install /path/to/VMware-vSphere-Automation-SDK-Python/client/lib/vapi_runtime-2.5.0.zip

pyOpenSSL is required by vapi_runtime. Please see the pyOpenSSL installation steps for details.

### vapi_common_client

This library is needed for accessing features like Content Library and Tagging.

    > pip install /path/to/VMware-vSphere-Automation-SDK-Python/client/lib/vapi_common_client-2.5.0.zip

### vapi_client_bindings

This library is needed for accessing features like Content Library and Tagging.

    > pip install /path/to/VMware-vSphere-Automation-SDK-Python/client/lib/vapi_client_bindings-2.5.0.zip

### pyVmomi

This library is needed for accessing/manipulating vCenter Server managed objects using vSphere APIs; For more information please refer to vmware pyVmomi

    > pip install pyvmomi

The following 3rd party python libraries are required to be installed for running the sample.

- pyOpenSSL
- lxml
- suds (suds-jurko for python 3.x)

### pyOpenSSL

This requires python cryptography package to be installed as a pre-requisite. Please follow the detailed instruction from installing cryptography dev documentation VMware strongly recommends using openssl version 1.0.1j or, higher. SDK and samples are tested against openssl version >= 1.0.1j. pyOpenSSL version 0.14 is needed for the SDK (vapi_runtime) and samples. For details on how to install the package please go to pypi.python.org/pypi/pyOpenSSL/0.14.

### lxml

Please follow detailed instructions from Installing lxml

    > pip install lxml

#### Notes for the Windows client

How to use MinGW's gcc compiler when installing python package using pip?

- install MinGW with gcc Compiler option checked
- add C:\MinGW\bin to your PATH
- In PYTHONPATH\Lib\distutils, create a file distutils.cfg and add these lines:

    [build]
    compiler=mingw32

Here's an alternative method:

- Download Libxml-python (Libxml-python are bindings for the libxml2 and libxslt libraries). Windows 64-bit installer for python 2.7 can be found here
- Run the installer to install libxml2 and libxslt
- Download lxml 3.3.1 windows 64-bit installer for python 2.7. link
- Run the installer to install lxml

### suds(suds-jurko)

This library is needed for lookup service queries; For more information please refer to suds Documentation

    > pip install suds

Use suds-jurko for python 3.x

    > pip install suds-jurko

## Running a sample

Please refer to running a vcenter sample for detailed steps to run a vCenter sample.
Please refer to running a workflow sample for detailed steps to run a vCenter Single Sign-On, Content Library or Tagging sample.

- run_sample.sh is needed for running the samples in UNIX/mac OS X environment
- run_sample.bat is a windows bat file needed for running the samples in windows

Copyright © 2015 VMware, Inc. All rights not expressly granted herein are reserved. | Last updated: 23rd January 2015 | VMware vSphere Automation Python SDK