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.
- Clone the repository and navigate to the project directory:
git clone https://github.com/h471x/password_generator.git
cd password_generator
- Build the package:
python setup.py sdist bdist_wheel
- 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 webOpen 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.
Release files for pypass-tool 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypass-tool-0.3.1.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypass_tool-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.7 kB
Release files / pypass-tool-0.3.1.tar.gz
| Download URL | pypass-tool-0.3.1.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a36c61a2d7ceed8eab87181b4d1427eaba4c17b8da18fbd769ec943a0ea48884
|
|
BLAKE2b-256 checksum How to use checksums |
156572f6be04cae0562c63cd69b42509063ff5814b18bcb1feacb4c582bb6519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.9
|
Release files / pypass_tool-0.3.1-py3-none-any.whl
| Download URL | pypass_tool-0.3.1-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47a85ef203b1788f8f2c6ccbe123b7033a41ff6e442886ed69938cc2e505f288
|
|
BLAKE2b-256 checksum How to use checksums |
c210d2aefab0d78536617f22e1d2a84119b2f3e948cb8653561ffd404d2e7ce6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.9
|