Skip to main content

command line tool to manage passwords

Project description

Keep your passwords safe and close

This is a command line tool to manage your passwords. Those are stored locally in an encrypted JSON formatted file. The encryption and decryption is performed by GPG. Passwords unlocking is done using a master password.

Benefits of using this program include :

  • use difficult and different passwords to secure your accounts

  • you don’t have to trust third parties for storing your passwords : everything is stored locally

  • provide high end and reliable encryption with GPG

  • it is open source : anybody can check the code

installation

With pip or your favorite package manager:

pip install pwdmanager
pipenv install pwdmanager
poetry add pwdmanager

That’s it.

If you want to build the wheel yourself you have to have poetry installed. Then change directory to the root of the sources and issue:

poetry build

Then you can install the wheel with your favorite package manager:

pip install dist/pwdmanager-XXX-py3-none-any.whl
pipenv install dist/pwdmanager-XXX-py3-none-any.whl
poetry add pwdmanager --path=dist/pwdmanager-XXX-py3-none-any.whl

requirements

You need to have GPG installed.

database

The database is a local JSON file. It is encrypted. At first usage it will be initialised. The default location is ~/.pwddb but you can provide you own location.

concepts

An entry in basically a container for an account information. The password database is a list of entries. An entry has the following attributes:

name

this is an id of the entry. Two entries cannot have the same name.

login

account login

password

account password

login alias

a second or alternative account login

aliases

one entry can have several aliases. Each alias is an id of the entry. Two entries cannot have the same alias. Useful to provide easier to match or remember names

tags

one entry can have several tags. Useful to categorize entries. You can search with tags

creation date

entry creation date. Immutable.

last update date

obvious

usage

usage: pwdmanager [-h] [-d DATABASE] [-p MASTER_PASSWORD]
                    {add,show,list,rm,update} ...

positional arguments:
  {add,show,list,rm,update}

optional arguments:
  -h, --help            show this help message and exit
  -d DATABASE, --database DATABASE
                        specify where the database is located
  -p MASTER_PASSWORD, --master-password MASTER_PASSWORD
                        password to crypt and decrypt the database

There are 5 main commands:

add

to add a new entry

show

to list all the attributes of a particular entry, you have to give the exact name or alias of an entry

list

to look for entries. Can be used without any parameter, in that case all entries will be listed. You can also provide a string, then all the entries with name or aliases containing this string will be listed. You can filter by tag also.

rm

to remove an entry. No confirmation asked, be careful.

update

to modify an entry

For all those commands, use the -h/--help flag to have details about parameters:

pwdmanager add -h

be careful

  • Choose your master password wisely. Do not forget it or you won’t be able to recover your database

  • When adding a password you specify it in the command. Thus it may be stored in the shell history. Therefore I strongly recommend to clean your history after adding passwords. On linux sed -i /^pwdmanager/d ~/.bash_history will do the trick in most cases.

  • When adding a password I recommend you surround it by single quotes because special characters may be interpreted by the shell

  • back your password database up

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

pwdmanager-1.0.0.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

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

pwdmanager-1.0.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file pwdmanager-1.0.0.tar.gz.

File metadata

  • Download URL: pwdmanager-1.0.0.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-23-generic

File hashes

Hashes for pwdmanager-1.0.0.tar.gz
Algorithm Hash digest
SHA256 96ad7628d42868479912ad18e9d86657b0797841bc0fc8fbdad4daff6e11107b
MD5 f083399dd0069e06901a4efbce364cd3
BLAKE2b-256 efa8a2e3355d8bfcccab4653af1e7639c0ad38deb653e6fc23e7d26da640beeb

See more details on using hashes here.

File details

Details for the file pwdmanager-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pwdmanager-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-23-generic

File hashes

Hashes for pwdmanager-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91afda1a2af409a467ad516c539d8a7e5ce119567f613f437407ef1e59ab65af
MD5 a679b6930eeaf250231e6392d1d7333a
BLAKE2b-256 1d4a6ca05f94ed191148890a4a3e1eeaacee1e7aa21ec8495221e4fcf525913e

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