README
======

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 <robinson@tuxfamily.org>.

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 http://pymnl.tuxfamily.org.

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/testcommand.py - a setup.py test command to run unit tests
./Makefile - convenience commands for developers
./README - this file
./MANIFEST.in - instructions detailing files to include in distribution
./setup.py - 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/genl-family-get.py nl80211

from the pymnl root directory.  Or, like,

    PYTHONPATH=.. python ../setup.py test --test-list pymnl.tests.nlsocket

from within the ./pymnl/ directory.


License
-------

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


Warranty
--------
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.
