A python client for Passbolt.
Project description
Passbolt-python-API
Installation
$pip install passbolt-python-api
Dependencies
- Python >= 3.8
- GPG (also known as GnuPG) software
Configuration
Create a config file with the following contents.
[PASSBOLT]
SERVER = http://<server_ip or domain>
SERVER_PUBLIC_KEY_FILE = <optional: server_public.asc>
USER_FINGERPRINT = <user_fingerprint>
USER_PUBLIC_KEY_FILE = <optional: passbolt_public.asc>
USER_PRIVATE_KEY_FILE = <optional: passbolt_private.asc>
PASSPHRASE = <passbolt_password>
Or as a dictionary
config = {
"PASSBOLT": {
"SERVER": "http://<server_ip or domain>"
....(same as above)
}
}
Usage
>>>import passboltapi
>>>passbolt = passboltapi.PassboltAPI(config_path="config.ini")
# Or pass the configuration settings as a dict
>>>passbolt = passboltapi.PassboltAPI(config=<dictionary as the given example config.ini>)
# Now you may do any get, post, put and delete request.
>>>r = passbolt.get(url="/resources.json?api-version=v2")
>>>r = passbolt.post(self.server_url + url, json=data)
# One can also use it as context manager
>>>with passboltapi.PassboltAPI(config_path="config.ini") as passbolt:
Client usage
To get all resources
resources = {record.username: record for record in passbolt.list_resources(folder_id=folder_id)}
To create new resource (optional: folder)
response_created = passbolt.create_new_resource(username, password, folder=passbolt_folder_id)
To move resource to folder
passbolt.move_resource_to_folder(resource_id, folder_id)
Sample test
Check test.py for an example.
If new keys needs to be imported, then USER_PUBLIC_KEY_FILE and USER_PRIVATE_KEY_FILE settings should be in the config ini having the path of the public and private keys file respectively.
To import new keys:
>>>import passboltapi
>>>passbolt = passboltapi.PassboltAPI(config_path="config.ini", new_keys=True)
To delete old keys and import only the new ones.
>>>import passboltapi
>>>passbolt = passboltapi.PassboltAPI(config_path="config.ini", new_keys=True, delete_old_keys=True)
Recommended to do: Do not keep private and public files. Rather just import them using gpg command one time and delete those files.
$gpg --import public.asc
$gpg --batch --import private.asc
For deleting gpg keys
$gpg --delete-secret-keys <fingerprint>
$gpg --delete-key <fingerprint>
Passbolt API
For more API related questions, visit Passbolt API documentation:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for passbolt-python-api-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dde26172b3d8bf934f4e8b01bb60dc6fab3f21271d14aec04f138bc80f4b065 |
|
MD5 | 6aa2e566dd0884c600030ee5c10eaff7 |
|
BLAKE2b-256 | f2b0fc00c2106a87130c0d5c9e3f4bf7a3656236e6808ec548ba6ad83714e8b0 |
Hashes for passbolt_python_api-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a798c034ca386d496a799184523f96a67bcd1f4c56540f4b84c829ab60a7e0cf |
|
MD5 | 35b8515199339a4d5ac01330d2b7ce23 |
|
BLAKE2b-256 | 155f6090ad055a7d6381923bcc315c3fb6c3b0c3270e8bd5023b920118d88605 |