For detailed information, see the documentation
- What
- A pure Python implementation for Python 3.6+ of SNMP without any external dependencies (neither MIBs or libsnmp).
- Why
SNMP in itself is simple and well defined. A bit convoluted, but simple. MIB parsing however complicates the code-base and is technically not required. They add typing information and variables and give names to OIDs. All existing libraries have a direct or indirect dependency on libsnmp. With all the advantages and disadvantages.
The aim of this project is to focus on SNMP in itself and provide a very simple API. Instead of implementing ASN.1 parsing, the SNMP related ASN.1 and information is hard-coded (keeping in mind that all that's hard-coded is well defined).
It is of course possible to wrap this package in another package adding MIB parsing and processing. This is, and will be however out of the scope of this project!
- When
- First commit: Sat Jul 23 12:01:05 2016 +0200
- Who
- Michel Albert
pip install puresnmp
As an important side-note, you might want to know that this project follows Semantic Versioning.
The easiest way to get started it to use the provided "development container" in
the .devcontainer
folder. When using VS-Code with the Remote Development
extension it will be picked up automatically when opening the project. If not,
open the command-console and select Remote-Containers: Rebuild Container
to
get started.
Type ./env/bin/pytest
to ensure that everything is set up properly. It
should run and pass all unit-tests.
This will provide a container with all required dependencies for development.
Including a tiny SNMP daemon on hostname snmpd
which can be used to play
around with.