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.1.tar.gz (11.4 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.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anyeval_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for anyeval_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2dc438f4212ce06f3a4d7bfac24f0dfa7277de325029d93022a836c1cf9736ec
MD5 066db520acb0f44ef590f55ddf6c03f0
BLAKE2b-256 d71ed47f671267dcaac2070395ce631ebfa199542e5d53553acfbdc5fccc9230

See more details on using hashes here.

Provenance

The following attestation bundles were made for anyeval_cli-1.0.1.tar.gz:

Publisher: publish-cli.yml on AnyEvalOrg/anyeval-app

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: anyeval_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for anyeval_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9de3dd2a9d98c3409e37f02e840e412f546eef7d781c436b2bd3c69f66b70d7b
MD5 a4f715f0fb32ae4a934219c38fec22eb
BLAKE2b-256 1a6fabab3b5f380e566db2c6d38a9371ea8b5c4ae05a5287d17c746dbcc26ba4

See more details on using hashes here.

Provenance

The following attestation bundles were made for anyeval_cli-1.0.1-py3-none-any.whl:

Publisher: publish-cli.yml on AnyEvalOrg/anyeval-app

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

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