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:
- abi-control-core -- contracts and audit trail SDK
- abi-policy -- policy evaluation engine
- abi-observability -- OTLP-compliant telemetry
Versioning
Follows Semantic Versioning. Current version: 0.1.2. See CHANGELOG.md for release notes.
License
MIT License (see LICENSE file).
Metadata
Release files for abi-evals 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| abi_evals-0.1.2.tar.gz | 98.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abi_evals-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 130.3 kB
Release files / abi_evals-0.1.2.tar.gz
| Download URL | abi_evals-0.1.2.tar.gz |
|---|---|
| Size | 98.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5705d309f3fce2a3636452ec7e3c474fe5701385fd99b9b0345a71750eb5ce9
|
|
BLAKE2b-256 checksum How to use checksums |
65b1d1323cfa41d75f10f3f48c9697f1053d58823a560744b77efa49adc433be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logRelease files / abi_evals-0.1.2-py3-none-any.whl
| Download URL | abi_evals-0.1.2-py3-none-any.whl |
|---|---|
| Size | 31.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
709e646d32dc9dd877e46d0283b6bed3b7abcff03b917f1e3c967d5da87b8e76
|
|
BLAKE2b-256 checksum How to use checksums |
da7b0e6860ac9eb428d0aec1eca20663d827e24c0bcd63919821e6bb5556d872
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logSecurity for abi-evals 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for abi_evals-0.1.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.