Skip to main content

A CLI tool for password generation

Project description

PyPass Tool

pypass-tool is a Python-based password management utility that allows users to generate random passwords and store them inside a file for easy recall. It will check for password strength and provide options to adjust the length of the password and exclude specific characters. Users can choose to generate passwords using the command line (CLI), a web browser, or a desktop app.

Contents

Features | Installation | Build from scratch | Usage | Package Usage | Development | Contributing

Features

  • Command-Line Interface (CLI): Default interface for generating and managing passwords from the terminal.
  • Desktop GUI: Simple graphical interface using Tkinter for generating passwords on your desktop.
  • Web Interface: Web-based interface built with Flask for managing passwords through a browser.

Installation

Option 1: Install from PyPI

To install pypass-tool directly from PyPI:

pip install pypass-tool

Option 2: Build from Source

You can also clone the repository and build the package yourself.

  1. Clone the repository and navigate to the project directory:
git clone https://github.com/h471x/password_generator.git
cd password_generator
  1. Build the package:
python setup.py sdist bdist_wheel
  1. Install the package:
pip install dist/pypass_tool-*.whl

Usage

Once the package is installed, you can use the pypass command with different interfaces:

  • CLI Mode (default):

    pypass
    
  • Desktop GUI Mode:

    pypass gui
    
  • Web Interface Mode:

    pypass web
    

    Open your browser and navigate to http://127.0.0.1:5000.

Using as a Package

You can also use pypass-tool as a package in your own scripts. Here's an example:

from pypass import PasswordGenerator

def main():
    # Create an instance of PasswordGenerator
    new_pass = PasswordGenerator()
    
    # Set the desired password length and characters to exclude
    new_pass.set_password_length(16)
    new_pass.exclude_characters("weak12345")

    # Generate the password with the specified settings
    password = new_pass.generate_password()

    # Get the password strength
    strength = new_pass.evaluate_strength(password)
    
    # Print the generated password
    print(f"Generated Password : {password}")

    # print the password strength
    print(f"Password Strength  : {strength}")

if __name__ == "__main__":
    main()

Development

To modify or extend the functionality, ensure you have the required dependencies installed. You can add new features to the CLI, desktop, or web interface as per the structure.

Dependencies

The required dependencies for the project are listed in setup.py:

  • Flask (for the web interface)
  • Tkinter (for the desktop GUI; included with Python)

Install the required dependencies using:

pip install -r requirements.txt

Contributing

Feel free to fork this repository, open issues, or submit pull requests with improvements or bug fixes.

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

pypass-tool-0.2.9.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

pypass_tool-0.2.9-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file pypass-tool-0.2.9.tar.gz.

File metadata

  • Download URL: pypass-tool-0.2.9.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pypass-tool-0.2.9.tar.gz
Algorithm Hash digest
SHA256 348e3527716ca7f79aa7594c9dcd00ec41e28ff0cb84830305656f87a2ed7df3
MD5 dde10ab4a9cc5b5b4cbbe8e9c5f45219
BLAKE2b-256 cc9a6409f91838fc213e8f0a14ce98f956ef5c982b9a5c1f17f85658631c6a00

See more details on using hashes here.

File details

Details for the file pypass_tool-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: pypass_tool-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for pypass_tool-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 83e7bd8b4c2d3367d48d25bc225769009eb3c8988b381fa1dd8159630230b280
MD5 4fff8d33976ac179983fded61a302441
BLAKE2b-256 8dfb3fbbfae7e0c8e3b9b02aba07d7b3d9bc06a3180a9187c8a857cc2fc62e2b

See more details on using hashes here.

Supported by

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