Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inferencebench_leaderboard-0.0.2.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inferencebench_leaderboard-0.0.2-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

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

Hashes for inferencebench_leaderboard-0.0.2.tar.gz
Algorithm Hash digest
SHA256 797468db6063515e27e086a29f84ccb5c72991881cf4f4fd8d443adaa29e665a
MD5 6a4376bbf78c05399a3a4be8ab0c43f9
BLAKE2b-256 f19f0d0f432d262be2dd2f59031a4d10f9076d34c3d132d112fce9cd7c212dae

See more details on using hashes here.

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

Hashes for inferencebench_leaderboard-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 77a253dac586adb7a7f700e50f2572adeb6ca42e61acb1ec507a9837c25abee9
MD5 675515493cd367c1a7669ee315461c9a
BLAKE2b-256 f2e10fe45b3cf875b23e759c0c8c4848dc620926cc1f5687e2eea1d4f0af9413

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page