Skip to main content

No project description provided

Project description

Gufo SNMP

The accelerated Python asyncio SNMP client library.

PyPi version Python Versions License Build Sponsors Ruff


Documentation: https://docs.gufolabs.com/gufo_snmp/

Source Code: https://github.com/gufolabs/gufo_snmp/


Gufo SNMP is the accelerated Python asyncio SNMP client library. It consists of a clean Python API for high-efficient BER parser and socket IO, implemented in the Rust language with PyO3 wrapper.

The querying of the single MIB key is a simple task:

async with SnmpSession(addr="127.0.0.1", community="public") as session:
    r = await session.get("1.3.6.1.2.1.1.3.0")

Multiple keys can be queried by one request too:

async with SnmpSession(addr="127.0.0.1", community="public") as session:
    r = await session.get_many(["1.3.6.1.2.1.1.3.0", "1.3.6.1.2.1.1.2.0"])

The querying of the MIB parts is also available with GetNext request:

async with SnmpSession(addr="127.0.0.1", community="public") as session:
    async for oid, value in  session.getnext("1.3.6.1.2.1.1"):
        ...

And with GetBulk request:

async with SnmpSession(addr="127.0.0.1", community="public") as session:
    async for oid, value in  session.getbulk("1.3.6.1.2.1.1"):
        ...

The .fetch() method allows to choose between .getnext() and .getbulk() automatically:

async with SnmpSession(addr="127.0.0.1", community="public") as session:
    async for oid, value in  session.fetch("1.3.6.1.2.1.1"):
        ...

Gufo SNMP offers various tools for developers, including a wrapper to run a local instance of SNMP daemon:

async with Snmpd(), SnmpSession(addr="127.0.0.1", port=10161) as session:
    r = await session.get("1.3.6.1.2.1.1.3.0")

Virtues

  • Clean async API.
  • SNMP v1/v2c support.
  • High-performance.
  • Zero-copy BER parsing.
  • Full Python typing support.
  • Editor completion.
  • Well-tested, battle-proven code.

Further Roadmap

  • SNMPv3 support.
  • SNMP Trap and Inform collector.
  • Query rate-limiting.
  • Incorporation of the NOC's Compiled MIB infrastructure.

On Gufo Stack

This product is a part of Gufo Stack - the collaborative effort led by Gufo Labs. Our goal is to create a robust and flexible set of tools to create network management software and automate routine administration tasks.

To do this, we extract the key technologies that have proven themselves in the NOC and bring them as separate packages. Then we work on API, performance tuning, documentation, and testing. The NOC uses the final result as the external dependencies.

Gufo Stack makes the NOC better, and this is our primary task. But other products can benefit from Gufo Stack too. So we believe that our effort will make the other network management products better.

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

gufo_snmp-0.1.1.tar.gz (18.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gufo_snmp-0.1.1-cp311-cp311-manylinux_2_24_x86_64.whl (337.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64

gufo_snmp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

gufo_snmp-0.1.1-cp310-cp310-manylinux_2_24_x86_64.whl (337.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64

gufo_snmp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

gufo_snmp-0.1.1-cp39-cp39-manylinux_2_24_x86_64.whl (337.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64

gufo_snmp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

gufo_snmp-0.1.1-cp38-cp38-manylinux_2_24_x86_64.whl (337.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64

gufo_snmp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file gufo_snmp-0.1.1.tar.gz.

File metadata

  • Download URL: gufo_snmp-0.1.1.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for gufo_snmp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 794bdd3203045244351708f0c6e71cf2e905b02b2620e09ee76b3cad1be6d151
MD5 cd87a91d040434815f0984766315946f
BLAKE2b-256 2c900793e11d8e36d8d5652981167eb38ba3301566801b31238c9f9070195214

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 6dca6c85407916f26a91f5440ead90e9d8530da6ae5fadb438b691d92b5837c0
MD5 7fb444a6755bf19848413d8e80dd4fbd
BLAKE2b-256 2fe64cbc6845ffdc68b598d8030fb174004f656e12b0b513ccb66659a673bc6f

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ca10ce25a1f07c4dbf5feb69d9e913d6d6562d0f3d62c4930ae43c34cb853cd
MD5 aef06a7dd497f8dad749eed32315322c
BLAKE2b-256 79dc9f741bc8b7434acc0f75185021c59b22884f7e83edf8cbf1508ebfb4a1aa

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 4918ff8a3a0593cce661ece17f1afa98d878ee7e4f5b2852a889624121d917c6
MD5 5a85784fcac1ea53f5812638c82877ea
BLAKE2b-256 df28951df2d7bc05b4865efe5b4f0e8d338d1d386d246c3ec2fe4932847e09e5

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51ab1b1cbfdaf34d52ba4e1d06786d473c1aa9ff534582ffd731148b78c98584
MD5 9a3e3914a5548257d4eee151ff0aff3c
BLAKE2b-256 70a012d200bf071fe0eb2381afe5ee75cd44d991d08e39abaf18ebba32c623c8

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 939fa69e6d412cb8882cdb4923a65924eef7ca5ca561d6168c4ad822e1203230
MD5 5bf1106ca05ec976adb18f698fbb49dd
BLAKE2b-256 309dd8eb1c8f7b204a2c8241a554a35dc5e626e66719dad8414c3cd7fdd6ccc6

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec0d4b6b775a45a40dbb2ba9973b76d75874b3c183ad6cc73adcc9c92aec8d68
MD5 b0c8ad40cfa415d229c7acbbd3c38f7c
BLAKE2b-256 fe43434197a4c75e5d85d0d5f25ff9e9344db5534795201b1a78393e2e38b96a

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 cac2a6853aff92de2591e46b7c9524a017ede88c364c6a3bd2d6dcec41de8815
MD5 f3304d88c5a90136f54866ceb7c28905
BLAKE2b-256 a61b083efb3ee89f1edcc848560afac28ea0f4c461b0489f195828c79eaf2243

See more details on using hashes here.

File details

Details for the file gufo_snmp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gufo_snmp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62a3d78eaf3470984d8ff145d66a5dd451791b14bbdb25fa1a9b4dea345ebf1e
MD5 a76d0b9195688d74a8dc753f48498ab5
BLAKE2b-256 29e2ad3b2dfcf50053f9c0de592a17deda4914fbd7bd70cf88f4b206234eada6

See more details on using hashes here.

Supported by

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