Python Bindings

From Net-SNMP Wiki
Revision as of 05:00, 21 February 2009 by Noahgift (Talk | contribs) (Adding link to Asynchronous Wrapper for Net-SNMP)

Jump to: navigation, search

Intro

Net-SNMP 5.4 and later contains Python bindings in the "python" sub-directory. They are not built by default. See python/README for further details.

Example Usage:

ipython is the best way to get your feet wet while using the python bindings for Net-SNMP. This assumes you got Net-SNMP to compile correctly and the egg to work:


In [1]: import netsnmp
In [2]: var = netsnmp.Varbind('sysDescr.0')
In [3]: res = netsnmp.snmpget(var, ...: Version = 1, ...: DestHost = 'localhost', ...: Community='public')
In [4]: print res ('Linux machine.pretendco.com 2.4.7-10lpc #1 Tue Nov 13 03:44:18 EST 2001 i686',)

Articles:

Using Net-SNMP and IPython: http://www.ibm.com/developerworks/aix/library/au-netsnmpnipython/

3rd Party Asynchronous Library

Because the Python bindings to Net-SNMP are synchronous, it effectively makes large parts of SNMP unusable in Python. One way around this is to use a 3rd party library that wraps up Net-SNMP in a Process Pool. A library that does just that is called multicore-snmp and can be found here:

http://code.google.com/p/multicore-snmp/