skillfed

python-keystoneclient

Client Library for OpenStack Identity

python-keystoneclient v5.8.0 1.2M downloads/30d#4,259 on PyPI
Permissive license Active released

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-keystoneclient

uv

uv add python-keystoneclient

poetry

poetry add python-keystoneclient

Installing 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

Environment :: OpenStackIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12

Tags

openstack identity clientkeystone authentication pythonopenstack api bindingskeystone token managementopenstack project managementidentity service clientopenstack user management
openstackidentity-managementcloud-infrastructure

More Internet packages

botocore

Botocore provides low-level, data-driven access…

permissive · top 100 on PyPI

aiobotocore

Provides an async client for AWS services using…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

filelock

Provides a platform-independent file locking…

permissive · top 100 on PyPI

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

googleapis-common-protos

Provides common Protocol Buffer message…

permissive · top 100 on PyPI

keystone

OpenStack Keystone provides authentication,…

permissive · top 15,000 on PyPI

python-barbicanclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

python-novaclient

Python bindings to the OpenStack Compute API,…

permissive · top 15,000 on PyPI

keystoneauth1

Provides authentication plugins, API discovery,…

permissive · top 5,000 on PyPI

keystonemiddleware

Provides authentication and authorization…

permissive · top 15,000 on PyPI

python-neutronclient

Python bindings and client library for the…

permissive · top 15,000 on PyPI

python-ironicclient

Python client library and CLI for the OpenStack…

permissive · top 15,000 on PyPI

python-heatclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

python-designateclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

stravalib

stravalib provides a Python client for…

permissive · top 15,000 on PyPI