Skip to main content

A simple and secure tool to store passwords

Project description

GitHub Actions pypi version PyPI - Python Version GitHub license

A simple and secure tool to store passwords


pyKeyring is a tool to store encrypted passwords in a simple database file.


Using pip

You need Python 3 installed on your system.

The latest release can be installed from pypi via pip:

foo@bar:~# pip install pykeyring

Manual Installation

Manual installation allows you to run the latest development version from this repository.

pyKeyring depends on TinyDB and Criptography to run.

You can install pyKeyring with all dependecies by running:

foo@bar:~# python install


pyKeyring is very simple to use.

Create a database

foo@bar:~$ -f /path/to/keyring.db create

The default database file is named keyring.db. If you don’t use the -f argument, pyKeyring will use this name. You can use the -F argument to specify the storage format, BSON (default) or JSON.

Insert a password

foo@bar:~$ add password_label

The password_label is used to label your password :)

Get a password

foo@bar:~$ get password_label

If you don’t want to print the password in the terminal you can use the argument -c to copy the password to clipboard.

foo@bar:~$ get -c password_label

Update a password

foo@bar:~$ update password_label

Remove a password

foo@bar:~$ remove password_label

Generate a random password

foo@bar:~$ generate

If you want to save this with a label you only need to use the -s (–save) argument.

foo@bar:~$ generate -s label

You can limit the characteres used to generate the password using the arguments:

  • -l length, –length length

    The length for the generated password [default=12]

  • -u, –no-uppercase

    Don’t use uppercase chars in the password

  • -ll, –no-lowercase

    Don’t use lowercase chars in the password

  • -d, –no-digits

    Don’t use digits in the password

  • -p, –no-punctuation

    Don’t use punctuation chars in the password

  • -e except_chars, –except-chars except_chars

    Don’t use these chars in the password

To generate an 8 digits password you can use:

foo@bar:~$ generate -u -ll -p -l 8

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

pyKeyring-0.6.tar.gz (6.8 kB view hashes)

Uploaded source

Built Distribution

pyKeyring-0.6-py3-none-any.whl (9.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page