SNMP library for Python
***********************

PySNMP is a cross-platform, pure-Python SNMP engine implementation. It
features fully-functional SNMP engine capable to act in
Agent/Manager/Proxy roles, talking SNMP v1/v2c/v3 protocol versions
over IPv4/IPv6 and other network transports.

Despite its name, SNMP is not really a simple protocol. For instance
its third version introduces complex and open-ended security
framework, multilingual capabilities, remote configuration and other
features. PySNMP implementation closely follows intricate system
details and features bringing most possible power and flexibility to
its users.

Current PySNMP stable version is 4.4. It runs with Python 2.4 through
3.7 and is recommended for new applications as well as for migration
from older, now obsolete, PySNMP releases. All site documentation and
examples are written for the 4.4 and later versions in mind. Older
materials are still available under the obsolete section.

Besides the libraries, a set of pure-Python command-line tools are
shipped along with the system. Those tools mimic the interface and
behaviour of popular Net-SNMP snmpget/snmpset/snmpwalk utilities. They
may be useful in a cross-platform situations as well as a testing and
prototyping instrument for pysnmp users.

PySNMP software is free and open-source. Source code is hosted in a
Github repo. The library is being distributed under 2-clause BSD-style
license.

PySNMP library development has been initially sponsored by a PSF
grant.


Quick start
===========

You already know something about SNMP and have no courage to dive into
this implementation? Try out quick start page!

* Quick start

  * Fetch SNMP variable

  * Send SNMP TRAP


Documentation
=============

* Documentation

  * SNMP history

  * SNMP design

  * PySNMP architecture

  * Common operations

* Library reference

  * Synchronous SNMP

  * Asynchronous: asyncore

  * Asynchronous: asyncio

  * Asynchronous: trollius

  * Asynchronous: Twisted

  * SNMP Engine

  * Security Parameters

  * SNMP Context

  * MIB services

  * SNMP base types


Examples
========

* Example scripts

  * High-level SNMP

  * Native SNMP API

  * Packet-level SNMP

  * Low-level MIB access

  * Using these examples


Download
========

Best way is usually to

   # pip install pysnmp

If that does not work for you for some reason, you might need to read
the following page.

* Download PySNMP


License
=======

* License


FAQ
===

* FAQ

  * Getting peer address information

  * How to implement MIB at the Agent

  * Ignored SNMP packets

  * Listening on multiple network interfaces

  * Garbaged SNMP values (apps)

  * Garbaged SNMP values (tools)

  * Dealing with the "OID not increasing" error

  * How to pass MIB to the Manager

  * My py2exe app can't find MIBs

  * Resolve response values at MIB

  * SNMP data constraints verification error

  * Walking whole MIB


Further development
===================

We fanatically document all fixes, changes and new features in
changelog. There you could also download the latest unreleased pysnmp
tarball containing the latest fixes and improvements.

* Changelog

Our development plans and new features we consider for eventual
implementation are collected in the following section.

* Further development

  * PySNMP library

  * Stand-alone PySNMP-based tools


Contact
=======

In case of questions or troubles using PySNMP, please open up an issue
at GitHub or ask at Stack Overflow .


Old site archive
================

* Old site archive
