| # 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 = "skill-evals" |
| version = "0.1.0" |
| description = "Behavioral eval harness for Apache Magpie skills." |
| readme = "README.md" |
| requires-python = ">=3.11" |
| license = { text = "Apache-2.0" } |
| dependencies = [] |
| |
| [project.scripts] |
| skill-eval = "skill_evals.runner:main" |
| |
| [tool.hatch.build.targets.wheel] |
| packages = ["src/skill_evals"] |
| |
| [tool.ruff] |
| line-length = 110 |
| target-version = "py311" |
| src = ["src"] |
| # Eval fixtures are test *data*, not source. `report.md` files simulate what a |
| # contributor actually pasted into an issue or PR — single quotes, missing |
| # blank lines, and all. Ruff 0.16 began formatting Python inside Markdown |
| # fenced blocks, which would rewrite those bodies into house style and change |
| # the exact input the model is graded on. Several of these are prompt-injection |
| # cases whose whole point is that the untrusted text reaches the model verbatim. |
| # Formatting them would be a silent fixture edit, so the tree is excluded. |
| extend-exclude = ["evals/**/fixtures/**"] |
| |
| [tool.ruff.lint] |
| select = ["E", "W", "F", "I", "B", "UP", "SIM", "C4", "RUF"] |
| ignore = ["E501"] |
| |
| [tool.pytest.ini_options] |
| minversion = "8.0" |
| addopts = "-ra -q" |
| |
| [dependency-groups] |
| # The shared toolchain (mypy, pytest, ruff) comes from `magpie-dev` |
| # (tools/dev), declared once for the whole workspace. The checks run each tool |
| # via `uv run --directory <member> --project . python -m <tool>` — see |
| # tools/dev/run-workspace-check.sh. |
| dev = ["magpie-dev"] |