[build-system] requires = ["hatchling==1.27.0"] build-backend = "hatchling.build" [project] name = "shd-game-data-capture" version = "0.1.0" description = "Local, privacy-preserving game-data capture utility contracts." requires-python = ">=3.12,<3.13" license = { text = "UNLICENSED" } authors = [{ name = "SHD.build" }] dependencies = [ "fastapi==0.115.12", "jinja2==3.1.6", "python-multipart==0.0.20", "uvicorn==0.34.0", ] [project.scripts] shd-capture = "game_data_capture.cli:main" [dependency-groups] dev = [ "httpx==0.28.1", "jsonschema==4.25.1", "mypy==1.15.0", "pytest==8.3.5", "ruff==0.11.0", "types-jsonschema==4.25.1.20251009", ] [tool.hatch.build.targets.wheel] packages = ["src/game_data_capture"] [tool.ruff] target-version = "py312" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM", "RUF"] [tool.mypy] python_version = "3.12" strict = true mypy_path = ["src"] warn_unreachable = true [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] addopts = "-ra"