Eval harness with golden management for the ABI ecosystem
Project description
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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abi_evals-0.1.2.tar.gz.
File metadata
- Download URL: abi_evals-0.1.2.tar.gz
- Upload date:
- Size: 98.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5705d309f3fce2a3636452ec7e3c474fe5701385fd99b9b0345a71750eb5ce9
|
|
| MD5 |
bd706c7879579fa53db16a8b0e86b39a
|
|
| BLAKE2b-256 |
65b1d1323cfa41d75f10f3f48c9697f1053d58823a560744b77efa49adc433be
|
Provenance
The following attestation bundles were made for abi_evals-0.1.2.tar.gz:
Publisher:
publish.yml on AbilityBI/abi-evals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
abi_evals-0.1.2.tar.gz -
Subject digest:
d5705d309f3fce2a3636452ec7e3c474fe5701385fd99b9b0345a71750eb5ce9 - Sigstore transparency entry: 1102553211
- Sigstore integration time:
-
Permalink:
AbilityBI/abi-evals@19338a091e691d942eefb33ee5726ce0c74c4f26 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/AbilityBI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@19338a091e691d942eefb33ee5726ce0c74c4f26 -
Trigger Event:
push
-
Statement type:
File details
Details for the file abi_evals-0.1.2-py3-none-any.whl.
File metadata
- Download URL: abi_evals-0.1.2-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
709e646d32dc9dd877e46d0283b6bed3b7abcff03b917f1e3c967d5da87b8e76
|
|
| MD5 |
1cf9da3fc3cea7e0b00864c45def3b9e
|
|
| BLAKE2b-256 |
da7b0e6860ac9eb428d0aec1eca20663d827e24c0bcd63919821e6bb5556d872
|
Provenance
The following attestation bundles were made for abi_evals-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on AbilityBI/abi-evals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
abi_evals-0.1.2-py3-none-any.whl -
Subject digest:
709e646d32dc9dd877e46d0283b6bed3b7abcff03b917f1e3c967d5da87b8e76 - Sigstore transparency entry: 1102553213
- Sigstore integration time:
-
Permalink:
AbilityBI/abi-evals@19338a091e691d942eefb33ee5726ce0c74c4f26 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/AbilityBI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@19338a091e691d942eefb33ee5726ce0c74c4f26 -
Trigger Event:
push
-
Statement type: