feat: scaffold FastAPI backend with ports-and-adapters layout
This commit is contained in:
parent
adcf4b9df6
commit
1f40d064ad
25 changed files with 973 additions and 22 deletions
44
backend/pyproject.toml
Normal file
44
backend/pyproject.toml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
[project]
|
||||
name = "discovery-backend"
|
||||
version = "0.1.0"
|
||||
description = "LLM-driven music discovery on the Spotify Web API"
|
||||
requires-python = "==3.13.*"
|
||||
dependencies = [
|
||||
"anthropic==0.121.0",
|
||||
"fastapi>=0.116",
|
||||
"httpx>=0.28",
|
||||
"pydantic>=2.11",
|
||||
"pydantic-settings>=2.10",
|
||||
"pyyaml>=6.0",
|
||||
"structlog>=25.4",
|
||||
"uvicorn[standard]>=0.35",
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"mypy>=1.17",
|
||||
"pytest>=8.4",
|
||||
"pytest-asyncio>=1.0",
|
||||
"ruff>=0.12",
|
||||
"types-pyyaml",
|
||||
]
|
||||
|
||||
[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]
|
||||
asyncio_mode = "auto"
|
||||
testpaths = ["tests"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue