Skip to main content

anyeval

Check that an AI evaluation repository conforms to the AnyEval standard, and run it end to end to get real numbers.

pipx run anyeval-cli check .

Why

A benchmark score is comparable to another score only when five things match: the model, the provider that served it, the eval, the problem, and the harness. Published numbers routinely state one and omit four, which makes them impossible to reproduce and unsafe to compare — including for whoever published them.

The AnyEval standard is a repository layout and a manifest that make all five recordable. This tool decides whether a repository conforms, so conformance is an objective result rather than a review opinion.

Commands

anyeval check .                  # 27 rules, pass/fail each, exit 1 on failure
anyeval check . --json           # machine-readable, for CI
anyeval spec                     # print the standard
anyeval run . --sample-id 3 --model qwen/qwen3-32b

check never runs your code

It reads files and parses run.py with ast. It does not import or execute anything in the repository, so it is safe to point at a stranger's checkout. The trade is stated plainly: static analysis can confirm that run.py declares --sample-id and refuses glob patterns, not that it honours them at runtime. That is what run is for.

run does run your code

Running an eval is the only way to prove it works, so anyeval run executes the repository's own run.py against a live model and prints the score, tokens, cost, and which provider actually served the request.

It needs a TrustedRouter key in TRUSTEDROUTER_API_KEY. The run is billed to your account; this tool sends the key to nothing but TrustedRouter.

It refuses to start on a non-conforming repository unless you pass --force, because the rules are what stop one problem becoming a full-dataset bill.

The most expensive rule

runner.rejects_globs exists because Inspect matches sample ids with fnmatch and only warns when a glob selects many samples — it errors solely when the filtered set is empty. So --sample-id '*' silently runs the entire dataset while billing for one problem. Every conforming run.py refuses glob metacharacters outright.

Exit status

0 when the repository conforms, 1 when it does not, 2 on a usage error. Suitable for CI.

Submitting an eval

Check it, run it, then email the repository URL to anyeval-submission@trustedrouter.com. See anyeval.com/submit.

You do not have to submit at all — the standard and this tool are open, and neither depends on anyeval.com. A format only usable by its author is not a standard.

Note on the package name

The anyeval name on PyPI belongs to an unrelated project, so this package is published as anyeval-cli. It installs both an anyeval and an anyeval-cli command.

Licence

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anyeval_cli-1.0.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anyeval_cli-1.0.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file anyeval_cli-1.0.0.tar.gz.

File metadata

  • Download URL: anyeval_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for anyeval_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 615f0a612ea127bc77a6d3e171ca3b82c054d59868f15f2794a256a6dfb68dcc
MD5 cb278e61876e396ddf506f0f89726df6
BLAKE2b-256 32caeedf591d645d0d9a8900fe084b27ce391fd266a5dc0173e814097384f4c7

See more details on using hashes here.

File details

Details for the file anyeval_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: anyeval_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for anyeval_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7edfcf7edecfa598f37d317b90115cc2bd94210d4528362f7d743e814c5af31a
MD5 42a531102d2c119a60964107e3cd1868
BLAKE2b-256 bd5fff95bc270a731851a019d02b4daac8608e7b576fd1629239e84e455fdc58

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page