This release is a pre-release and may not be stable for production use.
bencheval
Benchmark evaluation for tabular machine learning: turns a table of per-task results into a
leaderboard with Elo, win-rates, average ranks, improvability, and bootstrap confidence intervals.
It is the leaderboard engine behind TabArena and is developed in the
TabArena repository, but it does not depend on the
tabarena package, so any benchmark that produces (method, task, metric_error) rows can use it.
Experimental. The API is still moving. Pin the version you evaluate with; every
tabarenarelease pins the matchingbenchevalrelease.
Install
pip install --pre bencheval # metrics + leaderboards
pip install --pre "bencheval[plot]" # + matplotlib / seaborn / plotly for the plotting mixin
Releases on PyPI are pre-releases for now, so --pre (or uv pip install --prerelease=allow) is
needed. The git checkout is the recommended install for development; see the
TabArena README.
Usage
import pandas as pd
from bencheval.evaluator import BenchmarkEvaluator
# One row per (method, task[, seed]); lower `metric_error` is better.
data = pd.DataFrame(
{
"method": ["A", "B", "A", "B"],
"task": ["t1", "t1", "t2", "t2"],
"seed": [0, 0, 0, 0],
"metric_error": [0.10, 0.12, 0.30, 0.25],
"time_train_s": [1.0, 2.0, 1.5, 2.5],
"time_infer_s": [0.1, 0.2, 0.1, 0.2],
}
)
evaluator = BenchmarkEvaluator(seed_column="seed")
leaderboard = evaluator.leaderboard(data, include_error=True)
print(leaderboard)
examples/plots/run_generate_custom_leaderboard.py in the TabArena repository shows custom
leaderboard metrics, Elo calibration against a reference method, and seed averaging.
License
Apache-2.0. See the LICENSE file shipped with the distribution.
Release files for bencheval 0.1.1.dev20260916003252
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bencheval-0.1.1.dev20260916003252.tar.gz | 55.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bencheval-0.1.1.dev20260916003252-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.9 kB
Release files / bencheval-0.1.1.dev20260916003252.tar.gz
| Download URL | bencheval-0.1.1.dev20260916003252.tar.gz |
|---|---|
| Size | 55.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1eb41f5f86b4bf7e042954b814cc7df752e700d30bc7815c7d04f2f30c940bf5
|
|
BLAKE2b-256 checksum How to use checksums |
9201e868eb5b8e37b665fe09c649b4b494a3094f09278484c51bf8458ab1d590
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / bencheval-0.1.1.dev20260916003252-py3-none-any.whl
| Download URL | bencheval-0.1.1.dev20260916003252-py3-none-any.whl |
|---|---|
| Size | 57.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6dd339b6a86d2bec0345c97ffb1e80f6bbfdb01e5c85f685dcee1acd505a18eb
|
|
BLAKE2b-256 checksum How to use checksums |
52ed6c4b316581b9558378ddffa383baed23cb5d9e91f50362be43603c31a0c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|