Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is pynmsg, a Python extension module implemented in Cython for the nmsg C library.


Building from a git checkout requires a C compiler, Python, Cython, and the nmsg library to be installed first. Distribution tarballs ship with a copy of the Cython-generated code and do not require Cython to actually be installed.

pynmsg is built by running

python build

Python Performance

Some notes on performance. In particular, Python isn't great at receiving nmsgs off of the network at high rates, and processing them reliably.

Reading from a socket suffers about 75% loss (our test sent 1723300 messages, pynmsg recvd ~400k), so although the ability to read from the network exists, but transport is UDP, this Python library is not appropriate for receiving a high volume container stream.

C Performance

As a point of comparison, running the same test: using nmsgtool to read from a file, write to a localhost socket but instead of Python, using another nmsgtool reading from the localhost socket:

writer sends: 1723300 messages

reader reads:

run# read loss
1 1717510 <1%
2 1710776 <1%
3 1709553 <1%
4 1666319 ~3%