skillfed

python-barbicanclient

Client Library for OpenStack Barbican Key Management API

python-barbicanclient v7.5.0 322.4K downloads/30d#7,611 on PyPI
Permissive license Active released

What it is and what it does

python-barbicanclient is the official Python client for OpenStack Barbican, a key management service that encrypts and securely stores sensitive data in the cloud. It provides both a Python library (barbicanclient module) and a command-line tool (barbican command) for programmatic and interactive access to Barbican's API. The library handles authentication via Keystone, allowing you to create secrets, store them encrypted on the Barbican server, retrieve them later, and manage access control lists—all without handling raw encryption yourself.

The package is built on OpenStack's standard authentication and utility stack (keystoneauth1, oslo.* libraries, cliff for CLI scaffolding) and is designed for operators and developers working within OpenStack environments. It supports Python 3.10, 3.11, and 3.12, and is actively maintained as part of the broader OpenStack ecosystem.

Use it for:

  • Store API keys, database passwords, and certificates in Barbican from a Python application using Keystone authentication.
  • Retrieve encrypted secrets programmatically at runtime without embedding credentials in code or configuration files.
  • Manage secret access control and audit trails through the command-line tool in OpenStack deployment scripts.
  • Integrate secret management into OpenStack-based infrastructure automation and orchestration workflows.
  • Protect sensitive data in multi-tenant cloud environments where encryption and access isolation are required.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library and command-line tool for interacting with OpenStack Barbican's Key Management API to store, retrieve, and manage encrypted secrets.

Yes, if you are working with OpenStack Barbican. The package is actively maintained, has low install friction, carries a permissive license, and provides the standard client interface for Barbican's key management API. Install it only if you have a Barbican server running and need to manage encrypted secrets from Python; it is not useful outside an OpenStack environment.

Install

python-barbicanclient on PyPI

pip

pip install python-barbicanclient

uv

uv add python-barbicanclient

poetry

poetry add python-barbicanclient

Installing python-barbicanclient

Before you install

Low install friction with a pure Python wheel distribution. Active maintenance status with a release within the last 36 days. Depends on well-established OpenStack libraries (keystoneauth1, cliff, oslo.* packages) and common utilities (pbr, requests).

License in practice

Licensed under Apache Software License (permissive), meaning you can use, modify, and distribute this package freely with minimal restrictions, provided you include the license notice.

Quickstart

pip install python-barbicanclient

from keystoneauth1 import session
from keystoneauth1.identity import v3
from barbicanclient import client

auth = v3.Password(auth_url='http://localhost:5000/v3',
                   username='user', password='pass',
                   project_name='demo', user_domain_name='Default',
                   project_domain_name='Default')
sess = session.Session(auth=auth)
barbican = client.Client(session=sess)
secret = barbican.secrets.create(name='test', payload='data')
secret.store()

Requires a running Barbican server configured with Keystone middleware and valid OpenStack credentials (auth_url, username, password, project details).

Verify before relying

  • Whether the package supports Python 3.13+ beyond the stated 3.10, 3.11, 3.12 classifiers.
  • Current state of the upstream Barbican project and whether this client is actively maintained alongside it.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — pbr, requests, cliff, keystoneauth1, oslo.i18n, oslo.serialization, oslo.utils
Maintenance actively maintained — 36 days since the last release
First released
Downloads 322,412/month — #7,611 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_barbicanclient-7.5.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 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12

Tags

openstack key management clientbarbican secret storage apiopenstack encryption clientkey management service pythonbarbican python libraryopenstack secret managementkeystone authenticated secrets
openstackkey-managementsecrets-management

More Cryptography packages

certifi

Certifi provides Mozilla's curated collection…

copyleft · top 100 on PyPI

cryptography

cryptography provides cryptographic recipes and…

permissive · top 100 on PyPI

rsa

Pure-Python RSA encryption, decryption,…

permissive · top 1,000 on PyPI

pyOpenSSL

pyOpenSSL wraps OpenSSL's SSL/TLS functionality…

permissive · top 1,000 on PyPI

azure-identity

Provides Microsoft Entra ID token-based…

unclear · top 1,000 on PyPI

PyNaCl

PyNaCl provides Python bindings to libsodium…

permissive · top 1,000 on PyPI

python-keystoneclient

Python client library for authenticating with…

permissive · top 5,000 on PyPI

python-cinderclient

Python bindings and command-line interface to…

permissive · top 15,000 on PyPI

castellan

Castellan provides a unified interface for…

permissive · top 15,000 on PyPI

python-troveclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

python-swiftclient

Python client library for OpenStack Object…

permissive · top 15,000 on PyPI

python-designateclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

python-heatclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

python-glanceclient

Python client library and command-line tool for…

permissive · top 15,000 on PyPI

cerberus-python-client

A Python client library for reading and writing…

permissive · top 5,000 on PyPI

py-consul

Python client library for HashiCorp Consul that…

permissive · top 5,000 on PyPI