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)
  • Regressions — regressions.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 publish → asv-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.

Metadata

Release files for asv-tachyon 0.5.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asv-tachyon 0.5.8
File Size Uploaded
asv_tachyon-0.5.8.tar.gz 6.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for asv-tachyon 0.5.8
File Interpreter ABI Platform
asv_tachyon-0.5.8-py3-none-any.whl Python 3 none any Details

Total release size: 7.1 MB

Release files / asv_tachyon-0.5.8.tar.gz

Download URL asv_tachyon-0.5.8.tar.gz
Size 6.4 MB
Tags Source
SHA-256 checksum
How to use checksums
36c42b522a03b43e112b238c375aa993ea8bc91dd06ca56212c0440db1dbbf57
BLAKE2b-256 checksum
How to use checksums
b4095e5d7181df956a88272af7ba88067d0c95eff61087abffe94dff6f2fecbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / asv_tachyon-0.5.8-py3-none-any.whl

Download URL asv_tachyon-0.5.8-py3-none-any.whl
Size 724.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a06641c1af3ea74dec38072a8195186d178f3aaeee1ca4a618328b540cd500fe
BLAKE2b-256 checksum
How to use checksums
9a1bb22defed43204f097bacb6ec714ce8a1970d4e0ff4a086d0a1663bf497e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.5.8 This release

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

1 release file

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page