Install & Compatibility
Where this runs
tested against v0.9.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 92.9MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 5.0s · import 0.000s · 93MB
93MB installed
● package 93MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
WebAuthnDevice
✓ from django_otp_webauthn import WebAuthnDevice
✗ from django_otp_webauthn import WebAuthnDevice
Minimal setup: add to INSTALLED_APPS, backend, and configure relying party.
INSTALLED_APPS = [
...
'django_otp',
'django_otp_webauthn',
]
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'django_otp_webauthn.backends.WebAuthnBackend',
]
OTP_WEBAUTHN_RP_NAME = 'My App'
OTP_WEBAUTHN_RP_ID = 'example.com'
OTP_WEBAUTHN_ORIGIN = 'https://example.com'
Upgrade
Version history
0.9.0latest on PyPI · released Jun 8, 2026
Audit
Dependencies
django-otprequiredCore OTP framework integration
djangorequiredDjango ORM and admin integration
webauthnrequiredWebAuthn protocol handling
cryptographyrequiredKey handling and attestation