# htpasswd [](http://travis-ci.org/thesharp/htpasswd)
## Description htpasswd is a library for working with htpasswd user (only basic authorization) and group files. It supports CRYPT and MD5 encryption methods. To actually use MD5 encryption method you MUST have an openssl binary installed into system $PATH.
## Dependencies - Python 2.7 or 3.3 or 3.4 - [orderedmultidict](http://pypi.python.org/pypi/orderedmultidict/0.7) >= 0.7 - [future](https://pypi.python.org/pypi/future) - [nose](http://pypi.python.org/pypi/nose/) >= 1.1.2 (for tests)
- ## Sample usage
import htpasswd
- with htpasswd.Basic(“/path/to/user.db”) as userdb:
- try:
userdb.add(“bob”, “password”)
- except htpasswd.basic.UserExists, e:
print e
- try:
userdb.change_password(“alice”, “newpassword”)
- except htpasswd.basic.UserNotExists, e:
print e
- with htpasswd.Group(“/path/to/group.db”) as groupdb:
- try:
groupdb.add_user(“bob”, “admins”)
- except htpasswd.group.UserAlreadyInAGroup, e:
print e
- try:
groupdb.delete_user(“alice”, “managers”)
- except htpasswd.group.UserNotInAGroup, e:
print e
To use MD5 encryotion, add mode="md5" to the constructor:
with htpasswd.Basic(“/path/to/user.db”, mode=”md5”) as userdb
## Provided methods
### Basic - __contains__(user) - users - add(user, password) - pop(user) - change_password(user, password) - _encrypt_password(password)
### Group - __contains__(group) - groups - is_user_in(user, group) - add_user(user, group) - delete_user(user, group)
## Exceptions
### UserExists Raised by Basic.add if user already exists.
### UserNotExists Raised by Basic.delete and Basic.change_password if there is no such user.
### GroupNotExists Raised by Group.delete_user if there is no such group.
### UserAlreadyInAGroup Raised by Group.add_user if user is already in a group.
### UserNotInAGroup Raised by Group.delete_user if user isn’t in a group.
### UnknownEncryptionMode Raised by _encrypt_password if mode is not ‘crypt’ or ‘md5’.
Metadata
Release files for htpasswd 2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| htpasswd-2.3.tar.gz | 3.8 kB | Without provenance | Details for htpasswd-2.3.tar.gz |
Release files / htpasswd-2.3.tar.gz
| Download URL | htpasswd-2.3.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
565f0b647a32549c663ccfddd1f501891daaf29242bbc6174bdd448120383e3d
|
|
BLAKE2b-256 checksum How to use checksums |
b92f8b76f8b77125b75c3532966f3291f9e8787268be65fc4c9694887cba9375
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for htpasswd 2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.