Skip to content

Gufo Labs Ping is the accelerated Python asyncio IPv4/IPv6 ping implementation.

License

Notifications You must be signed in to change notification settings

gufolabs/gufo_ping

Repository files navigation

Gufo Ping

Gufo Ping is the accelerated Python asyncio IPv4/IPv6 ping implementation.

PyPi version Python Versions License Build Sponsors Ruff


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

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


Gufo Ping is the Python asyncio library for IPv4/IPv6 ping probing. It consists of a clean Python API for high-efficient raw sockets manipulation, implemented in the Rust language with PyO3 wrapper.

Pinging host is the simple task:

ping = Ping()
rtt = await ping.ping("127.0.0.1")

Sending the series of probes is simple too:

ping = Ping()
async for rtt in ping.iter_rtt("127.0.0.1", count=5):
    print(rtt)

Gufo Ping is really fast, allowing to probe 100 000+ hosts at once.

Virtues

  • Clean async API.
  • IPv4/IPv6 support.
  • High-performance.
  • Full Python typing support.
  • Editor completion.
  • Well-tested, battle-proven code.

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.