python-keystoneclient
Client Library for OpenStack Identity
What it is and what it does
python-keystoneclient is the official Python client library for OpenStack's Keystone Identity service. It provides a programmatic interface to authenticate users, manage projects and users, handle tokens, and interact with the broader OpenStack Identity API. The library wraps HTTP calls to a Keystone server and exposes them as Python objects and methods, abstracting away the REST protocol details.
Typically used in OpenStack deployments to build automation tools, CLI applications, or services that need to authenticate against Keystone or perform identity management operations. It integrates with keystoneauth1 for flexible authentication strategies and relies on oslo libraries for configuration, serialization, and internationalization. The package is maintained by the OpenStack community and supports Python 3.10, 3.11, and 3.12.
Use it for:
- Authenticate applications against an OpenStack Keystone service to obtain tokens for accessing other OpenStack APIs.
- Automate user and project provisioning in OpenStack environments programmatically.
- Build custom CLI tools or management scripts that interact with Keystone's identity and access control features.
- Integrate OpenStack identity operations into Python-based infrastructure-as-code or orchestration workflows.
- Query and manage project hierarchies, roles, and service catalogs in OpenStack deployments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for authenticating with and managing OpenStack Identity (Keystone) services, providing programmatic access to user, project, and token operations.
Yes, if you are building applications or tools that interact with OpenStack Keystone. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is the standard client for this purpose. Not relevant for non-OpenStack environments.
Install
python-keystoneclient on PyPI
pip
pip install python-keystoneclientuv
uv add python-keystoneclientpoetry
poetry add python-keystoneclientInstalling python-keystoneclient
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (168 days ago). Depends on 10 runtime packages including keystoneauth1 for authentication and oslo libraries for configuration and serialization.
License in practice
Licensed under Apache Software License (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install python-keystoneclient
from keystoneauth1.identity import v3
from keystoneauth1 import session
from keystoneclient.v3 import client
auth = v3.Password(auth_url="http://example.com:5000/v3",
username="admin", password="password",
project_name="admin", user_domain_id="default",
project_domain_id="default")
sess = session.Session(auth=auth)
keystone = client.Client(session=sess)
keystone.projects.list()
Requires Python 3.10 or later; requires a running OpenStack Keystone service with network access.
Verify before relying
- Whether keystoneauth1 is the recommended authentication path or if direct token-based auth is also supported.
- Performance characteristics when managing large numbers of projects or users.
- Compatibility with non-standard or custom Keystone deployments.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — pbr, debtcollector, keystoneauth1, oslo.config, oslo.i18n, oslo.serialization, oslo.utils, requests, stevedore, packaging |
| Maintenance | actively maintained — 168 days since the last release |
| First released | |
| Downloads | 1,180,408/month — #4,259 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_keystoneclient-5.8.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
keystoneOpenStack Keystone provides authentication,…
permissive · top 15,000 on PyPI
python-barbicanclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
python-novaclientPython bindings to the OpenStack Compute API,…
permissive · top 15,000 on PyPI
keystoneauth1Provides authentication plugins, API discovery,…
permissive · top 5,000 on PyPI
keystonemiddlewareProvides authentication and authorization…
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
python-heatclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
python-designateclientPython client library and command-line tool for…
permissive · top 15,000 on PyPI
stravalibstravalib provides a Python client for…
permissive · top 15,000 on PyPI