Skip to main content

easiersnmp is a wrapper around easysnmp to make it even easier to use

Project description

easiersnmp

easiersnmp is a wrapper around easysnmp to make it even easier to use. It also includes an alternative implementation of easysnmptable.

Python types

While I really like easysnmp, it returns instances of SNMPVariable instead of of the basic Python data types. In addition the actual value (SNMPVariable.value) will always be a string, even if the underlying SNMP type is numeric.

SNMP GET in easysnmp

import easysnmp
session = easysnmp.Session(hostname='localhost', community='public', version=2)
result = session.get('ifIndex.1')

# result is an instance of easysnmp.SNMPVariable
print(result.oid, result.oid_index, result.snmp_type, result.value)
# ifIndex 1 INTEGER 1

# The result.value is a string even though the snmp_type is INTEGER
print(type(result.value)
# str

easiersnmp changes this behaviour by converting SNMPVariable.value into the correct data type.

SNMP GET in easiersnmp

import easiersnmp
session = easiersnmp.Session(hostname='localhost', community='public', version=2)
result = session.get('ifIndex.1')

# result is an instance of easiersnmp.SNMPVariable
print(result.oid, result.oid_index, result.snmp_type, result.value)
# ifIndex 1 INTEGER 1

# The result.value is an integer matching the snmp_type
print(type(result.value)
# int

The table below shows how values are converted.

SNMPVariable.snmp_type Python type
INTEGER32 int
INTEGER int
UNSIGNED32 int
GAUGE int
IPADDR ipaddress.IPv4Address/ipaddress.IPv6Address
OCTETSTR (read note below)
TICKS datetime.timedelta
OPAQUE
OBJECTID
NETADDR ipaddress.IPv4Address/ipaddress.IPv6Address
COUNTER64 int
NULL None
BITS int
UINTEGER int

The OCTETSTR SNMP type is commonly used as a container for values that cannot be represented in any other SNMP type. It is impossible to know the correct interpretation of an OCTETSTR without parsing the relevant SNMP MIB.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easiersnmp-0.2.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

easiersnmp-0.2.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file easiersnmp-0.2.0.tar.gz.

File metadata

  • Download URL: easiersnmp-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/5.15.0-87-generic

File hashes

Hashes for easiersnmp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 52cd7ef8d156d70f6efd25178d62cf230ea86f7ed8c698ebf4b0072aa96c15b3
MD5 396bb164cb9204d45a579dca4d6fc764
BLAKE2b-256 d2913b70baf6693729e6ec07e64b56a3429cd02e242cf294ddff506450a23185

See more details on using hashes here.

File details

Details for the file easiersnmp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: easiersnmp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/5.15.0-87-generic

File hashes

Hashes for easiersnmp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd4315a4fea26d1161e2f6f0b9964c5fb1c9de15cd9d52db00ffe696a8ec7988
MD5 65cee8efadbd24db2eef35383c5ba425
BLAKE2b-256 8644b3813485587d583ae131712578dd448da3356accfe64143ebb770aa11645

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page