Metadata-Version: 2.4
Name: auth101
Version: 0.1.1
Summary: Lightweight auth package for email/password, pluggable user schema and stores
Author: Elsai
Description-Content-Type: text/markdown
Requires-Dist: passlib[argon2]
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"

# author

`author` is a small Python package to provide email/password authentication with a pluggable user schema and pluggable user storage backends. It uses Argon2 via passlib for password hashing by default.

Quick usage:

```py
from author import Authenticator
from author.models import User

# default in-memory store
auth = Authenticator()
user = auth.register("alice@example.com", "s3cr3t", full_name="Alice")
assert auth.authenticate("alice@example.com", "s3cr3t")

# provide your own factory to accept a different user schema
def my_user_factory(**kwargs):
    return User(**kwargs)

auth2 = Authenticator(user_factory=my_user_factory)
```

See tests for a minimal example.
