Skip to main content

A secure command-line password manager with sudo authentication

Project description

pass-cli

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

List Passwords

List all stored passwords:

pass-cli list

List passwords for a specific service:

pass-cli list -s github

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.4.tar.gz (12.1 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.4-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: password_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 12.1 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.4.tar.gz
Algorithm Hash digest
SHA256 6a7d37e7e1a59fb2e45a575d9bfb30ef841bd5beed79872b801858934847121c
MD5 a7960c96f8703e1ae9d844c1e0676179
BLAKE2b-256 bfd3a3f81c688a0ce80e2c8d5bc3e77f3a7435bfd149350dc7d69b9e24571e8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: password_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1590df7f1b9f564700c6fe6e20d6020889870abd8e583170ee495615bc3365fb
MD5 4bb634e335b1bf9d88614ce9692eefee
BLAKE2b-256 74fdfbb91782023b8fb527f9406c1a46f3fc07a51d9421b408b01fbffdb5ab2c

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