Skip to main content

GPG Keyring

Simple keyring implementation using gpg to store encrypted credentials on the file system.

Setup

  1. Install this package (f.e. into a virtual environment)

  2. Create the file as specified by keyring diagnose. The output should look similar to this:

     config path: <HOME-FOLDER>/.config/python_keyring/keyringrc.cfg
     data root: <HOME-FOLDER>/.local/share/python_keyring
    
  3. Use this snippet to configure this keyring backend as default:

     [backend]
     default-keyring=gpg_keyring.GpgKeyring
    
  4. Configure your e-mail address in the file ~/.gpg_keyring/gpg_keyring.conf:

     [settings]
     email = john.doe@domain.com
    

Now you should be able to use the gpg_keyring backend using commands like this:

  • keyring set <service> <username> to set a password
  • keyring get <service> <username> to retrieve the password
  • keyring del <service> <username> to delete an entry

Internals

Credentials and local settings are all stored in your home directory in the directory ~/.gpg_keyring/:

  • gpg_keyring.conf: configuration file for this plugin
  • <SHA256-hash>: credentials for the service. The service name is turned into a SAH-256 hash and used to as the name of the file containing the credentials.

The content of the credentials files is a base64 encoded cipher text of the following json structure:

    {
        "username": "<username>",
        "password": "<password>"
    }

... the user name <username> and the password <password> previously set via keyring set <service> <username> with the password <password> provided via stdin.

Metadata

Release files for gpg-keyring 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gpg-keyring 0.1.1
File Size Uploaded
gpg_keyring-0.1.1.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gpg-keyring 0.1.1
File Interpreter ABI Platform
gpg_keyring-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.2 kB

Release files / gpg_keyring-0.1.1.tar.gz

Download URL gpg_keyring-0.1.1.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ef439f1ae60a0226d90deb7fcd299854cdbe7a7056ccf148955caf594aaeaff5
BLAKE2b-256 checksum
How to use checksums
d4e8bc87eaf73e801c1a03eec282ee7040e2ae83495408a4e0431a53221508fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / gpg_keyring-0.1.1-py3-none-any.whl

Download URL gpg_keyring-0.1.1-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b4cc2b7a4a71d5dc178ce3173b652082a93a6020a18815f2a573ce4859fdf13a
BLAKE2b-256 checksum
How to use checksums
b58c691f49a8c77aa2bf2561d4b3dc8ac1907241945e8e9630329a3e62eeebe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page