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.1.0.tar.gz (17.3 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.1.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file inferencebench_leaderboard-0.1.0.tar.gz.

File metadata

  • Download URL: inferencebench_leaderboard-0.1.0.tar.gz
  • Upload date:
  • Size: 17.3 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.1.0.tar.gz
Algorithm Hash digest
SHA256 396f6a602eee78011c4567e6c56cbce10d6071a402a3108f5988f1731d1803f0
MD5 c9518bacab6ed12a33344da1b05b7eda
BLAKE2b-256 2986adfc592cfa819b00fe4927c8ea97d3182ea3376a3d9ea794c0a63e5c90c6

See more details on using hashes here.

File details

Details for the file inferencebench_leaderboard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: inferencebench_leaderboard-0.1.0-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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbd16cef741ec85eb1bd902b09814eb0f09b5ad877068a7aaf4e36e1978cb7b7
MD5 3f1c3fbf24114384c3a4628243071250
BLAKE2b-256 30871f3c7b43792e9f038515cba9381e7dbd1f145aeffbd4d77e08a1708f8c24

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