.. image:: https://badge.fury.io/py/snimpy.svg :target: http://badge.fury.io/py/snimpy
.. image:: https://github.com/vincentbernat/snimpy/workflows/Tests/badge.svg
.. image:: https://coveralls.io/repos/vincentbernat/snimpy/badge.svg :target: https://coveralls.io/r/vincentbernat/snimpy
Interactive SNMP tool.
Snimpy is a Python-based tool providing a simple interface to build SNMP query. Here is a very simplistic example that allows us to display the routing table of a given host::
load("IP-FORWARD-MIB")
m=M("localhost", "public", 2)
routes = m.ipCidrRouteNextHop
for x in routes:
net, netmask, tos, src = x
print("%15s/%-15s via %-15s src %-15s" % (net, netmask, routes[x], src))
You can either use Snimpy interactively throught its console (derived from Python own console or from IPython_ if available) or write Snimpy scripts which are just Python scripts with some global variables available.
.. _IPython: http://ipython.org
Snimpy requires libsmi_ to work correctly. See the documentation for more information.
.. _libsmi: https://www.ibr.cs.tu-bs.de/projects/libsmi/
Snimpy is aimed at being the more Pythonic possible. You should forget that you are doing SNMP requests. Snimpy will rely on MIB to hide SNMP details. Here are some "features":