39 lines
1.2 KiB
TOML
39 lines
1.2 KiB
TOML
[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
|
|
# The frozen CLI archive is evidence, not code under maintenance (US07-01).
|
|
extend-exclude = ["legacy_cli_archive"]
|
|
|
|
[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",
|
|
"phase_e: Phase E end-to-end acceptance (US05-06) — upload preflight, uploader, and browser journeys",
|
|
"phase_f: Phase F end-to-end acceptance (US06-06) — archive destination, transfer, and restore journeys",
|
|
]
|