Skip to main content

A package built for generating passwords

Project description

PyPasserer 🔐

Build Status

📦 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://pypi.org/project/PyPasserer/)

🧪 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

pypasserer-1.0.4.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypasserer-1.0.4-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file pypasserer-1.0.4.tar.gz.

File metadata

  • Download URL: pypasserer-1.0.4.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

Hashes for pypasserer-1.0.4.tar.gz
Algorithm Hash digest
SHA256 c535bcd0f6f8473ec8a983a8fc27a18425cf6770cf4ed2e0c5fd348ea7e60fc6
MD5 87056473c1bee07b239ea9dc6dd2f049
BLAKE2b-256 7672db8f6cff9d481c017ac59650c0a88a51cd0cebc5ee4143c54753475295f1

See more details on using hashes here.

File details

Details for the file pypasserer-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: pypasserer-1.0.4-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

Hashes for pypasserer-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9c740500bd579be63e5339ea1f94600c7197a90b32319a3d6ff78a78e61a5952
MD5 efdda6f5e152c32295fff74582a13dde
BLAKE2b-256 19508280e439d7800f79b506d79070faccb867cf17c444ff78e028596820d32e

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