A python wrapper around the Net-SNMP command line utilities
snmp-cmds is a python library for communicating with a target device through SNMP
There’s like… dozens of SNMP libs out there. Why bother?
There are indeed many great SNMP libraries available for python.
Some, like PySNMP, are pure-python. This makes them incredibly portable across platforms, which is awesome, but also makes them relatively slow as well. Also, as amazing as PySNMP is, it isn’t exactly known for its ease of use.
Some, like the net-snmp bindings and easysnmp, are built as extensions to C libraries like Net-SNMP. This makes them incredibly fast and performant, but requires them to be compiled on each platform they’re distributed on, and compiled against specific versions of the Net-SNMP libraries. Not very portable at all.
In writing this library, I set out to find a middle ground. A library which could leverage the power and speed of the Net-SNMP project, while being portable pure-python and not being tied to any particular version of Net-SNMP. I accomplished this by making a library that calls the Net-SNMP binaries as subprocesses.
Although this library should work on Windows platform that have Net-SNMP installed, it has not yet been tested on Windows. Use with caution.
This package requires the following software be installed on your system:
- Net-SNMP (can be installed with sudo apt-get install snmp on Ubuntu)
- IETF RFC MIBs (can be installed with sudo apt-get install snmp-mibs-downloader on Ubuntu)
- Python 3.5+
The easy way:
pip3 install snmp-cmds
The hard way:
git clone https://github.com/alextremblay/snmp-cmds.git cd snmp-cmds pip install .
Please see the github page (listed here as home page) or the Full Documentation for usage information.
For more information on the commands / API methods, their signatures, and what they do, please see the Full Documentation.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.