Metadata-Version: 2.4
Name: django-lokdown
Version: 1.1.0
Summary: Reusable Django app for TOTP and WebAuthn two-factor authentication
Author-email: Loknus Labs LLC <loknuslabs@gmail.com>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/loknuslabs/django-lokdown
Project-URL: Documentation, https://github.com/loknuslabs/django-lokdown#readme
Project-URL: Repository, https://github.com/loknuslabs/django-lokdown
Keywords: django,2fa,totp,webauthn,passkey,authentication
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.1
Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Security
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Django>=5.1
Requires-Dist: django-ratelimit>=4.1.0
Requires-Dist: djangorestframework>=3.16.1
Requires-Dist: djangorestframework-simplejwt>=5.5.1
Requires-Dist: drf-spectacular>=0.28.0
Requires-Dist: pyotp>=2.9.0
Requires-Dist: qrcode>=8.2
Requires-Dist: webauthn>=2.6.0
Requires-Dist: Pillow>=11.3.0
Requires-Dist: cryptography>=43.0.0
Requires-Dist: django-allauth[headless]>=65.0.0
Provides-Extra: dev
Requires-Dist: django-cors-headers>=4.7.0; extra == "dev"
Requires-Dist: black==26.5.1; extra == "dev"
Requires-Dist: flake8>=7.3.0; extra == "dev"
Requires-Dist: pytest>=8.4.0; extra == "dev"
Requires-Dist: pytest-django>=4.11.0; extra == "dev"
Requires-Dist: pip-audit>=2.9.0; extra == "dev"
Dynamic: license-file

# Django Lokdown

A reusable Django package for Two-Factor Authentication (TOTP, WebAuthn passkeys), JWT APIs, optional user API keys, admin 2FA, and optional social login (OAuth).

**Full documentation:** [lokdown/README.md](lokdown/README.md)

**Detailed authentication workflows:** [lokdown/docs/AUTHENTICATION.md](lokdown/docs/AUTHENTICATION.md)

## Quick install

```bash
pip install django-lokdown
```

```python
INSTALLED_APPS = ["lokdown", ...]
# urls.py: path("api/", include("lokdown.urls"))
```

## Local development

```bash
pip install -e ".[dev]"
cd example && python manage.py migrate && python manage.py runserver
```

See [lokdown/README.md — Local development](lokdown/README.md#local-development-example-project).
