SecretStorage
Python bindings to FreeDesktop.org Secret Service API
Install
secretstorage on PyPI
pip
pip install secretstorageuv
uv add secretstoragepoetry
poetry add secretstoragePackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — cryptography, jeepney |
| Maintenance | aging — 263 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: secretstorage-3.5.0-py3-none-any.whl
About SecretStorage
from the package's own PyPI description — quoted content, verbatim
.. image:: https://github.com/mitya57/secretstorage/workflows/tests/badge.svg :target: https://github.com/mitya57/secretstorage/actions :alt: GitHub Actions status .. image:: https://codecov.io/gh/mitya57/secretstorage/branch/master/graph/badge.svg :target: https://codecov.io/gh/mitya57/secretstorage :alt: Coverage status .. image:: https://readthedocs.org/projects/secretstorage/badge/?version=latest :target: https://secretstorage.readthedocs.io/en/latest/ :alt: 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,
KWallet (since version 5.97) 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.
The documentation can be found on secretstorage.readthedocs.io_.
.....
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Provides Python bindings to the FreeDesktop Secret Service API, enabling secure storage and retrieval of passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.
Low friction installation with only two runtime dependencies (cryptography and jeepney). Maintenance status is aging—263 days since last release—but the repository remains active with recent commits and the package is marked Production/Stable.
BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, requiring only preservation of copyright and license notices.
Usage
pip install secretstorage
import secretstorage
collection = secretstorage.get_default_collection()
item = collection.create_item('label', {'secret': 'value'}, secret=b'password')
Requires Python ≥3.10 and a running Secret Service daemon (e.g., GNOME Keyring); primarily for Linux/POSIX systems with D-Bus support.
Verdict: Stable, low-friction package for integrating with system secret managers on Linux. No known vulnerabilities and permissive licensing make it safe to adopt. Aging maintenance (263 days since release) is typical for a mature, focused library; active repository signals ongoing support. Best suited for applications needing secure credential storage on POSIX systems.
Needs verification
- Whether the 263-day release gap reflects intentional stability or reduced maintenance capacity
- Compatibility with non-GNOME Secret Service implementations beyond KWallet and KeePassXC
- Performance characteristics under high-volume secret operations
Similar packages
permissive · top 1,000 on PyPI
jeepneypermissive · top 1,000 on PyPI
sphinxcontrib-devhelppermissive · top 1,000 on PyPI
PyOTPpermissive · top 1,000 on PyPI
google-cloud-secret-managerpermissive · top 1,000 on PyPI
azure-keyvault-secretspermissive · top 1,000 on PyPI
cryptographypermissive · top 100 on PyPI
py-key-value-aiopermissive · top 1,000 on PyPI
backports.asyncio.runnerpermissive · top 1,000 on PyPI
itsdangerouspermissive · top 1,000 on PyPI