Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. SNMP
  3. pysnmp

pysnmp

BSD-2-ClausePython

A pure-Python implementation of SNMP v1/v2c/v3 engine with complete protocol support and asynchronous I/O.

Visit WebsiteGitHubGitHub
150 stars45 forks0 contributors

What is pysnmp?

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.

Target Audience

Network engineers, system administrators, and Python developers who need to implement SNMP managers, agents, or monitoring tools in pure Python environments.

Value Proposition

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.

Overview

Python SNMP library

Use Cases

Best For

  • Building custom SNMP managers to monitor network devices
  • Implementing SNMP agents for proprietary hardware or software
  • Creating network monitoring tools with Python backends
  • Developing SNMP proxies for protocol translation
  • Integrating SNMP into IoT or embedded Python systems
  • Academic or research projects requiring RFC-compliant SNMP

Not Ideal For

  • Applications with strict performance requirements where C-based SNMP libraries (e.g., Net-SNMP bindings) are necessary for low latency
  • Quick, ad-hoc SNMP tasks where command-line tools like snmpget or snmpwalk would be more efficient without Python setup
  • Projects needing integrated graphical monitoring dashboards out-of-the-box without additional development effort

Pros & Cons

Pros

Complete Protocol Support

Implements SNMPv1, v2c, and v3 with full RFC compliance, ensuring interoperability with a wide range of network devices and standards.

Pure Python Implementation

No external C dependencies, making deployment straightforward across different operating systems and Python versions, as highlighted in the README.

Asynchronous I/O Integration

Supports asyncio for non-blocking operations, enabling scalable concurrent SNMP queries in modern Python applications.

Extensible Security Framework

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.

Cons

Dependency Heavy

Requires additional packages like pyasn1 and optionally pysmi and cryptography for full functionality, increasing setup complexity and project footprint.

Performance Overhead

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.

Steep Learning Curve

The comprehensive SMI framework and protocol details can be overwhelming for developers new to SNMP, requiring prior experience to use effectively.

Frequently Asked Questions

Quick Stats

Stars150
Forks45
Contributors0
Open Issues18
Last commit13 days ago
CreatedSince 2022

Tags

#asyncio#python-library#snmp#system-administration#network-management#network-monitoring#protocol-implementation#mib

Built With

a
asyncio
P
PyASN1
c
cryptography
P
Python

Links & Resources

Website

Included in

SNMP182
Auto-fetched 23 hours ago

Related Projects

ScapyScapy

Scapy: the Python-based interactive packet manipulation program & library.

Stars12,327
Forks2,211
Last commit2 days ago
the original repothe original repo

Python SNMP library

Stars611
Forks219
Last commit1 year ago
the original repothe original repo

SNMP MIB parser

Stars141
Forks57
Last commit2 years ago
net-snmp Python bindingsnet-snmp Python bindings

Net-SNMP 5.4 and later contains Python bindings in the "python" sub-directory, though, they are not built by default. GitHub last commit

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub