# Gufo Ping
*Gufo Ping is the accelerated Python asyncio IPv4/IPv6 ping implementation.*
[![PyPi version](https://img.shields.io/pypi/v/gufo_ping.svg)](https://pypi.python.org/pypi/gufo_ping/)
![Python Versions](https://img.shields.io/pypi/pyversions/gufo_ping)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
![Build](https://img.shields.io/github/workflow/status/gufolabs/gufo_ping/Run%20Tests/master)
![Sponsors](https://img.shields.io/github/sponsors/gufolabs)
---
**Documentation**: [https://docs.gufolabs.com/gufo_ping/](https://docs.gufolabs.com/gufo_ping/)
**Source Code**: [https://github.com/gufolabs/gufo_ping/](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][Rust] language with [PyO3][PyO3] wrapper.
Pinging host is the simple task:
``` py
ping = Ping()
rtt = await ping.ping("127.0.0.1")
```
Sending the series of probes is simple too:
``` py
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][Gufo Stack] - the collaborative effort
led by [Gufo Labs][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][NOC] and bring them as separate packages. Then we work on API,
performance tuning, documentation, and testing. The [NOC][NOC] uses the final result
as the external dependencies.
[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products
can benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make
the other network management products better.
[Gufo Labs]: https://gufolabs.com/
[Gufo Stack]: https://gufolabs.com/products/gufo-stack/
[NOC]: https://getnoc.com/
[Rust]: https://rust-lang.org/
[PyO3]: https://pyo3.rs/
Raw data
{
"_id": null,
"home_page": "https://github.com/gufolabs/gufo_ping/",
"name": "gufo-ping",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "error",
"author": "Gufo Labs",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/2c/23/8f8a28632f68c947a8bfd350a94de49d6d2455006d497e6d3bd0c5eddb7d/gufo_ping-0.2.4.tar.gz",
"platform": null,
"description": "# Gufo Ping\n\n*Gufo Ping is the accelerated Python asyncio IPv4/IPv6 ping implementation.*\n\n[![PyPi version](https://img.shields.io/pypi/v/gufo_ping.svg)](https://pypi.python.org/pypi/gufo_ping/)\n![Python Versions](https://img.shields.io/pypi/pyversions/gufo_ping)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n![Build](https://img.shields.io/github/workflow/status/gufolabs/gufo_ping/Run%20Tests/master)\n![Sponsors](https://img.shields.io/github/sponsors/gufolabs)\n\n---\n\n**Documentation**: [https://docs.gufolabs.com/gufo_ping/](https://docs.gufolabs.com/gufo_ping/)\n\n**Source Code**: [https://github.com/gufolabs/gufo_ping/](https://github.com/gufolabs/gufo_ping/)\n\n---\n\nGufo 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 \n[Rust][Rust] language with [PyO3][PyO3] wrapper.\n\nPinging host is the simple task:\n\n``` py\nping = Ping()\nrtt = await ping.ping(\"127.0.0.1\")\n```\n\nSending the series of probes is simple too:\n\n``` py\nping = Ping()\nasync for rtt in ping.iter_rtt(\"127.0.0.1\", count=5):\n print(rtt)\n```\n\nGufo Ping is really fast, allowing to probe 100 000+ hosts at once.\n\n## Virtues\n\n* Clean async API.\n* IPv4/IPv6 support.\n* High-performance.\n* Full Python typing support.\n* Editor completion.\n* Well-tested, battle-proven code.\n\n## On Gufo Stack\n\nThis product is a part of [Gufo Stack][Gufo Stack] - the collaborative effort \nled by [Gufo Labs][Gufo Labs]. Our goal is to create a robust and flexible \nset of tools to create network management software and automate \nroutine administration tasks.\n\nTo do this, we extract the key technologies that have proven themselves \nin the [NOC][NOC] and bring them as separate packages. Then we work on API,\nperformance tuning, documentation, and testing. The [NOC][NOC] uses the final result\nas the external dependencies.\n\n[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products\ncan benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make \nthe other network management products better.\n\n[Gufo Labs]: https://gufolabs.com/\n[Gufo Stack]: https://gufolabs.com/products/gufo-stack/\n[NOC]: https://getnoc.com/\n[Rust]: https://rust-lang.org/\n[PyO3]: https://pyo3.rs/\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "",
"version": "0.2.4",
"split_keywords": [
"error"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "9907ce0d2c99336dd320f2a597342997",
"sha256": "41c08d0470b331f2a963700fd8bff5f2b20501fdc28142b70c0c614ad040cd37"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "9907ce0d2c99336dd320f2a597342997",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 268949,
"upload_time": "2022-12-29T08:25:15",
"upload_time_iso_8601": "2022-12-29T08:25:15.405592Z",
"url": "https://files.pythonhosted.org/packages/83/dd/1503f6861a34b0004853c938c1f1f9dee50c4819e10e9e0fe68a88dbeee3/gufo_ping-0.2.4-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0db4f6f116ec32f85bf654e517113b49",
"sha256": "a54fd546b95313c5073bc592fcc06b73db1df4b5d68499d39b84edb2aacac74c"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "0db4f6f116ec32f85bf654e517113b49",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 308815,
"upload_time": "2022-12-29T08:25:16",
"upload_time_iso_8601": "2022-12-29T08:25:16.905390Z",
"url": "https://files.pythonhosted.org/packages/b7/55/f2ea632c7db4e2541c3850e087574207ba4dfd79ddd63aa3a7e37f268b76/gufo_ping-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b24cc256917003bed023d0d1ab51834d",
"sha256": "cf6cd09cfdb0e2f3ed1399a15faacd87d938cd3776dd0c19b1fe210ef044d637"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp310-cp310-manylinux_2_24_x86_64.whl",
"has_sig": false,
"md5_digest": "b24cc256917003bed023d0d1ab51834d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 308902,
"upload_time": "2022-12-29T08:25:18",
"upload_time_iso_8601": "2022-12-29T08:25:18.146270Z",
"url": "https://files.pythonhosted.org/packages/0b/f4/3df28b30e8d0a098effde2c549eda9af1c158ba8ca86f01ce6c98f75a7a9/gufo_ping-0.2.4-cp310-cp310-manylinux_2_24_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "ec3437a9cf1939273fa8b90753c848ea",
"sha256": "3abe833f08816f60e8025d1cf84b39765a89cfeaf7c46fc98b91dd8992ec331f"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "ec3437a9cf1939273fa8b90753c848ea",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 340962,
"upload_time": "2022-12-29T08:25:19",
"upload_time_iso_8601": "2022-12-29T08:25:19.424711Z",
"url": "https://files.pythonhosted.org/packages/60/da/d9e5f95a4d26a083d5d5d2060bb2e4e406ab7af25c9294368dd7cb7734a1/gufo_ping-0.2.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "eed39189be96b10fbaaf16914b5674d6",
"sha256": "a48535d58da20afb0e6aa02434b63fb23fe29ed737048bd5f6be448417c4836c"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "eed39189be96b10fbaaf16914b5674d6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 268955,
"upload_time": "2022-12-29T08:25:20",
"upload_time_iso_8601": "2022-12-29T08:25:20.687347Z",
"url": "https://files.pythonhosted.org/packages/0e/57/c29f3be64435ab6380681a74ea86824f945d87f1f0621cb4fdeb8a1f3167/gufo_ping-0.2.4-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a9a83a5df6376a855deda50aa153d660",
"sha256": "a5e48777868b5c9a29e6126d1e13e4be674da3dcad17dfb8969f4d0f6d479a52"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp311-cp311-manylinux_2_24_x86_64.whl",
"has_sig": false,
"md5_digest": "a9a83a5df6376a855deda50aa153d660",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 308903,
"upload_time": "2022-12-29T08:25:22",
"upload_time_iso_8601": "2022-12-29T08:25:22.125613Z",
"url": "https://files.pythonhosted.org/packages/84/82/4ef29729496ad3aabfeaad6bd8c8400f13c57a5861c98013ad0629fcefc3/gufo_ping-0.2.4-cp311-cp311-manylinux_2_24_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "fc5eb7e660a1777338ad310fc4721c22",
"sha256": "0a2e4fc6c5e7dc67688169f557e62c38ccd7187fe2c84fa76358f559c3f9739a"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "fc5eb7e660a1777338ad310fc4721c22",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 269486,
"upload_time": "2022-12-29T08:25:23",
"upload_time_iso_8601": "2022-12-29T08:25:23.380942Z",
"url": "https://files.pythonhosted.org/packages/89/c5/c623e2ec376d827914fc1b5751a96db7fcea031090c18c37bf49e87be86d/gufo_ping-0.2.4-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "58c0f0afad9970298f3efa7baa5c5eef",
"sha256": "0a9485ec9e5ce9aaa65204c17730b29a9539fbfc9fc4bd9586f5b9a78905057d"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "58c0f0afad9970298f3efa7baa5c5eef",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 308497,
"upload_time": "2022-12-29T08:25:24",
"upload_time_iso_8601": "2022-12-29T08:25:24.598254Z",
"url": "https://files.pythonhosted.org/packages/0f/59/fedd416d9c4fd8785287bab1f8f18b251b2785070ed2b7672848db020299/gufo_ping-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "16552dfb3b17b3afc0290b9a015da19a",
"sha256": "d3adf3a712f2a00a0a8f109ea340543d3eab9b74c5e60ed29d08569baccd7ae5"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp38-cp38-manylinux_2_24_x86_64.whl",
"has_sig": false,
"md5_digest": "16552dfb3b17b3afc0290b9a015da19a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 308531,
"upload_time": "2022-12-29T08:25:25",
"upload_time_iso_8601": "2022-12-29T08:25:25.886947Z",
"url": "https://files.pythonhosted.org/packages/97/36/0891aa86618280417d2c56413c2f5504ff53f004a74c8db5a8285d8b5cc2/gufo_ping-0.2.4-cp38-cp38-manylinux_2_24_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "3b6d54aa1b265895477e80f82aed24b8",
"sha256": "6c9a53895e0527bde66f4a579f6a0e00127536af717a4bf0d74d569ecf15b944"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "3b6d54aa1b265895477e80f82aed24b8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 340576,
"upload_time": "2022-12-29T08:25:27",
"upload_time_iso_8601": "2022-12-29T08:25:27.061950Z",
"url": "https://files.pythonhosted.org/packages/49/a7/69b5554231f6c63b70bf0cb184b867669518afaf4adac7ebdac6fea636f4/gufo_ping-0.2.4-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b582ffd133165dbdd455f590d6f11f5f",
"sha256": "8cb5ad8b888230c3c2fcf94e8e632e4472097bfbdfebc9accdee15fff759b8c9"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "b582ffd133165dbdd455f590d6f11f5f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 269245,
"upload_time": "2022-12-29T08:25:28",
"upload_time_iso_8601": "2022-12-29T08:25:28.273019Z",
"url": "https://files.pythonhosted.org/packages/60/23/17de49b5d31ea2f3f96143874449fc971d1e3882b4a8b94359e8cd079cc3/gufo_ping-0.2.4-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "36c0659d9de1f5baad804756c6507626",
"sha256": "b8068f51b28399d7f9393ca4fdc9f9c2f72afc6a9263ae604428d0e32180358c"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "36c0659d9de1f5baad804756c6507626",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 309172,
"upload_time": "2022-12-29T08:25:29",
"upload_time_iso_8601": "2022-12-29T08:25:29.707365Z",
"url": "https://files.pythonhosted.org/packages/91/21/45884b5240c36c0963279f7c776333cd7818c923a87a28a11d54ae2c9953/gufo_ping-0.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "fc973ea647e218103bcce99cab9df314",
"sha256": "3ea036c98fa1f9ffc5224baf0671b146e6873f577eaa4b3b3908cbf8cec926d2"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp39-cp39-manylinux_2_24_x86_64.whl",
"has_sig": false,
"md5_digest": "fc973ea647e218103bcce99cab9df314",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 309244,
"upload_time": "2022-12-29T08:25:30",
"upload_time_iso_8601": "2022-12-29T08:25:30.937412Z",
"url": "https://files.pythonhosted.org/packages/b0/df/19a215a0af1776dcd88ff6bc353d09d1787a9573b4973843e8dc1d4dc5dd/gufo_ping-0.2.4-cp39-cp39-manylinux_2_24_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "65c92af86a54e75d68eaa6f06e614dac",
"sha256": "1c09981da8b4c4f06ab0b5e316d3a327dc86caeb6275f7d86e5e3b7d38c81b57"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "65c92af86a54e75d68eaa6f06e614dac",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 341251,
"upload_time": "2022-12-29T08:25:31",
"upload_time_iso_8601": "2022-12-29T08:25:31.923835Z",
"url": "https://files.pythonhosted.org/packages/98/64/cfbbb7f46ddeafde19b3fdd509acdd349014431c31a41c08396c50569b0b/gufo_ping-0.2.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2ebab0376fe714e72015bd78d76df120",
"sha256": "58fe9f10c0e33d656c276d63e761a93900c8ac6a6a012d01d7810b8a30dfef49"
},
"downloads": -1,
"filename": "gufo_ping-0.2.4.tar.gz",
"has_sig": false,
"md5_digest": "2ebab0376fe714e72015bd78d76df120",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15178,
"upload_time": "2022-12-29T08:25:33",
"upload_time_iso_8601": "2022-12-29T08:25:33.110542Z",
"url": "https://files.pythonhosted.org/packages/2c/23/8f8a28632f68c947a8bfd350a94de49d6d2455006d497e6d3bd0c5eddb7d/gufo_ping-0.2.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-29 08:25:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "gufolabs",
"github_project": "gufo_ping",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gufo-ping"
}