Skip to main content

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.5.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file passbolt-py-0.0.5.tar.gz.

File metadata

  • Download URL: passbolt-py-0.0.5.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

Hashes for passbolt-py-0.0.5.tar.gz
Algorithm Hash digest
SHA256 d789dafb39c8cc6df38197fb2259f2f57efa8df49344c7953a2f464f1bf7005a
MD5 1307317e721cb55c3cfca4b4dbe3c031
BLAKE2b-256 381f572994bf1490c8db2b3fbc9253df57011ca0df8f177c17906f79750095e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page