libpass
Fork of passlib, a comprehensive password hashing framework supporting over 30 schemes
What it is and what it does
Libpass is a password hashing library for Python 3 that centralizes support for over 30 password hashing algorithms under a single, consistent API. It handles both hashing new passwords and verifying existing hashes, making it useful for tasks ranging from validating system files to implementing full-strength password storage in multi-user applications.
The library is distributed as a pure-Python wheel with no runtime dependencies, keeping installation lightweight. It supports Python 3.9 through 3.13 and is licensed permissively under BSD. The package is classified as Alpha and has been maintained since 2024-09-11; it is a fork of an upstream project.
Use it for:
- Hash and verify user passwords in web applications or APIs using a configurable hashing scheme.
- Migrate or validate existing password hashes from legacy systems by supporting multiple algorithms.
- Implement two-factor authentication workflows that require secure password verification alongside TOTP.
- Verify password hashes from system files or htpasswd files for administrative tools.
- Support htdigest authentication schemes in HTTP-based applications or services.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A password hashing library providing implementations of over 30 password hashing algorithms and a framework for hashing and verifying passwords across different schemes.
Yes, if you need a straightforward, dependency-free password hashing library with broad algorithm support. The permissive BSD license and low install friction make it accessible. However, verify whether this fork is actively maintained and confirm that the specific hashing schemes you need are production-ready rather than legacy.
Install
libpass on PyPI
pip
pip install libpassuv
uv add libpasspoetry
poetry add libpassInstalling libpass
Before you install
Low install friction with no runtime dependencies. Maintenance status is aging—last commit was 2025-10-27 and the package reached version 1.9.3 on 2025-10-09, roughly 309 days before the fact sheet date. The repository is not archived and has 40 stars.
License in practice
Licensed under BSD (permissive), which allows commercial and private use with minimal restrictions, making it suitable for most application contexts.
Quickstart
pip install libpass
from passlib.context import CryptContext
context = CryptContext(schemes=["sha512_crypt"])
hash = context.hash("password")
is_valid = context.verify("password", hash)
Requires Python 3.9 or later.
Verify before relying
- Whether this fork is actively maintained or if upstream is the recommended source.
- Performance characteristics or benchmarks for the 30+ supported hashing schemes.
- Whether all schemes are equally production-ready or if some are legacy/deprecated.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 309 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 554,451/month — #6,034 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: libpass-1.9.3-py3-none-any.whl
Keywords: 2fa, apache, argon2, bcrypt, crypt, hash, htdigest, htpasswd, md5-crypt, passlib, password, pbkdf2, scrypt, secret, security, sha256-crypt, sha512-crypt, totp
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
passlibPasslib provides a framework for hashing and…
permissive · top 1,000 on PyPI
pwdlibProvides a modern, easy-to-use wrapper for…
permissive · top 5,000 on PyPI
types-passlibProvides type stubs for the passlib…
permissive · top 5,000 on PyPI
Flask-BcryptFlask-Bcrypt wraps the bcrypt password-hashing…
permissive · top 5,000 on PyPI
bcryptbcrypt provides modern password hashing using…
permissive · top 1,000 on PyPI
argon2-cffiProvides a simple Python interface to Argon2, a…
permissive · top 1,000 on PyPI
AuthEncodingAuthEncoding provides a framework for creating,…
unclear · top 15,000 on PyPI
murmurhashProvides fast MurmurHash2 hashing through…
permissive · top 1,000 on PyPI
siphashProvides a Python implementation of SipHash, a…
permissive · top 15,000 on PyPI
hashringImplements consistent hashing in Python using…
permissive · top 15,000 on PyPI