| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| [build-system] |
| requires = ["hatchling"] |
| build-backend = "hatchling.build" |
| |
| [project] |
| name = "github-rollup" |
| version = "0.1.0" |
| description = "Append to (or create) the status-rollup comment on a GitHub issue without bringing the rollup body into agent context." |
| readme = "README.md" |
| requires-python = ">=3.11" |
| license = { text = "Apache-2.0" } |
| dependencies = [] |
| |
| [project.scripts] |
| github-rollup = "github_rollup:main" |
| |
| [tool.hatch.build.targets.wheel] |
| packages = ["src/github_rollup"] |
| |
| [tool.ruff] |
| line-length = 110 |
| target-version = "py311" |
| src = ["src", "tests"] |
| |
| [tool.ruff.lint] |
| select = ["E", "W", "F", "I", "B", "UP", "SIM", "C4", "RUF"] |
| ignore = ["E501"] |
| |
| [tool.ruff.lint.per-file-ignores] |
| "tests/**" = ["B", "SIM"] |
| |
| [tool.mypy] |
| python_version = "3.11" |
| files = ["src", "tests"] |
| warn_unused_ignores = true |
| warn_redundant_casts = true |
| warn_unreachable = true |
| check_untyped_defs = true |
| no_implicit_optional = true |
| disallow_untyped_defs = true |
| disallow_incomplete_defs = true |
| |
| [[tool.mypy.overrides]] |
| module = "tests.*" |
| disallow_untyped_defs = false |
| disallow_incomplete_defs = false |
| |
| [tool.pytest.ini_options] |
| minversion = "8.0" |
| addopts = "-ra -q" |
| testpaths = ["tests"] |
| |
| [dependency-groups] |
| # Shared static-analysis + test toolchain, pinned to the same versions as the |
| # workspace root so every sub-project's own environment is self-contained. |
| # The workspace checks run each tool via `uv run --directory <member> |
| # --project . python -m <tool>` — see tools/dev/run-workspace-check.sh. |
| dev = [ |
| "mypy>=2.1.0", |
| "pytest>=9.1.1", |
| "ruff>=0.15.20", |
| ] |