Skip to main content

nemu3

Nemu (Netwok EMUlator) is a small Python library to create emulated networks and run and test programs in them.

Different programs, or copies of the same program, can run in different emulated nodes, using only the emulated network to communicate, without ever noticing they all run in the same computer.

Nemu provides a very simple interface to create nodes, connect them arbitrarily with virtual interfaces, configure IPv4 and IPv6 addresses and routes, and start programs in the nodes. The virtual interfaces also support emulation of delays, loss, and reordering of packets, and bandwidth limitations.

You can even start interactive sessions by opening xterms on different nodes, Nemu has special support for forwarding X sessions to the emulated nodes.

More advanced configurations, like setting up netfilter (iptables) rules, starting VPN tunnels, routing daemons, etc, are simply supported by executing the appropriate commands in the emulated nodes, exactly as if they were executed in real machines in a real network.

All this is achieved with very small overhead, thanks to the Linux kernel's network name spaces capabilities, part of the bigger Linux containers project.

To get a feeling of what you can do with Nemu, take a peek at this sample script that creates 3 interconnected nodes, runs some tests and then starts xterms running tcpdump so you can see the packets flowing from one node to the other.

Nemu was started as a research project at INRIA (Institut de Recheche en Informatique et Automatique, a French research institution) and this Python 3 port was done by and is still maintained by Nexedi.

Metadata

Release files for nemu3 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nemu3 0.4
File Size Uploaded
nemu3-0.4.tar.gz 51.1 kB Details

Release files / nemu3-0.4.tar.gz

Download URL nemu3-0.4.tar.gz
Size 51.1 kB
Tags Source
SHA-256 checksum
How to use checksums
885a8166c97019460e9cd974288b6a82a82bfcc1ecece02b6542d12f7dde244c
BLAKE2b-256 checksum
How to use checksums
eae4f4ab31b1d8c4444d66141e7691b0fe3474d438cae0cc5a36f2082f13e58d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.4 This release

1 release file

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