Skip to main content

Python bindings to FreeDesktop.org Secret Service API

Project description

Travis CI status Coverage status ReadTheDocs status

Module description

This module provides a way for securely storing passwords and other secrets.

It uses D-Bus Secret Service API that is supported by GNOME Keyring, KSecretsService and KeePassXC.

The main classes provided are secretstorage.Item, representing a secret item (that has a label, a secret and some attributes) and secretstorage.Collection, a place items are stored in.

SecretStorage supports most of the functions provided by Secret Service, including creating and deleting items and collections, editing items, locking and unlocking collections (asynchronous unlocking is also supported).

The documentation can be found on secretstorage.readthedocs.io.

Building the module

SecretStorage requires these packages to work:

To build SecretStorage, use this command:

python3 setup.py build

If you have Sphinx installed, you can also build the documentation:

python3 setup.py build_sphinx

Testing the module

First, make sure that you have the Secret Service daemon installed. The GNOME Keyring is the reference server-side implementation for the Secret Service specification.

Then, start the daemon and unlock the default collection, if needed. The testsuite will fail to run if the default collection exists and is locked. If it does not exist, the testsuite can also use the temporary session collection, as provided by the GNOME Keyring.

Then, run the Python unittest module:

python3 -m unittest discover -s tests

If you want to run the tests in an isolated or headless environment, run this command in a D-Bus session:

dbus-run-session -- python3 -m unittest discover -s tests

Get the code

SecretStorage is available under BSD license. The source code can be found on GitHub.

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

SecretStorage-3.3.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SecretStorage-3.3.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file SecretStorage-3.3.0.tar.gz.

File metadata

  • Download URL: SecretStorage-3.3.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0+

File hashes

Hashes for SecretStorage-3.3.0.tar.gz
Algorithm Hash digest
SHA256 30cfdef28829dad64d6ea1ed08f8eff6aa115a77068926bcc9f5225d5a3246aa
MD5 8ad088a571bfdedfccaae70eabfc08fb
BLAKE2b-256 ec6e2b7f0a6d85e20c918cce50ea89e5f72081d56088c98c4fa71e483c3b2826

See more details on using hashes here.

File details

Details for the file SecretStorage-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: SecretStorage-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0+

File hashes

Hashes for SecretStorage-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c36f6537a523ec5f969ef9fad61c98eb9e017bc601d811e53aa25bece64892f
MD5 cd972c237ad5bfece53844d14e33b837
BLAKE2b-256 63a2a6d9099b14eb5dbbb04fb722d2b5322688f8f99b471bdf2097e33efa8091

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