Skip to main content

A secure command-line password manager with sudo authentication

Project description

pass-cli

Tests PyPI version Python versions License: MIT

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

  1. Initialize the password manager:
pass-cli init

This will prompt you to set up your encryption key or generate a secure random one.

  1. 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

Security Features

  • AES-256 encryption for all stored passwords
  • PBKDF2 key derivation with high iteration count
  • Secure random password generation using secrets module
  • System keyring integration for encryption key storage
  • Sudo authentication requirement for all operations
  • Local storage only - no cloud sync for enhanced security

Development Setup

  1. Clone the repository:
git clone https://github.com/yourusername/pass-cli.git
cd pass-cli
  1. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or
venv\Scripts\activate     # Windows
  1. Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dev.txt
  1. Run tests:
pytest

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

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

password_cli-0.1.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

password_cli-0.1.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file password_cli-0.1.0.tar.gz.

File metadata

  • Download URL: password_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for password_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 798847052d55bdb4b59a60e905ef0c6674bb37e6eb3005fe8f26f2408abe01ec
MD5 9f66aff4f3589546dfa40ae029545950
BLAKE2b-256 e7af3aad8477b86521ef64ecc0f502e6728cab662cbb293ec19a6e4aaf83e372

See more details on using hashes here.

File details

Details for the file password_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: password_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for password_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 724c978f514ab9c1d50b4192163f1289b415418aa5885068a72c5b73963c7692
MD5 53f7ee761da4ecef873010bbbcab28f2
BLAKE2b-256 f4c0d7a8167bf99cfe26dcdd324cace152d06f6e32be08b4f3b7929b85e7aafa

See more details on using hashes here.

Supported by

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