Python library for Passbolt
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
passbolt-py-0.0.4.tar.gz
(5.9 kB
view details)
File details
Details for the file passbolt-py-0.0.4.tar.gz.
File metadata
- Download URL: passbolt-py-0.0.4.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7112b6cc9a8de7d782631ddea93ac1084e99bc250e57ba423c3cb4d88ba97626
|
|
| MD5 |
89222e21a815bcb8f8d0829a01a75b70
|
|
| BLAKE2b-256 |
0575d379c69f3ab68397eade51799ff9d3f8697a64486272f44c4580905eabcc
|