[project] name = "nexamfa-backend" version = "0.1.0" description = "Self-hosted Push MFA service with OIDC provider support" requires-python = ">=3.12" dependencies = [ "alembic==1.13.2", "asyncpg==0.29.0", "cryptography==42.0.8", "fastapi==0.111.0", "google-auth==2.30.0", "httpx==0.27.0", "prometheus-client==0.20.0", "pydantic-settings==2.3.4", "pyjwt[crypto]==2.8.0", "python-jose[cryptography]==3.3.0", "python-multipart==0.0.9", "qrcode[pil]==7.4.2", "redis==5.0.7", "slowapi==0.1.9", "sqlalchemy[asyncio]==2.0.31", "uvicorn[standard]==0.30.1" ] [project.optional-dependencies] test = [ "aiosqlite==0.20.0", "pytest==8.2.2", "pytest-asyncio==0.23.7", "pytest-cov==5.0.0" ] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py312"