[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "passkey"
version = "0.1.0"
description = "Passkey Authentication for Web Services"
authors = [
    {name = "Leo Vasanko"},
]
dependencies = [
    "fastapi[standard]>=0.104.1",
    "websockets>=12.0",
    "webauthn>=1.11.1",
    "base64url>=1.0.0",
    "sqlalchemy[asyncio]>=2.0.0",
    "aiosqlite>=0.19.0",
    "uuid7-standard>=1.0.0",
    "pyjwt>=2.8.0",
]
requires-python = ">=3.10"

[project.optional-dependencies]
dev = [
    "ruff>=0.1.0",
]

[tool.ruff]
target-version = "py39"
line-length = 88
select = ["E", "F", "I", "N", "W", "UP"]
ignore = ["E501"]  # Line too long

[tool.ruff.isort]
known-first-party = ["passkey"]

[project.scripts]
passkey-auth = "passkey.fastapi.__main__:main"

[tool.hatch.build]
artifacts = ["passkeyauth/frontend-static"]
targets.sdist.hooks.custom.path = "scripts/build-frontend.py"
