{"library":"pysnmp","title":"pysnmp","description":"pysnmp is a robust, open-source Python library for implementing SNMP agents and managers. It provides comprehensive support for SNMP v1, v2c, and v3, including various transport mappings (UDP, TCP) and security models (USM, VACM). The library is currently at version 7.1.23 and follows a relatively active release cadence, addressing bug fixes and minor enhancements.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install pysnmp"],"cli":null},"imports":["from pysnmp.hlapi import *","from pysnmp.hlapi import SnmpEngine","from pysnmp.hlapi import CommunityData","from pysnmp.hlapi import UdpTransportTarget","from pysnmp.hlapi import ContextData","from pysnmp.hlapi import ObjectType","from pysnmp.hlapi import ObjectIdentity","from pysnmp.hlapi import getCmd"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pysnmp.hlapi import (\n    SnmpEngine, CommunityData, UdpTransportTarget,\n    ContextData, ObjectType, ObjectIdentity, getCmd\n)\n\ndef snmp_get(host, community, oid):\n    errorIndication, errorStatus, errorIndex, varBinds = next(\n        getCmd(\n            SnmpEngine(),\n            CommunityData(community, mpModel=0), # mpModel=0 for SNMPv1, 1 for SNMPv2c\n            UdpTransportTarget((host, 161)),\n            ContextData(),\n            ObjectType(ObjectIdentity(oid))\n        )\n    )\n\n    if errorIndication:\n        return f\"Error: {errorIndication}\"\n    elif errorStatus:\n        return f\"Error: {errorStatus.prettyPrint()} at {varBinds[int(errorIndex)-1] if errorIndex else '?'}\"\n    else:\n        return ', '.join([f'{x[0].prettyPrint()} = {x[1].prettyPrint()}' for x in varBinds])\n\n\n# Example Usage:\n# You can use a public SNMP demo server for testing, e.g., 'demo.snmplabs.com'\n# Make sure to replace these with actual values for production environments\nSNMP_HOST = os.environ.get('SNMP_HOST', 'demo.snmplabs.com')\nSNMP_COMMUNITY = os.environ.get('SNMP_COMMUNITY', 'public')\n# OID for sysDescr.0 (system description)\nSNMP_OID = os.environ.get('SNMP_OID', '1.3.6.1.2.1.1.1.0')\n\nif __name__ == '__main__':\n    print(f\"Attempting SNMP GET on {SNMP_HOST} for OID {SNMP_OID} with community '{SNMP_COMMUNITY}'\")\n    result = snmp_get(SNMP_HOST, SNMP_COMMUNITY, SNMP_OID)\n    print(f\"SNMP GET Result: {result}\")","lang":"python","description":"This quickstart demonstrates how to perform a basic SNMP GET request using the high-level API (`pysnmp.hlapi`). It fetches a single OID (sysDescr.0 by default) from a specified host using a community string (SNMPv2c). The example handles potential error conditions returned by the SNMP agent.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"7.1.21","pypi_latest":"7.1.26","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.8,"avg_import_s":0,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"22.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0,"mem_mb":0,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"24.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0,"mem_mb":0,"disk_size":"25M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"16.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0,"mem_mb":0,"disk_size":"17M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"16.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0,"mem_mb":0,"disk_size":"17M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"21.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pysnmp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0,"mem_mb":0,"disk_size":"22M"}]}}