Ping multiple hosts concurrently in python
GPL-3.0 License
A python library for pinging multiple hosts.
It focuses on providing both sync and asynch versions and minimizing the amount of of OS resources (only a single socket is used for handling multiple hosts with multiple ping requests)
Without further ado:
$ python -m asyncio
>>> from yaping.aioping import ping
>>> from yaping.tools import response_text
>>> async for response in ping(["gnu.org", "orcid.org"], count=2):
... text = response_text(response)
... print(text)
64 bytes from orcid.org (104.20.228.70): icmp_seq=1 time=4.8ms
64 bytes from gnu.org (209.51.188.116): icmp_seq=1 time=113.4ms
64 bytes from orcid.org (104.20.228.70): icmp_seq=2 time=4.7ms
64 bytes from gnu.org (209.51.188.116): icmp_seq=2 time=118.8ms
Requirements:
From within your favorite python environment:
$ pip install yaping
To develop, run tests, build package, lint, etc you'll need:
$ pip install yaping[dev]
To run docs you'll need:
$ pip install yaping[docs]