CLPM: A Command-Line Password Manager.
Table of Contents
About
CLPM is a is an easy-to-use out-of-the-box password manager accesible solely through the command-line. The passwords are encrypted using 256 bit AES and the master password is hashed using 256 bit SHA-3. The master password is used to generate a key for encryption and for accessing the accounts. The accounts are stored in a local SQL database.
Installation
Requirements
python >= 3.9pip >= 21.1.2
Automatically installed by pip:
Click >= 8.1.3pycryptodome >= 3.14.1prettytable >= 3.3.0
Regular Install
For most, installing this project can be done running pip install clpm,
which pulls the project from PyPI.
Local/Manual Install
If needed, this project can be installed and run locally:
- Clone this project to a local repository.
- Run
python setup.py installNote: setup.py uses pip to install the project as a package on the local system
Uninstall
To uninstall this project, for both remote and local installations, run
pip uninstall clpm
If clpm has been already been initialized, pip won't delete the file
passwords.db which contains all stored account information. This means that
clpm can be reinstalled and still retain the same accounts & master password.
If you wish to completely remove clpm from your device, you must manually remove
passwords.db by either using the rm command or a file explorer.
Usage
Run clpm init to initialize the database. A prompt & confirmation will appear
to input a master password. The master password is required for to access
the database for all commands. In fact, all commands - including init - accept
a --password argument for the master password instead of a prompt.
Note: clpm will not work unless a master password is set through clpm init
first.
Add Account
To add an account to the database, run clpm add. After a prompt to input the
master password, a menu will appear that requests input for account name,
username, email, tag and password. Bolded fields are required. If the field
is not required, press Enter to leave it empty. At any point, press q to
terminate the command.
Each Account includes an automatically generated id that iterates for each added account.
Remove Account
To remove an account from the database, run clpm delete ID where ID is the
accounts id. Once again, a prompt to input the master password will appear.
Query Database
To query the database, run clpm query. This command alone will simply output
all accounts and information. Use arguments to search by attributes:
-l/--allserve the same purpose asclpm querywith no arguments.-a/--accounts ACCOUNTsearch for accounts with the account field ACCOUNT.-t/--tags TAGsearch for accounts that with the tag field TAG.-i/--ids IDretrieves the acccount with an id field of ID.
Reset
To reset the database (i.e, remove all accounts and master password), run
clpm reset. A confirmation prompt as well as a master password prompt will
appear. This will clear passwords.db but leave the file on the system.
Note: after reset, clpm will not work unless it is reinitialized.
TODO
- Encrypt all account information rather than just passwords.
- Revamp menu.
- Fix double init/reset error.
- Clear terminal history after query/add.
Metadata
Release files for clpm 1.3.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| clpm-1.3.6.tar.gz | 7.3 kB | Without provenance | Details for clpm-1.3.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clpm-1.3.6-py3-none-any.whl | Python 3 | none | any | Details for clpm-1.3.6-py3-none-any.whl |
Total release size: 14.8 kB
Release files / clpm-1.3.6.tar.gz
| Download URL | clpm-1.3.6.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ca1529f5c2e31be12da9470ea6b307ff39c4f24ce87144dba5b8743550718d8
|
|
BLAKE2b-256 checksum How to use checksums |
d8f92643a222b049f3eea9b5a876646a3ba694fa7c2ab752636f2554a5c8e4b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
|
Release files / clpm-1.3.6-py3-none-any.whl
| Download URL | clpm-1.3.6-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3879db872b2eb47d2b2b9025aa7365024c1878a05bfa5ddccde76aa30df80e3b
|
|
BLAKE2b-256 checksum How to use checksums |
6ca3a4dc5e77a0554821034882e84a373d232fdcd06f51221e9496905703f616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
|
Security for clpm 1.3.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.