A simple and secure password manager built in Python.
Project description
Password Manager in Python
This is a Python-based password manager that helps you securely store and manage your passwords. With features like password generation, account storage, retrieval, updating, and deletion, this tool is perfect for individuals looking to manage their passwords securely and efficiently.
Key Features:
- Generate Strong Passwords: Automatically generate strong, secure passwords of customizable lengths.
- Store Accounts: Add new accounts and their corresponding passwords securely to the database.
- Retrieve Accounts: Get the saved information of a specific account when needed.
- Update Account Details: Update the password for an existing account.
- Remove Accounts: Delete accounts you no longer need from the database.
- Display All Accounts: View all stored accounts and their passwords.
Here are the instructions you can provide to others for installing and using your
psmgrproject:
Installation
To install psmgr, run this command below:
pip install psmgr
Usage
Once installed, you can use psmgr directly from the command line.
Global
$ psmgr --help
usage: psmgr [-h] [--remove RM_ACCOUNT] [--generate GENERATE] [--get GET_ACCOUNT] [--update UPDATE_ACCOUNT] [-v]
{add-account,display-accounts} ...
Password manager allowing to:
- Generate a strong password (length ≥ 12)
- Save a password for an account
- Retrieve account information
- Delete an account - Update an account's password
positional arguments:
{add-account,display-accounts}
add-account Add a new account
display-accounts Display all accounts information
options:
-h, --help show this help message and exit
--remove RM_ACCOUNT, --rm RM_ACCOUNT
Remove account by ID
--generate GENERATE Generate a new password
--get GET_ACCOUNT Get information of an account
--update UPDATE_ACCOUNT
Update an account's information
-v, --version show program's version number and exit
Add a new account:
Global usage
$ psmgr add-account --help
usage: psmgr add-account [-h] --ptf PLATFORM --uname USERNAME --pswd PASSWORD
options:
-h, --help show this help message and exit
--ptf PLATFORM Platform name for the new account (ex: Facebook, Instagram)
--uname USERNAME Username for the new account
--pswd PASSWORD Password for the new account
Params explanations
--ptf PLATFORM→ Platform name (e.g., Facebook, Instagram)--uname USERNAME→ Username used on the platform--pswd PASSWORD→ Password of the account
Example
psmgr add-account --ptf Github --uname my_github_username --pswd my_password
To add my GitHub account where my username is my_github_username and my password is my_password to the database.
⚠️ Username and password must not be empty and should not contain spaces.
Generate a password:
To generate a new password of a specified length:
psmgr --generate 16
Passwords must be at least 12 characters long. Shorter lengths will raise:
psmgr.core.LengthError: Password length must be >= 12 for more security
View all saved accounts:
To display all saved accounts:
psmgr display-accounts
Example
$ psmgr display-accounts
ID PLATFORM USERNAME PASSWORD CREATED_AT UPDATED_AT
3 Threads username E+x'6.w2cV@I 2025-05-15 08:57:16 2025-05-15 10:13:31
4 Udemy johndoe E+x'6.w2cV@I 2025-05-15 08:58:54 2025-05-15 08:58:54
Update an account:
To update the password for an account by its ID:
psmgr --update ID
Example
$ psmgr --update 3
New Password: fubgziygih84fr8086
Password updated successfully.
Remove an account:
To remove an account by its ID:
psmgr --remove-account ACCOUNT_ID
Example
$ psmgr --remove 3
'Threads' removed successfully.
Technologies Used
- Python 3.x: The script is written in Python and leverages standard libraries.
- Argparse: For handling command-line arguments.
- SQLite: For storing account data securely in a local database.
- Pandas: For formatting and displaying account data in a readable tabular format.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please fork the repository, make changes, and submit a pull request.
Optimized for SEO:
- Password Manager Python: A reliable, open-source password manager built with Python.
- Secure password storage: Safely store your passwords with this Python tool.
- Password generator: Create strong passwords with customizable lengths.
Feel free to create issues or pull requests if you'd like to contribute or have suggestions!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psmgr-1.2.0.tar.gz.
File metadata
- Download URL: psmgr-1.2.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae7026c681a39c25b4f0f4c4576a2332e74c6b2b71de5d74c7da66139500e2ff
|
|
| MD5 |
80d9e249d9191459a570d6b21809f0a2
|
|
| BLAKE2b-256 |
e3f057a3c0476c4047b5e9bb2ec335e6b858e924be1b58ad1258389ab1fd276f
|
Provenance
The following attestation bundles were made for psmgr-1.2.0.tar.gz:
Publisher:
python-publish.yml on nanaelie/psmgr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
psmgr-1.2.0.tar.gz -
Subject digest:
ae7026c681a39c25b4f0f4c4576a2332e74c6b2b71de5d74c7da66139500e2ff - Sigstore transparency entry: 213398227
- Sigstore integration time:
-
Permalink:
nanaelie/psmgr@9faa0cfb7d3eb2cb8b3890748a10cfc2d72bd592 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/nanaelie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9faa0cfb7d3eb2cb8b3890748a10cfc2d72bd592 -
Trigger Event:
release
-
Statement type:
File details
Details for the file psmgr-1.2.0-py3-none-any.whl.
File metadata
- Download URL: psmgr-1.2.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7340cd5a48212beaa66071c1081d90ca2a7a743ca02bee9b8788dd670a84a9aa
|
|
| MD5 |
7eeb6a39e866210cb43f9e0f40a9cdb8
|
|
| BLAKE2b-256 |
d4a3e9abc586a646bbda6db6490979a972acd980f33ae77f568e81a7526e36a4
|
Provenance
The following attestation bundles were made for psmgr-1.2.0-py3-none-any.whl:
Publisher:
python-publish.yml on nanaelie/psmgr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
psmgr-1.2.0-py3-none-any.whl -
Subject digest:
7340cd5a48212beaa66071c1081d90ca2a7a743ca02bee9b8788dd670a84a9aa - Sigstore transparency entry: 213398230
- Sigstore integration time:
-
Permalink:
nanaelie/psmgr@9faa0cfb7d3eb2cb8b3890748a10cfc2d72bd592 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/nanaelie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9faa0cfb7d3eb2cb8b3890748a10cfc2d72bd592 -
Trigger Event:
release
-
Statement type: