Skip to main content

asv-tachyon

asv-tachyon

Modern web UI for airspeed velocity results.

PyPI Python License: MIT Docs

ASV’s built-in site is still jQuery + Flot + Bootstrap 3. asv-tachyon is a drop-in shell over the same static data that asv publish already writes (index.json, graphs/**, regressions.json). No server-side app, no new result format, no second benchmark type.

asv-tachyon Overview — performance atlas with sparklines

Overview — sparkline tiles over published ASV graphs

Gallery

Compare (spyglass-style ratios) Inventory (SBOM-style env lock)
Compare view Inventory view
Env or revision pairs · Before / After / Ratio · factor gate added · removed · version-bumped · drop result JSON files
Tool Job
asv run benchmarks, write results, asv publish data
asv-tachyon modern UI over that published tree
asv-spyglass CLI compare + SBOM-style env-diff on result files
asv-perch PR comment tables (CI)
asv_bench_tachyon sample_* metric plugin (separate package)

Install

pip install asv-tachyon
# or from a checkout after building the UI once
cd web && npm install && npm run build && cd ..
pip install -e .

Usage

asv run
asv publish
asv-tachyon serve .asv/html --open

Or replace the legacy index.html in place (keeps all graph JSON):

asv publish
asv-tachyon install .asv/html
asv-tachyon serve .asv/html

Demo without a project:

asv-tachyon serve fixtures/sample_site --open

What you get

  • Overview — virtualized sparkline atlas, type/machine filter chips with counts, only-regressed filter, light/dark themes
  • Explore — uPlot with CI bands, brush zoom, dual-cursor delta, tag markers, commit tooltips (commits.json), distribution violin/strip when samples exist, Report subview, multi-machine overlay, profile link (profiles.json)
  • Heatmap — last-N revision ratios ("what regressed"); click opens Explore
  • Grid — multi-param summary table at latest revision
  • Multiples — small-multiples sparkline wall
  • Compare — multi-env compare-many columns from graph_param_list, or revision pairs (same factor semantics as asv compare / asv-spyglass)
  • Regressionsregressions.json table with factor threshold + mute list (localStorage key asv-tachyon-mute)
  • Inventory — SBOM-style env lock diffs (added / removed / version-bumped)
  • Copy deep link — copies location.href including hash filters
  • Print / PDF — print CSS for Compare / Inventory / Explore
  • Throughput / higher-is-better when type is track, unit contains ops, or less_is_better: false in benchmark meta
  • Self-hosted fonts (offline-safe; no Google Fonts CDN)
  • Same data contract as the stock ASV site — see docs/source/data-contract.rst for index.json + graphs/** + regressions.json shapes

Optional sidecars (static)

File Role
commits.json { "<fullhash>": "subject" } or { "by_revision": { "12": "msg" } } for chart tooltips
profiles.json { "paths": { "<bench>@<rev>": "profiles/foo.html" } } — Explore "Open profile"
Extended graph points [rev, { "v", "lo"?, "hi"?, "samples"? }] for CI bands + distribution
samples/<same path as graph> sibling { "revision": [samples...] } if not inlined

Adapters

Import foreign benchmark JSON into a minimal ASV html tree:

python adapters/criterion_to_asv.py path/to/target/criterion -o asv_html
python adapters/pytest_benchmark_to_asv.py bench.json -o asv_html
asv-tachyon serve asv_html --open

CI template

See docs/workflows/asv-studio.yml for a commented GitHub Actions outline: asv publishasv-tachyon install → Pages; PR path with asv-perch / asv-spyglass; local spyglass recipe.

Development

# terminal 1: static data
asv-tachyon serve fixtures/sample_site -p 8765

# terminal 2: vite (optional hot reload)
cd web && npm install && npm run dev

Docs site (Sphinx + Shibuya):

pip install -e '.[docs]'
sphinx-build -b html docs/source docs/build/html

License

MIT.

Download files

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

Source Distribution

asv_tachyon-0.5.3.tar.gz (6.3 MB view details)

Uploaded Source

Built Distribution

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

asv_tachyon-0.5.3-py3-none-any.whl (702.1 kB view details)

Uploaded Python 3

File details

Details for the file asv_tachyon-0.5.3.tar.gz.

File metadata

  • Download URL: asv_tachyon-0.5.3.tar.gz
  • Upload date:
  • Size: 6.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for asv_tachyon-0.5.3.tar.gz
Algorithm Hash digest
SHA256 3e8ff27b49140ea0ef0ff6cad55556c2cbcf6ce5b0d2e7aaef8335234a74de6b
MD5 42bb9451a9051f79912d21b3e6b7f3c2
BLAKE2b-256 bd9bf6d980022c8cacb0e66baa705d6b662404a55bf389cb55eeb83b61b00517

See more details on using hashes here.

File details

Details for the file asv_tachyon-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: asv_tachyon-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 702.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for asv_tachyon-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 061a2af0db527417b2ef9abd0844584b3b89e8179c4d258dc29163c7c19e450d
MD5 1bda3c884a1ded8c3739220882e25551
BLAKE2b-256 ca24fc7782813eea4b9db2426cfd05034fb5636e57c3e147305326e30e29f8d4

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