Freehand Kit Auth
freehand-kit-auth provides configurable Django REST Framework authentication
workflows for Django applications. The import package and INSTALLED_APPS entry is
fk_auth.
Status: stable 1.x. The supported baseline is Python 3.11+, Django 5.2–6.0, and Django REST Framework 3.17.2–3.17.x. Production deployment still requires the host to configure shared throttling storage, SMTP, secrets, and HTTPS.
Intended scope
- Registration and email verification.
- Email and/or username login, logout, password reset, password change, and a current-user endpoint.
- First-class support for the host's default or custom Django user model, with explicit safe field selection for registration, profile responses, updates, and token claims.
- DRF SimpleJWT access and refresh tokens, including either HMAC or RSA key configuration.
- Link, high-entropy token, Redis-backed email OTP, or no email verification.
- OpenAPI 3 schema annotations and mountable Swagger UI routes.
OAuth, social sign-in, OIDC, SAML, passkeys, tenancy, and full RBAC are explicitly outside this package's first release scope.
Installation
# After the package is published to PyPI:
python -m pip install freehand-kit-auth
# For Redis-backed OTP verification:
python -m pip install "freehand-kit-auth[redis]"
# For RSA JWT signing and verification:
python -m pip install "freehand-kit-auth[crypto]"
INSTALLED_APPS = [
# Host applications own the rest of this list.
"rest_framework",
"drf_spectacular",
"rest_framework_simplejwt.token_blacklist",
"fk_auth",
]
The host application sets FREEHAND_KIT_AUTH in its Django settings and includes the
package URLs. See the configuration guide for the working
contract. The library does not read .env files itself; the host resolves environment
variables before constructing its Django settings.
Development
cd freehand-kit-auth
python -m pip install -e ".[dev]"
pytest
ruff check .
python -m build
twine check dist/*
The GitHub Actions workflow runs the supported Python/Django matrix, linting, typing, package validation, dependency auditing, and a PostgreSQL/Redis/Mailpit integration test.
Project status
The current package implements registration, configurable email verification/resend,
email/username login, JWT refresh/verify/logout, password reset and change, and a
safe custom-user me endpoint. Roles, email-change, account deletion, OAuth/SSO,
and MFA remain deferred capabilities.
License
MIT. See LICENSE.
Metadata
Release files for freehand-kit-auth 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freehand_kit_auth-1.0.0.tar.gz | 46.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freehand_kit_auth-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.9 kB
Release files / freehand_kit_auth-1.0.0.tar.gz
| Download URL | freehand_kit_auth-1.0.0.tar.gz |
|---|---|
| Size | 46.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
435409a8e3a598ae554d0d6cd353136dc0e076f015ff26d761af8cccb59185b3
|
|
BLAKE2b-256 checksum How to use checksums |
33b310dee8421c32d56e933ec8bffb58433176e76ae3fd42ce0beef8ad6993b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / freehand_kit_auth-1.0.0-py3-none-any.whl
| Download URL | freehand_kit_auth-1.0.0-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d8be792590e1e6638ea7b1346bc4ce244816385e89a6282daf5437122999b9b
|
|
BLAKE2b-256 checksum How to use checksums |
a155fe10b863fe5aef8dbe2a27bd000d07ae060e544724f526035d362625e308
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log