openstacksdk
An SDK for building applications to work with OpenStack
What it is and what it does
openstacksdk is a Python client library designed to simplify interactions with OpenStack clouds. It provides a multi-layered architecture: a high-level cloud abstraction layer for common operations, a service-specific proxy layer for detailed control, a resource layer for CRUD operations, and a raw HTTP layer for unsupported APIs. The library handles authentication via clouds.yaml files or environment variables and aims to work consistently across different OpenStack deployments regardless of their configuration.
Developers use openstacksdk to automate cloud infrastructure tasks—launching servers, managing images, provisioning storage, and orchestrating networking resources. The abstraction layers let you choose your level of control: write portable applications against the cloud layer, or drop down to service-specific proxies for fine-grained operations. It depends on keystoneauth1 for authentication, cryptography for secure operations, and several utility libraries for configuration and caching.
Use it for:
- Automate server provisioning and lifecycle management across OpenStack clouds from a single codebase.
- Build infrastructure-as-code tools that work with any OpenStack deployment without provider-specific logic.
- Manage images, flavors, networks, and block storage volumes programmatically.
- Integrate OpenStack cloud operations into CI/CD pipelines or orchestration frameworks.
- Query and monitor cloud resources across multiple OpenStack regions or projects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
openstacksdk is a client library for interacting with OpenStack clouds, providing a layered API from high-level cloud operations down to raw HTTP requests for managing compute, storage, networking, and other OpenStack services.
Yes. openstacksdk is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. Install it if you need to interact with OpenStack clouds from Python. The layered API design means you can start with simple cloud operations and drop down to service-specific or raw HTTP calls when needed. The only gotcha is the Python 3.11 or later requirement and the need for proper cloud configuration.
Install
openstacksdk on PyPI
pip
pip install openstacksdkuv
uv add openstacksdkpoetry
poetry add openstacksdkInstalling openstacksdk
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release. Depends on 12 runtime packages including cryptography, keystoneauth1, and PyYAML—all well-established libraries.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install openstacksdk
import openstacksdk
conn = openstacksdk.connect(cloud='mordred')
for server in conn.list_servers():
print(server.to_dict())
Requires Python 3.11 or later. Needs a clouds.yaml configuration file or environment variables to authenticate with an OpenStack cloud.
Verify before relying
- Whether all supported OpenStack services have complete API coverage or only partial support.
- Performance characteristics and scalability limits for large-scale cloud operations.
- Compatibility with specific OpenStack versions or distributions beyond the general OpenStack ecosystem.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — cryptography, decorator, dogpile.cache, iso8601, jmespath, jsonpatch, keystoneauth1, os-service-types, pbr, platformdirs, psutil, PyYAML |
| Maintenance | actively maintained — 11 days since the last release |
| First released | |
| Downloads | 1,542,262/month — #3,784 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openstacksdk-4.18.0-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
os-client-configCollects and manages OpenStack cloud client…
permissive · top 15,000 on PyPI
python-openstackclientA unified command-line client for OpenStack…
permissive · top 5,000 on PyPI
cloudbridgeCloudBridge provides a unified Python API that…
permissive · top 15,000 on PyPI
keystoneauth1Provides authentication plugins, API discovery,…
permissive · top 5,000 on PyPI
neutron-libNeutron-lib provides shared routines,…
permissive · top 15,000 on PyPI
os-vifos-vif provides a library for managing the…
permissive · top 15,000 on PyPI
os-kenos-ken is a component-based software defined…
permissive · top 15,000 on PyPI
python-neutronclientPython bindings and client library for the…
permissive · top 15,000 on PyPI
python-ironicclientPython client library and CLI for the OpenStack…
permissive · top 15,000 on PyPI
dstackdstack is a unified control plane for…
copyleft · top 15,000 on PyPI