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.
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 bencheval-0.1.1.dev20260910010437.tar.gz.
File metadata
- Download URL: bencheval-0.1.1.dev20260910010437.tar.gz
- Upload date:
- Size: 55.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75afbf37e09c251fb022b618d61a43c8c3d867e796befe54a4b623147921e891
|
|
| MD5 |
47bd5c80ddfde37fe01288a9ccc7ea80
|
|
| BLAKE2b-256 |
7902092d52bc0a114b00f2bb790c92dd8ab69fddb12522eed98ce9c1c94d7e16
|
File details
Details for the file bencheval-0.1.1.dev20260910010437-py3-none-any.whl.
File metadata
- Download URL: bencheval-0.1.1.dev20260910010437-py3-none-any.whl
- Upload date:
- Size: 57.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf0fac971f7fd0b2578c4455e7589bbdad12a20d457c4391cbe1ca938e521816
|
|
| MD5 |
7139d29882e35fb5c99ff57d00be84b9
|
|
| BLAKE2b-256 |
9af1d75a8d3298d7b1cd85cf844bbfb2c52d8a9c7a1d8726c95054cf933076e8
|