Skip to content

Development

Use uv for a smooth setup, run tests, and keep a tight feedback loop.

Setup

uv sync --dev

Run

# Web app via CLI (ASGI factory)
uv run authentik-helper serve --factory --reload --port 8000
# Or raw Uvicorn
uv run uvicorn app:app --reload --port 8000

Test

uv run pytest

Project layout

authentik-helper/
  app.py
  core/
  routers/
  services/
  tools/
  web/          # templates, static assets, PWA manifest & sw
  tests/

Notes

  • Error handlers return clean JSON for runtime/transport issues.
  • Middleware adds a per-request ID, access logs, and X-Request-Id.
  • Branding is cached and merged with settings at startup.
  • Footer build info comes from baked metadata, env, or git.