Getting started with the OpenStack SDK

Getting started with the OpenStack SDK

For a listing of terms used throughout the SDK, including the names of projects and services supported by it, see the glossary.


The OpenStack SDK is available on PyPI under the name openstacksdk. To install it, use pip:

$ pip install openstacksdk

User Guides

These guides walk you through how to make use of the libraries we provide to work with each OpenStack service. If you’re looking for a cookbook approach, this is where you’ll want to begin.

API Documentation

Service APIs are exposed through a two-layered approach. The classes exposed through our Connection interface are the place to start if you’re an application developer consuming an OpenStack cloud. The Resource interface is the layer upon which the Connection is built, with Connection methods accepting and returning Resource objects.

Connection Interface

A Connection instance maintains your session, authentication, transport, and profile, providing you with a set of higher-level interfaces to work with OpenStack services.

Once you have a Connection instance, the following services may be exposed to you. Your user profile determine the full set of exposed services, but listed below are the ones provided by this SDK by default.

Resource Interface

The Resource layer is a lower-level interface to communicate with OpenStack services. While the classes exposed by the Connection build a convenience layer on top of this, Resources can be used directly. However, the most common usage of this layer is in receiving an object from a class in the Connection layer, modifying it, and sending it back into the Connection layer, such as to update a resource on the server.

The following services have exposed Resource classes.

Low-Level Classes

The following classes are not commonly used by application developers, but are used to construct applications to talk to OpenStack APIs. Typically these parts are managed through the Connection Interface, but their use can be customized.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.