Asynchronous: asyncio

Python 3.4 introduced a new module - asyncio (former Tulip, PEP 3156) featuring infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources.

PySNMP library was originally built on top of Python’s asynchronous I/O library called asyncio. The asyncio module offers similar functionality but uses much more modern and powerful language facilities. Functionally, asyncio can replace asyncio in PySNMP however its use requires understanding the concepts such as coroutines and generators. If your task is to embed SNMP stack into an existing asyncio-based app, using PySNMP’s asyncio interfaces greatly simplifies the task.

Older applications (Python 2.6+) can alternatively use Trollius instead of asyncio. Trollius is a backport of asyncio so it supports nearly the same API as asyncio. Full support of both modules is built into pysnmp.

All SNMP-related functionality of Native PySNMP API to Standard SNMP Applications (RFC3413) remains available to asyncio-backed applications.

We do not provide Command Generator and Notification Originator examples, as it is much easier to use high-level interfaces instead.

Command Responder Applications

Notification Receiver Applications

For more details on PySNMP programming model and interfaces, please refer to the documentation