iperf3-lib
Documentation · Changelog · Issues
iperf3-lib is a programmable network benchmarking and analysis library powered
by native libiperf through CFFI. Configure clients and servers from Python,
preserve and analyze measurements, run repeatable experiments, and export
results to Prometheus.
Why use iperf3-lib?
Use iperf3-lib when benchmarks feed an application, a repeatable test campaign,
or a monitoring pipeline. Reuse a tested Python API for the work that otherwise
accumulates around subprocess calls or Ansible tasks:
- Configure tests with validated dataclasses, including traffic direction, transport controls, and explicit rate intent.
- Interpret measurements consistently, keeping sender and receiver observations separate, preserving native JSON, and distinguishing missing measurements from measured zero.
- Build on reusable experiments and reports: repeated trials, baseline assessments, bounded parameter sweeps, portable artifacts, and Prometheus output.
The library calls libiperf through CFFI; it does not invoke the iperf3
executable. Some execution paths use isolated Python worker processes. A short
CLI script remains useful for one-off tests, and Ansible can deploy and run
Python benchmark applications across your hosts. See
choosing a Python API, CLI, or Ansible workflow
for the comparison, execution boundaries, and version-specific features.
Getting started
Follow the installation and first-run guide to install the Python package and native library, start a server, and run a benchmark. The Python package does not bundle libiperf. Current native qualification covers libiperf 3.19.1 and 3.22 on Linux; see the compatibility reference.
Python 3.12–3.15 with the standard GIL is supported. Stable CI and release qualification cover all four Python versions against both native endpoints, including installed wheel and sdist checks.
The 0.4.0 candidate is unreleased; 0.3.0 is the latest published version.
Documentation follows main. The installation guide explains how to choose
between a published package and a source revision; consult the
changelog for release
status. Upgrade guidance covers
0.2.0 to 0.3.0
and unreleased changes after 0.3.0.
Documentation
The documentation contains the examples, API contracts, supported versions, and execution limits.
| Topic | Guides and references |
|---|---|
| Run clients and servers | Running tests · Python API |
| Bind interfaces and tune traffic | Native-control recipes · Configuration · Complete native-option inventory |
| Check support and execution limits | Compatibility and native setup · Rate intent and capabilities |
| Interpret and save measurements | Results · Portable artifacts |
| Analyze and compare experiments | Analysis · Trials and baselines · Parameter sweeps |
| Integrate monitoring | Prometheus · Grafana |
Contributing
See the contributor guide for development setup, checks, and repository policies. Use GitHub issues to report bugs or discuss planned work.
Metadata
Release files for iperf3-lib 0.4.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 | |
|---|---|---|---|
| iperf3_lib-0.4.0.tar.gz | 714.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iperf3_lib-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 877.3 kB
Release files / iperf3_lib-0.4.0.tar.gz
| Download URL | iperf3_lib-0.4.0.tar.gz |
|---|---|
| Size | 714.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90f52dfd85c42315fec97cefdb8ed0e6abe89d2a345da95072989154fbd2adde
|
|
BLAKE2b-256 checksum How to use checksums |
dfd558e24f6f4d4fac76df5317283ef1ae1074f51e057abf7b646fb6990fddfb
|
| 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 Oct 11, 2026.
Transparency logRelease files / iperf3_lib-0.4.0-py3-none-any.whl
| Download URL | iperf3_lib-0.4.0-py3-none-any.whl |
|---|---|
| Size | 163.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c98cf0323cbb3f252ca657afb22db6f14fba4d035e592ecdaac7fd391f42de84
|
|
BLAKE2b-256 checksum How to use checksums |
b1d02eca31e36b8396843fefac6f57ef6d641316ab22420e4c448d10692c41dd
|
| 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 Oct 11, 2026.
Transparency log