A package built for generating passwords
Project description
PyPasserer 🔐
📦 Description
PyPasserer is a lightweight and fun Python package for generating, validating, and analyzing passwords.
It provides developers with simple tools to:
- generate secure passwords
- validate password requirements
- estimate password strength
- save passwords to a file
This package is designed as a learning exercise in building, testing, and distributing Python packages.
🚀 Installation
pip install PyPasserer
PyPI: (https://test.pypi.org/project/PyPasser/)
🧪 Usage
Generate a Password
from pypasserer.passwords import generate_password
password = generate_password(length=12) print(password)
Validate a Password
from pypasserer.passwords import validate_password
validate_password("Abc123!") # True validate_password("abc") # False
Check Password Strength
from pypasserer.passwords import password_strength
strength = password_strength("Abc123!") print(strength)
Save a Password
from pypasser.passwords import password_save
password_save("Abc123!")
📚 Functions
generate_password(...)
- Generates a password with customizable options (length, lowercase, uppercase, digits, symbols)
- Guarantees at least one character from each selected category
validate_password(...)
- Validates password requirements:
- minimum length
- lowercase letters
- uppercase letters
- digits
- symbols
- Returns True or False
- Raises TypeError if password is not a string
password_strength(password)
- Estimates how long it would take to crack a password
- Returns a float between 0 and 1
- Raises Exception if password contains spaces
password_save(password, path="saved_passwords.txt")
- Saves password to a file
- Returns True on success, False on failure
💻 Example Program
See examples/demo.py for a complete script demonstrating all features.
🛠️ Development Setup
git clone https://github.com/swe-students-spring2026/3-package-clouded_leopard.git cd 3-package-clouded_leopard
pipenv install pipenv install -e .
pipenv run pytest
🔁 Workflow (Contributing)
- git checkout -b feature/your-feature-name
- git add .
- git commit -m "Describe your changes"
- git push -u origin feature/your-feature-name
- Open a Pull Request
👥 Contributors
⚙️ Configuration
No environment variables are required.
🧾 License
See LICENSE file for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypasserer-1.0.0.tar.gz.
File metadata
- Download URL: pypasserer-1.0.0.tar.gz
- Upload date:
- Size: 42.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22800028748e05da99d538abf688f6c7711c7c37e819670f4ddb4a5385ed3368
|
|
| MD5 |
815f8604d54304db44cebbdd8b91937d
|
|
| BLAKE2b-256 |
66b7c264b4932d945daa94d333c648c9e1c51dfd981bc9e04957a160cacab905
|
File details
Details for the file pypasserer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pypasserer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19f038526ee2d9038d0c466b73f1040b41053e6ad8f88f64dd2fc31e3646c33d
|
|
| MD5 |
980d27baefdadf678a01ae77fc6a0740
|
|
| BLAKE2b-256 |
69ffe41268c5b4ea6d6daf1b778516488d3cdd405aba83e76c095c03e7d7582d
|