pass-cli
A secure command-line password manager with sudo authentication.
Features
- Secure password storage with AES-256 encryption
- Generate strong random passwords
- Store and retrieve passwords for different services
- Sudo authentication for added security
- Secure encryption key management
- System keyring integration
Installation
pip install password-cli
Quick Start
- Initialize the password manager:
pass-cli init
This will prompt you to set up your encryption key or generate a secure random one.
- Authenticate with sudo:
pass-cli auth
Usage
Generate Passwords
Generate a random secure password:
pass-cli generate -l 16
Generate and store a password:
pass-cli generate -l 16 -s github -u johndoe
Store Passwords
Store an existing password:
pass-cli store -s github -u johndoe -p your-password
Retrieve Passwords
Retrieve a stored password:
pass-cli retrieve -s github -u johndoe
Check Authentication
Check sudo authentication status:
pass-cli auth-check
List Passwords
List all stored passwords:
pass-cli list
List passwords for a specific service:
pass-cli list -s github
Delete Passwords
Delete a stored password (with confirmation):
pass-cli delete -s github -u johndoe
Delete a stored password without confirmation:
pass-cli delete -s github -u johndoe --force
Security Features
- AES-256 encryption for all stored passwords
- PBKDF2 key derivation with high iteration count
- Secure random password generation using
secretsmodule - System keyring integration for encryption key storage
- Sudo authentication requirement for all operations
- Local storage only - no cloud sync for enhanced security
- Safe deletion with confirmation mechanism
Development Setup
- Clone the repository:
git clone https://github.com/yourusername/pass-cli.git
cd pass-cli
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- Run tests:
pytest
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with Click
- Uses cryptography for secure encryption
- Integrates with system keyring using keyring
Metadata
Release files for password-cli 0.1.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 | |
|---|---|---|---|
| password_cli-0.1.6.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| password_cli-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.6 kB
Release files / password_cli-0.1.6.tar.gz
| Download URL | password_cli-0.1.6.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f4e0c015be654ee7c3f9689e049bbfda012cfbc5b47fb018fa0b7c2c7fdac3c
|
|
BLAKE2b-256 checksum How to use checksums |
20f8654f39f860f62b23ab657fa97b664c8d729cec08f247e65077a9d80c5270
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / password_cli-0.1.6-py3-none-any.whl
| Download URL | password_cli-0.1.6-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f574aee7258e309c6b5f4ad778f5eafbfc82d2a15ae8d99254687b553962d190
|
|
BLAKE2b-256 checksum How to use checksums |
9222b925399d5f09c38257da12e58da3688dca641dd1a157da7ea51633e4b17e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|