laxate
Run Benched benchmark suites in an existing local environment, Docker or Podman container, or ephemeral Hetzner Cloud server.
Laxate owns environment and machine orchestration. Benched owns pytest-benchmark execution, durable history, comparison, and static reports. Neither tool constructs a matrix implicitly: select or prepare one environment, then record it.
Install
pip install laxate
pip install "laxate[hetzner]" # optional cloud provider
Run locally
Add [tool.benched] configuration and pytest-benchmark tests to the target project,
then run:
laxate run local
laxate run local --quick --machine workstation
laxate compare previous latest
laxate publish
laxate preview
Run in a container
The project directory is bind-mounted at the same absolute path. Initialization commands must install the project and Benched into the container:
laxate run docker \
--image python:3.12 \
--init-command "pip install -e ." \
--machine docker-3.12
Use --engine podman for Podman and repeat --mount for additional bind mounts.
Run on Hetzner
Configure benchmark_repo in [tool.laxate], export HCLOUD_TOKEN, and register the
SSH public key named by --ssh-key-name:
laxate run hetzner \
--server-type cx23 \
--ssh-key ~/.ssh/hetzner_key \
--ssh-key-name benchmarks \
--branch main \
--python-version 3.12 \
--push
The runner clones the selected benchmark-suite branch, creates its Python environment,
runs the repository's make benchmark target, and collects the configured results
directory.
See CLI and configuration reference for every option.
Historical ASV files are not executed. Projects migrating old results can call
benched import-asv once before using Laxate's Benched workflow.
Metadata
Release files for laxate 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| laxate-0.2.0.tar.gz | 25.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| laxate-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.5 kB
Release files / laxate-0.2.0.tar.gz
| Download URL | laxate-0.2.0.tar.gz |
|---|---|
| Size | 25.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb269649caf68d98dfe4a5164a35d00f7f99f6b1d3bf50ef37df946dc4caae3b
|
|
BLAKE2b-256 checksum How to use checksums |
5f6e243e8bbb110baa5d9cc1baa4574e31e17ea56c17d8f21c21391cc107fc35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / laxate-0.2.0-py3-none-any.whl
| Download URL | laxate-0.2.0-py3-none-any.whl |
|---|---|
| Size | 34.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ff278fb411e94d03451b8f1d91dee2d79856d5a6c3768fcbe91ffbe3b5343e0
|
|
BLAKE2b-256 checksum How to use checksums |
af80bc9937c09d16eaf72237de23df4d9846871f73260d9f1e48188935723245
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|