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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pwdmanager-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91afda1a2af409a467ad516c539d8a7e5ce119567f613f437407ef1e59ab65af |
|
MD5 | a679b6930eeaf250231e6392d1d7333a |
|
BLAKE2b-256 | 1d4a6ca05f94ed191148890a4a3e1eeaacee1e7aa21ec8495221e4fcf525913e |