Static-site leaderboard renderer for signed InferenceBench envelopes
Project description
inferencebench-leaderboard
Static-site renderer that turns a directory of signed InferenceBench envelope
JSONs into a plain HTML+CSS+JSON leaderboard suitable for GitHub Pages
(https://yobitelcomm.github.io/bench). Vendor-neutral, no JavaScript
frameworks; the only client-side code is a ~40-line vanilla sorter for the
tables.
Install (workspace)
This package is a uv workspace member of the root bench/ monorepo:
# bench/pyproject.toml
[tool.uv.workspace]
members = [..., "tools/leaderboard"]
Then uv sync from the repo root.
Build a site
python -m inferencebench_leaderboard build envelopes/ site/
# or
inferencebench-leaderboard build envelopes/ site/ --base-url /bench/
envelopes/ must contain *.json files that parse against the canonical
inferencebench.envelope.Envelope Pydantic model. Files that don't parse
are logged and skipped; the rest of the site still renders.
Output layout
site/
index.html — category index
static/site.css — Hacker News-style table CSS
static/sort.js — vanilla sort for tables
envelopes/<file>.json — verbatim copies for `bench verify`
<suite_id>/index.html — per-category table
<suite_id>/<run_id>.html — per-entry detail (verify snippet)
data/leaderboard.json — machine-readable index
Public API
from inferencebench_leaderboard import (
render_site, # main entry point
SiteRenderResult, # return type
load_envelopes, # directory -> [LoadedEnvelope]
compute_pareto, # Pareto-frontier classifier
LoadedEnvelope,
PARETO_DIRECTIONS,
)
compute_pareto accepts per-axis direction={"min","max"} so the same
function works for throughput-vs-latency, latency-vs-cost, etc.
Tests
pytest tools/leaderboard/tests/
Covers: smoke render, Pareto math on synthetic data, schema-validation skipping.
Hosted at GitHub Pages
The marathon corpus committed at
validation-runs/2026-05-18-multi-vendor-marathon/marathon/all/ is rendered
and deployed to https://yobitelcomm.github.io/bench/ by
.github/workflows/deploy-pages.yml. The workflow re-runs on push to main
(when leaderboard code or corpus envelopes change), weekly on schedule, and on
manual dispatch from the Actions tab.
To preview locally before pushing:
uv run bench leaderboard --build \
--envelopes validation-runs/2026-05-18-multi-vendor-marathon/marathon/all \
--out _site --base-url /bench/
python3 -m http.server --directory _site 8080
# open http://localhost:8080/bench/ (note the /bench/ prefix matches --base-url)
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 inferencebench_leaderboard-0.0.2.tar.gz.
File metadata
- Download URL: inferencebench_leaderboard-0.0.2.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
797468db6063515e27e086a29f84ccb5c72991881cf4f4fd8d443adaa29e665a
|
|
| MD5 |
6a4376bbf78c05399a3a4be8ab0c43f9
|
|
| BLAKE2b-256 |
f19f0d0f432d262be2dd2f59031a4d10f9076d34c3d132d112fce9cd7c212dae
|
File details
Details for the file inferencebench_leaderboard-0.0.2-py3-none-any.whl.
File metadata
- Download URL: inferencebench_leaderboard-0.0.2-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77a253dac586adb7a7f700e50f2572adeb6ca42e61acb1ec507a9837c25abee9
|
|
| MD5 |
675515493cd367c1a7669ee315461c9a
|
|
| BLAKE2b-256 |
f2e10fe45b3cf875b23e759c0c8c4848dc620926cc1f5687e2eea1d4f0af9413
|