Skip to main content

pymnl (rhymes with hymnal) is a pure Python re-implmentation of libmnl and provides a minimal, object-oriented interface to Linux Netlink sockets and messages.

Project description

pymnl (rhymes with hymnal) is a pure Python re-implmentation of libmnl and provides a minimal interface to Linux Netlink sockets and messages. The author and maintainer is Sean Robinson <>.

pymnl should be compatible with Python > 2.4. An effort has been made to allow pymnl to work with Py2 and Py3 from a single code base. See “Using pymnl with Python 2 vs Python 3” in python-versions.rst for version-specific caveats.

More information is available at

See the API checklist in api-checklist.rst for a detailed list of which libmnl functions have been implemented.

A short changelog in Changelog.rst describes the general and API changes for every release.

Example Applications

The examples directory contains small examples of how to use pymnl with various Netlink protocols. These are re-implementations of the examples provided in libmnl.

Files and Directories

./docs/ - minimal documentation ./docs/source - supporting documentation (RST files) ./docs/build/html - supporting documentation (HTML files) ./examples/ - sample uses of pymnl module ./pymnl/ - the module source code ./pymnl/tests/ - unittest test cases ./pymnl/tests/ - a test command to run unit tests ./Makefile - convenience commands for developers ./README - this file ./ - instructions detailing files to include in distribution ./ - installation script

Using pymnl Before Install

It is possible to run the included test cases and examples by adding the pymnl root directory to the PYTHONPATH environment variable. Such as,

PYTHONPATH=. python examples/genl/ nl80211

from the pymnl root directory. Or, like,

PYTHONPATH=.. python ../ test –test-list pymnl.tests.nlsocket

from within the ./pymnl/ directory.


pymnl is licensed under LGPLv2+, however, the examples are licensed under GPLv2+.


There is none. Do not rely on it for anything. It could cause your computer to apply for a second mortgage on your home, take your underage children to R-rated movies, or run around your neighborhood in the middle of the night ringing doorbells. You. Have. Been. Warned.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pymnl, version 0.6
Filename, size File type Python version Upload date Hashes
Filename, size pymnl-0.6.tar.bz2 (215.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page