feat: scaffold FastAPI backend with ports-and-adapters layout

This commit is contained in:
Justin Visser 2026-08-09 20:58:10 +02:00
parent eee8195662
commit c6a737db96
16 changed files with 685 additions and 0 deletions

37
backend/pyproject.toml Normal file
View file

@ -0,0 +1,37 @@
[project]
name = "discovery-backend"
version = "0.1.0"
description = "LLM-driven music discovery on the Spotify Web API"
requires-python = "==3.13.*"
dependencies = [
"fastapi>=0.116",
"pydantic-settings>=2.10",
"uvicorn[standard]>=0.35",
]
[dependency-groups]
dev = [
"httpx2>=0.1",
"mypy>=1.17",
"pytest>=8.4",
"ruff>=0.12",
]
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "B", "SIM", "RUF"]
[tool.mypy]
python_version = "3.13"
strict = false
warn_unused_ignores = true
[[tool.mypy.overrides]]
module = ["app.domain.*", "app.ports.*", "app.pipeline.*"]
strict = true
[tool.pytest.ini_options]
testpaths = ["tests"]