libsnmp Now Available In CheeseShop!


After waaaay too long, I’ve finally fixed up my registration with the Python Package Index and uploaded libsnmp. Version 2.0.4 is now available in the Python Cheeseshop (aka PyPI). Assuming you’ve already installed python setuptools, getting libsnmp is now as easy as:

easy_install libsnmp

How cool is that?

For those who don’t know, libsnmp is a pure Python SNMP library I wrote back in 2003. It’s faster than other Python implementations, and doesn’t require external C libraries to work. It’s used as the basis for the SNMP communications in seafelt software, and has proven to be production ready for many years.

It supports SNMP v1 and v2C. SNMP v3 support is due for implementation quite soon, now that there seems to be sufficient interest in the market for the encryption and other capabilities offered by SNMP v3.

Thanks to Donn Lee for inspiring me to fix this up by emailing me about an API enhancement. The patch you wanted is now online and easy to grab!

Bookmark the permalink.


  1. Great work, Justin!
    Just fyi, I noticed last night that the agent src IP address is not passed to the callback function, so I made another patch to include it in ‘msg’ so my callback fn can see it.

    For my app, I need to process OIDs across lots of devices, so it needs to track the agent ip addr.


  2. Thanks Donn! Glad you like it.

    I also need to track responses from many devices in seafelt, so can I suggest that you use the SNMP requestID instead? Particularly if you do a walk, you’ll get lots of responses from the same device, and they may not necessarily show up in order, UDP being what it is.

    If you only use the IP address as your tracking key, you might need to do some extra processing that will reduce your level of parallelism, which slows things down.

Comments are closed