[project] name = "photoanalyzer" version = "0.1.0" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115", "uvicorn>=0.30", "sqlalchemy>=2.0", "alembic>=1.13", "pydantic>=2.7", ] [project.optional-dependencies] test = [ "pytest>=8", "httpx>=0.27", "pillow>=10", "numpy>=1.26", "scipy>=1.11", "playwright>=1.40", "pytest-playwright>=0.4", ] # Browser end-to-end tests also require: python -m playwright install chromium [tool.ruff] line-length = 100 [tool.pytest.ini_options] testpaths = ["tests"] markers = [ "phase_b: Phase B end-to-end acceptance (US02-07) — API, worker-recovery, and browser journeys", "phase_c: Phase C end-to-end acceptance (US03-05) — album proposal API and browser journeys", "phase_d: Phase D end-to-end acceptance (US04-06) — guarded rename API, fault, and browser journeys", ]