Skip to main content

Passbolt API Client

Description

This project is a Python client implementation for interacting with the Passbolt API, an open-source password manager for teams.

Features

  • Authentication with a GPG key
  • Retrieve users and groups
  • Create groups and manage users
  • Encrypt and decrypt messages using GPG
  • Retrieve and manage Passbolt resources

Prerequisites

  • Python 3.x
  • Passbolt installed and accessible via API
  • A valid GPG key

Installation

pip install passbolt-py

Configuration

Configuration can be loaded from a dictionary or environment variables:

export PASSBOLT_GPG_BINARY=gpg
export PASSBOLT_GPG_LIBRARY=PGPy
export PASSBOLT_BASE_URL=https://your-passbolt-instance.com
export PASSBOLT_PRIVATE_KEY='your-private-key'
export PASSBOLT_PASSPHRASE='your-passphrase'
export PASSBOLT_FINGERPRINT='your-key-fingerprint'
export PASSBOLT_VERIFY=True
export PASSBOLT_TIMEOUT=5.0

Usage

Initializing the client

from passbolt import PassboltAPI

# Initialization with configuration
config = {
    "gpg_binary": "gpg",
    "gpg_library": "PGPy",
    "base_url": "https://your-passbolt-instance.com",
    "private_key": "your-private-key",
    "passphrase": "your-passphrase",
    "fingerprint": "your-key-fingerprint",
    "verify": True,
    "timeout": 5.0,
}

client = PassboltAPI(dict_config=config)

Retrieving users

users = client.get_users()
print(users)

Retrieving a user by email

user = client.get_user_by_email("user@example.com")
print(user)

Creating a group

response = client.create_group("My Group")
print(response)

Encrypting a message

encrypted_message = client.encrypt("my secret password", public_key)
print(encrypted_message)

Decrypting a message

decrypted_message = client.decrypt(encrypted_message)
print(decrypted_message)

Contributions

Contributions are welcome. Please follow best development practices and submit a pull request with your changes.

License

This project is licensed under the MIT License.

Metadata

Release files for passbolt-py 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for passbolt-py 0.0.5
File Size Uploaded
passbolt-py-0.0.5.tar.gz 5.9 kB Details

Release files / passbolt-py-0.0.5.tar.gz

Download URL passbolt-py-0.0.5.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d789dafb39c8cc6df38197fb2259f2f57efa8df49344c7953a2f464f1bf7005a
BLAKE2b-256 checksum
How to use checksums
381f572994bf1490c8db2b3fbc9253df57011ca0df8f177c17906f79750095e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.0.5 This release

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page