Skip to content

exhuma/puresnmp

Repository files navigation

image

Documentation Status

Github Project

PyPI


For detailed information, see the documentation

Quick Info

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

Installation

pip install puresnmp

Package Version Numbers

As an important side-note, you might want to know that this project follows Semantic Versioning.

Development & Maintenance

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.