Skip to main content

iperf3-lib

CI PyPI Python

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)

Source distribution for iperf3-lib 0.4.0
File Size Uploaded
iperf3_lib-0.4.0.tar.gz 714.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iperf3-lib 0.4.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

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