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