Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
68 lines (59 loc) · 2.69 KB
/
Copy pathpyproject.toml
File metadata and controls
68 lines (59 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Copyright Advanced Micro Devices, Inc.
#
# SPDX-License-Identifier: MIT
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "skillscope"
version = "0.1.3"
description = "Routing and behavioral test harness for agent skills."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [{ name = "Advanced Micro Devices, Inc." }]
# Every engine runs under inspect_ai, so it is required rather than optional.
#
# It was an extra while `legacy` existed: that engine was standard library only,
# so a repo that had not migrated installed nothing new. `legacy` is gone, and
# keeping the extra would ship a tool whose two graded commands both fail on a
# plain `pip install` -- which is what CI found, by running the suite without
# extras and getting `ModuleNotFoundError: inspect_ai` from the default engine.
#
# The static commands -- `structural`, `references`, `select`, `list-skills` --
# still import none of it; they are just no longer the only thing that works
# out of the box.
#
# `anthropic` is listed explicitly: inspect-ai treats every model provider as
# optional, so installing it alone gets you a harness that cannot reach a model.
# PyYAML reads the optional evals/machine.yml, which only CI planning touches.
dependencies = [
"pyyaml>=6.0",
"inspect-ai>=0.3.263",
"anthropic>=0.40",
]
[project.optional-dependencies]
# Kept as a name so `skillscope[inspect]` in a downstream workflow or a pinned
# requirements file keeps resolving. It adds nothing now.
inspect = []
# For a runner that has podman rather than docker. The provider registers
# itself through an `inspect_ai` entry point, so installing it is the whole
# setup; `SKILLSCOPE_SANDBOX=podman` then selects it.
podman = ["skillscope[inspect]", "inspect-podman"]
# The Claude Code verification leg (`--engine claude-code`). Kept out of the
# `inspect` extra because it is a reporting-only cross-check, not something a
# graded run needs -- and because it only works on a POSIX guest.
#
# 0.2.71 for `claude_code(effort=)`. Not cosmetic: without it this leg runs at
# the model's default reasoning effort while every other leg runs at the one it
# was given, and the gap between them reads as a fact about isolation. 0.2.70
# raises `TypeError: Unexpected keyword argument(s): effort`, and a runner that
# already had it satisfied the old floor and never upgraded -- so the trial
# installed a version that could not run the leg.
verify = ["skillscope[inspect]", "inspect-swe>=0.2.71"]
[project.scripts]
skillscope = "skillscope.cli:main"
[tool.setuptools]
packages = ["skillscope", "skillscope.engine"]
[tool.setuptools.package-data]
skillscope = ["data/*.json", "schema/*.json"]