perfall-cli
perfall-cli is the standalone client package for uploading benchmark artifacts to Perfall. It is a lightweight client that can be installed independently of the server.
Install from PyPI:
pip install perfall-cli
Supported commands currently live under perfall ingest and cover:
pytest-benchmark
go-test
google-benchmark
jmh
criterion
benchmarkdotnet
vitest
Regression gating is available on every ingest adapter via the shared flags:
perfall ingest pytest-benchmark \ --file benchmark.json \ --api-key "$PERFALL_API_KEY" \ --testbed "github-actions-ubuntu-24.04-python-3.12" \ --baseline-branch master \ --baseline-window 5 \ --fail-on-regression-percent 5
That upload still publishes the run, then compares each metric against the recent compatible baseline-branch samples (five by default), aggregates them with a median, and exits non-zero when the threshold is exceeded. Latency and cost metrics are lower-is-better; normalized throughput metrics such as ops/s, B/s, and items/s are higher-is-better, so a throughput drop past the threshold fails the gate. A metric warms up without failing until the selected baseline window is available; pass --baseline-window 1 to explicitly compare only the latest sample.
Use --testbed for CI gates to keep runner or container changes from comparing unlike results. Pick a stable explicit value such as github-actions-ubuntu-24.04-python-3.12; a changed testbed warms up without failing until it has enough history. Omitting --testbed preserves the legacy unscoped baseline behavior for existing workflows.
For example, gate a JMH throughput benchmark exactly as you would a latency benchmark:
perfall ingest jmh --file jmh-results.json --api-key "$PERFALL_API_KEY" \ --baseline-branch master --fail-on-regression-percent 5
Local development:
python -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -e .[testing] pytest
Release files for perfall-cli 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| perfall_cli-0.1.3.tar.gz | 22.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perfall_cli-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.9 kB
Release files / perfall_cli-0.1.3.tar.gz
| Download URL | perfall_cli-0.1.3.tar.gz |
|---|---|
| Size | 22.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bee3ef5ff505e4ed748a41a0d30175f29d7b3c78b130c1f345c5c6c6653539ee
|
|
BLAKE2b-256 checksum How to use checksums |
c61ac022e8969b98208d1c11a2165abed869ed49e53e5a272c3433ae527f8671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / perfall_cli-0.1.3-py3-none-any.whl
| Download URL | perfall_cli-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dbf2f4a1f85d7d55a777d94e3c6f609cc10b90a4f044654dbfe595d102d75496
|
|
BLAKE2b-256 checksum How to use checksums |
951706a08fd5c9869f8914ca1da22e2e19f9c0fc957d3745ae5f776f4485b938
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log