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.5.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.5-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: password_cli-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 603ad03cb8a2dd01615a9b47a8dc34bbec7a971f14b580b472b9cbbbba6f8ed6
MD5 9769cc4c28875bdfaeb8d84de21c2376
BLAKE2b-256 6fd4f76932693451aa36594097c67bf604967b5a58fb9e3232abb60c95f2cd9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: password_cli-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5642c8f4f8e3e9b168aa9d9056438af323f57b27ed514202ed6cf7633b48376e
MD5 cb8d8396d03e030a4c68902c189f9563
BLAKE2b-256 6d419a0c82eb082dd0f7a52562ac53ffe9d281783334cb9d1764a410e02a6cb4

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