# Python 3.12 package metadata, strict linter, type-checker, and test configuration for the code-composition pack's tested code. [project] name = "code-composition" version = "0.1.0" description = "Tested code of the code-composition seed pack: models emit compact declarative recipes instead of rewriting code, and a deterministic compiler wires prewritten, verified code nodes from a database into an executable DAG." readme = "README.md" requires-python = ">=3.12" license = "MIT" authors = [{ name = "ta-amps" }] dependencies = [ "pydantic>=2.9", "httpx>=0.27", ] [project.scripts] code-composition = "code_composition.cli:main" [dependency-groups] dev = [ "pytest>=8.3", "pytest-timeout>=2.3", "ruff>=0.6", "mypy>=1.11", ] [build-system] requires = ["hatchling>=1.25"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["code_composition"] # Installed packages load the same authored recipes as a checkout (code_composition/recipe_catalog.py). [tool.hatch.build.targets.wheel.force-include] "examples/recipes" = "code_composition/recipes" [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP", "SIM", "RUF", "S", "PT"] ignore = ["S101", "S603", "S607", "E501"] [tool.ruff.lint.per-file-ignores] "tests/**" = ["S105", "S106", "S108", "PT018"] "code_composition/registry.py" = ["S102"] "code_composition/runtime.py" = ["S102"] [tool.mypy] strict = true python_version = "3.12" files = ["code_composition"] plugins = ["pydantic.mypy"] [tool.pytest.ini_options] testpaths = ["tests"] timeout = 180