snappi-ixnetwork
The Snappi IxNetwork Open Traffic Generator Python Package
What it is and what it does
snappi-ixnetwork is an extension that bridges traffic generation with IxNetwork, allowing you to write test scripts using a unified API and execute them against IxNetwork hardware or simulation. It implements the Open Traffic Generator specification, letting you define network flows, configure layer 1 and protocol properties, control traffic transmission, and collect metrics through a Python interface.
The package depends on ixnetwork-restpy to communicate with an IxNetwork API server, plus supporting libraries for IP address handling (ipaddr, netaddr, ipaddress), packet manipulation (dpkt), and testing infrastructure (pytest-cov, allure-pytest). It is actively developed and production-ready, supporting Python 3.9 through 3.13.
Use it for:
- Automate network traffic testing workflows by scripting flow configuration, transmission, and metric collection against IxNetwork
- Write portable traffic generation tests that can run against multiple Open Traffic Generator implementations
- Validate network device behavior under specific traffic patterns by configuring flows with precise packet counts, rates, and protocol headers
- Integrate traffic generation into CI/CD pipelines for automated network performance and correctness testing
- Collect and validate frame transmission and reception metrics to verify network flow behavior matches expectations
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Executes traffic generation test scripts against IxNetwork, Keysight's implementation of the Open Traffic Generator specification, using a unified Python API.
Yes, if you need to automate traffic generation testing against IxNetwork and want a specification-based API. The package is actively maintained, has low install friction, carries permissive MIT licensing, and supports Python 3.9 through 3.13. Requires an IxNetwork API server to be available and properly configured.
Install
snappi-ixnetwork on PyPI
pip
pip install snappi-ixnetworkuv
uv add snappi-ixnetworkpoetry
poetry add snappi-ixnetworkInstalling snappi-ixnetwork
Before you install
Low install friction; pure Python wheel with no compiled dependencies. Repository is actively maintained with a recent release (8 days old) and ongoing commits. Supports modern Python versions 3.9 through 3.13.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install snappi-ixnetwork
import snappi
api = snappi.api(location='https://localhost:443', ext='ixnetwork')
config = api.config()
tx, rx = config.ports.port(name='tx', location='192.168.0.1;2;1').port(name='rx', location='192.168.0.1;2;2')
api.set_config(config)
Requires access to an IxNetwork API server instance running at the specified location; cannot function standalone without it.
Verify before relying
- Whether ixnetwork-restpy requires a separate IxNetwork server installation or licensing
- Specific IxNetwork versions supported by this extension
- Whether all runtime dependencies (flake8, black, pytest-cov, build) are required at runtime or only for development
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — ipaddr, netaddr, ipaddress, flake8, dpkt, black, pytest-cov, allure-pytest, ixnetwork-restpy, build |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,859/month — #14,401 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: snappi_ixnetwork-1.59.1-py3-none-any.whl
Keywords: snappi, ixnetwork, testing, open traffic generator, automation
Tags
More Traffic Generation packages
Locust is a Python-based load testing framework…
permissive · top 5,000 on PyPI
netaddrRepresents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
seleniumbaseSeleniumBase is a browser automation framework…
permissive · top 5,000 on PyPI
locust-pluginsExtends Locust with plugins for load testing…
permissive · top 5,000 on PyPI
bztTaurus is a command-line wrapper that…
permissive · top 5,000 on PyPI
sbvirtualdisplayProvides a virtual display wrapper for running…
permissive · top 15,000 on PyPI
ixnetwork-restpyA Python client library for automating…
permissive · top 15,000 on PyPI
snappiSnappi is an auto-generated Python SDK for…
permissive · top 15,000 on PyPI
IxNetworkIxNetwork is a Python client library for…
permissive · top 15,000 on PyPI
genie.trafficgenProvides connection implementations to traffic…
permissive · top 15,000 on PyPI
pookpook intercepts and mocks HTTP traffic for…
permissive · top 15,000 on PyPI
tdl-xoa-driverProvides a Python interface to control and…
permissive · top 15,000 on PyPI
paramiko-expectParamiko Expect adds expect-like pattern…
permissive · top 15,000 on PyPI
uwsgitopA terminal monitoring tool that connects to…
permissive · top 15,000 on PyPI
kestraProvides a Python client to interact with…
permissive · top 5,000 on PyPI
snmpsimSNMP Simulator creates a pure-Python SNMP agent…
permissive · top 15,000 on PyPI