Catalog PyPI
PACKAGE EXPLORERView in registry

abi-evals

PyPI

Eval harness with golden management for the ABI ecosystem

Versions collected1
Direct dependencies2From release 0.1.2
Last observed20 Oct, 17:25 UTC

README

Version 0.1.2 documentation

abi-evals

Evaluation harness with failure taxonomy, regression store, and model canary for AI pipeline quality assurance. Works with any Python project — no ABI dependencies required in production.

Zero production dependencies.

Install (after PyPI publication)

pip install abi-evals

Status: Not yet published to PyPI. Install from source: pip install -e . from the repo root.

Quick start

Failure taxonomy

from abi_evals.failure_taxonomy import FailureTaxonomy

# Load a taxonomy from YAML or JSON, or build one programmatically
taxonomy = FailureTaxonomy.from_yaml("failure_types.yaml")

# Classify an error by matching detection probes against error text
matches = taxonomy.classify("Output exceeded token budget")
for failure_type in matches:
    print(failure_type.failure_id)  # e.g., "FT-BUDGET-001"
    print(failure_type.category)    # e.g., "budget"
    print(failure_type.severity)    # e.g., "high"

Model canary

from abi_evals.model_canary import ModelCanary

# Compare a new model version against a baseline
canary = ModelCanary(
    eval_suite_path="evals/suite.json",
    baseline_results_path="evals/baseline_results.json",
)
result = canary.run_canary(new_model_config={"run_id": "canary_test"})
print(result.verdict)          # "PASS" | "WARN" | "FAIL"
print(result.regression_count) # number of regressions detected
print(result.success_rate_delta)

Eval runner (function-based API)

from pathlib import Path
from abi_evals.runner import load_eval_suite, run_suite

suite = load_eval_suite(Path("evals/my_suite.json"))
results = run_suite(suite)

What's included

  • Failure taxonomy -- structured failure classification for clear diagnostics
  • Failure distiller -- converts classified failures into regression eval cases
  • Regression store -- manages storage and deduplication of regression cases
  • Model canary -- validates model version changes against baselines before acceptance
  • Eval runner -- deterministic eval suites with pluggable comparators
  • CI-friendly -- exit codes and JSON output for gating in any CI pipeline

Use it standalone

abi-evals works with any Python project. Point it at your eval suites and failure logs — no ABI ecosystem integration needed.

Within the ABI ecosystem, it integrates with abi-control-core schemas for eval case and result validation.

ABI ecosystem

Related packages:

Versioning

Follows Semantic Versioning. Current version: 0.1.2. See CHANGELOG.md for release notes.

License

MIT License (see LICENSE file).

Downloads & popularity

1downloads
1-day window · source-reported counts17 Oct 2026
24120
2026-07-20: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-07-20–2026-07-202026-07-21: 4 · observed 2026-10-20T21:39:48.1169172Z · period 2026-07-21–2026-07-212026-07-23: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-07-23–2026-07-232026-07-27: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-07-27–2026-07-272026-07-29: 15 · observed 2026-10-20T21:39:48.1169172Z · period 2026-07-29–2026-07-292026-08-01: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-02–2026-08-022026-08-03: 4 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-03–2026-08-032026-08-04: 3 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-04–2026-08-042026-08-06: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-06–2026-08-062026-08-07: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-07–2026-08-072026-08-09: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-09–2026-08-092026-08-13: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-13–2026-08-132026-08-14: 4 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-14–2026-08-142026-08-15: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-15–2026-08-152026-08-17: 5 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-17–2026-08-172026-08-18: 24 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-18–2026-08-182026-08-20: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-20–2026-08-202026-08-23: 3 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-23–2026-08-232026-08-24: 9 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-24–2026-08-242026-08-25: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-25–2026-08-252026-08-31: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-08-31–2026-08-312026-09-01: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-01–2026-09-012026-09-03: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-03–2026-09-032026-09-06: 3 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-06–2026-09-062026-09-07: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-07–2026-09-072026-09-09: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-10–2026-09-102026-09-12: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-12–2026-09-122026-09-14: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-14–2026-09-142026-09-16: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-16–2026-09-162026-09-18: 3 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-18–2026-09-182026-09-24: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-24–2026-09-242026-09-25: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-25–2026-09-252026-09-26: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-26–2026-09-262026-09-27: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-27–2026-09-272026-09-28: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-28–2026-09-282026-09-29: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-29–2026-09-292026-09-30: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-09-30–2026-09-302026-10-06: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-06–2026-10-062026-10-07: 5 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-07–2026-10-072026-10-08: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-08–2026-10-082026-10-09: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-09–2026-10-092026-10-13: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-13–2026-10-132026-10-15: 2 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-15–2026-10-152026-10-17: 1 · observed 2026-10-20T21:39:48.1169172Z · period 2026-10-17–2026-10-17
20 Jul17 Oct

pypistats · 46 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-17 – 2026-10-1712026-10-20T21:39:48.1169172Z
2026-10-15 – 2026-10-1522026-10-20T21:39:48.1169172Z
2026-10-13 – 2026-10-1312026-10-20T21:39:48.1169172Z
2026-10-09 – 2026-10-0912026-10-20T21:39:48.1169172Z
2026-10-08 – 2026-10-0812026-10-20T21:39:48.1169172Z
2026-10-07 – 2026-10-0752026-10-20T21:39:48.1169172Z
2026-10-06 – 2026-10-0612026-10-20T21:39:48.1169172Z
2026-09-30 – 2026-09-3012026-10-20T21:39:48.1169172Z
2026-09-29 – 2026-09-2912026-10-20T21:39:48.1169172Z
2026-09-28 – 2026-09-2812026-10-20T21:39:48.1169172Z
2026-09-27 – 2026-09-2722026-10-20T21:39:48.1169172Z
2026-09-26 – 2026-09-2622026-10-20T21:39:48.1169172Z
2026-09-25 – 2026-09-2512026-10-20T21:39:48.1169172Z
2026-09-24 – 2026-09-2422026-10-20T21:39:48.1169172Z
2026-09-18 – 2026-09-1832026-10-20T21:39:48.1169172Z
2026-09-16 – 2026-09-1612026-10-20T21:39:48.1169172Z
2026-09-14 – 2026-09-1412026-10-20T21:39:48.1169172Z
2026-09-12 – 2026-09-1212026-10-20T21:39:48.1169172Z
2026-09-10 – 2026-09-1012026-10-20T21:39:48.1169172Z
2026-09-09 – 2026-09-0912026-10-20T21:39:48.1169172Z
2026-09-07 – 2026-09-0712026-10-20T21:39:48.1169172Z
2026-09-06 – 2026-09-0632026-10-20T21:39:48.1169172Z
2026-09-03 – 2026-09-0312026-10-20T21:39:48.1169172Z
2026-09-01 – 2026-09-0112026-10-20T21:39:48.1169172Z
2026-08-31 – 2026-08-3122026-10-20T21:39:48.1169172Z
2026-08-25 – 2026-08-2512026-10-20T21:39:48.1169172Z
2026-08-24 – 2026-08-2492026-10-20T21:39:48.1169172Z
2026-08-23 – 2026-08-2332026-10-20T21:39:48.1169172Z
2026-08-20 – 2026-08-2012026-10-20T21:39:48.1169172Z
2026-08-18 – 2026-08-18242026-10-20T21:39:48.1169172Z
2026-08-17 – 2026-08-1752026-10-20T21:39:48.1169172Z
2026-08-15 – 2026-08-1512026-10-20T21:39:48.1169172Z
2026-08-14 – 2026-08-1442026-10-20T21:39:48.1169172Z
2026-08-13 – 2026-08-1322026-10-20T21:39:48.1169172Z
2026-08-09 – 2026-08-0912026-10-20T21:39:48.1169172Z
2026-08-07 – 2026-08-0712026-10-20T21:39:48.1169172Z
2026-08-06 – 2026-08-0612026-10-20T21:39:48.1169172Z
2026-08-04 – 2026-08-0432026-10-20T21:39:48.1169172Z
2026-08-03 – 2026-08-0342026-10-20T21:39:48.1169172Z
2026-08-02 – 2026-08-0212026-10-20T21:39:48.1169172Z
2026-08-01 – 2026-08-0112026-10-20T21:39:48.1169172Z
2026-07-29 – 2026-07-29152026-10-20T21:39:48.1169172Z
2026-07-27 – 2026-07-2712026-10-20T21:39:48.1169172Z
2026-07-23 – 2026-07-2322026-10-20T21:39:48.1169172Z
2026-07-21 – 2026-07-2142026-10-20T21:39:48.1169172Z
2026-07-20 – 2026-07-2012026-10-20T21:39:48.1169172Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.214 Mar 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

NOT_FOUND
abilitybi/abi-evals

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 17:25 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:24cf500a71239e2f454dbedd8839d97afe13f3f867a7b376eb155fe4676bf54b