[project] name = "sagaphone-backend" version = "0.1.0" description = "Sagaphone backend — family-tree simulation, narration, and TTS streaming API." readme = "README.md" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115", "uvicorn[standard]>=0.32", "anthropic>=0.40", ] [dependency-groups] dev = [ "ruff>=0.8", "pyright>=1.1.390", "pytest>=8.3", "pytest-asyncio>=0.24", "httpx>=0.27", ] [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM"] [tool.pyright] include = ["app", "tests"] typeCheckingMode = "strict" pythonVersion = "3.12" [[tool.pyright.executionEnvironments]] root = "tests" reportUnknownMemberType = false reportUnknownVariableType = false reportUnknownParameterType = false reportMissingParameterType = false reportMissingTypeStubs = false [tool.pytest.ini_options] testpaths = ["tests"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["app"]