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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page