A pure-Python implementation of SNMP v1/v2c/v3 engine with complete protocol support and asynchronous I/O.
PySNMP is a pure-Python SNMP library that implements SNMP v1, v2c, and v3 protocols for building network management applications. It provides a complete SNMP engine, SMI framework for MIB handling, and support for authentication and encryption. The library solves the problem of integrating SNMP functionality into Python projects without relying on external C extensions or proprietary tools.
Network engineers, system administrators, and Python developers who need to implement SNMP managers, agents, or monitoring tools in pure Python environments.
Developers choose PySNMP for its full RFC compliance, pure-Python implementation that avoids native dependencies, and built-in support for modern features like asyncio and strong SNMPv3 encryption. Its extensible architecture and detailed documentation make it suitable for both simple queries and complex SNMP applications.
Python SNMP library
Implements SNMPv1, v2c, and v3 with full RFC compliance, ensuring interoperability with a wide range of network devices and standards.
No external C dependencies, making deployment straightforward across different operating systems and Python versions, as highlighted in the README.
Supports asyncio for non-blocking operations, enabling scalable concurrent SNMP queries in modern Python applications.
Offers USM authentication (MD5/SHA-1/SHA-2) and privacy protocols (DES/AES) based on draft standards, providing strong SNMPv3 encryption when cryptography is installed.
Requires additional packages like pyasn1 and optionally pysmi and cryptography for full functionality, increasing setup complexity and project footprint.
As a pure-Python implementation, it may have higher latency and resource usage compared to C-based alternatives like Net-SNMP, impacting high-throughput scenarios.
The comprehensive SMI framework and protocol details can be overwhelming for developers new to SNMP, requiring prior experience to use effectively.
Scapy: the Python-based interactive packet manipulation program & library.
Python SNMP library
SNMP MIB parser
Net-SNMP 5.4 and later contains Python bindings in the "python" sub-directory, though, they are not built by default. GitHub last commit
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.