Skip to main content

# htpasswd [![Build Status](https://secure.travis-ci.org/thesharp/htpasswd.png)](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)

Source distribution for htpasswd 2.3
File Size Uploaded
htpasswd-2.3.tar.gz 3.8 kB Details

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

Release history Release notifications | RSS feed

This release

2.3 This release

1 release file

2.1

1 release file

2.0

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page