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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file laxate-0.2.0.tar.gz.
File metadata
- Download URL: laxate-0.2.0.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb269649caf68d98dfe4a5164a35d00f7f99f6b1d3bf50ef37df946dc4caae3b
|
|
| MD5 |
61eb74fdaee3385a2257ee497ba1531b
|
|
| BLAKE2b-256 |
5f6e243e8bbb110baa5d9cc1baa4574e31e17ea56c17d8f21c21391cc107fc35
|
File details
Details for the file laxate-0.2.0-py3-none-any.whl.
File metadata
- Download URL: laxate-0.2.0-py3-none-any.whl
- Upload date:
- Size: 34.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ff278fb411e94d03451b8f1d91dee2d79856d5a6c3768fcbe91ffbe3b5343e0
|
|
| MD5 |
fad1b4d6cd2c32487922a1dc4fa9bc97
|
|
| BLAKE2b-256 |
af80bc9937c09d16eaf72237de23df4d9846871f73260d9f1e48188935723245
|