aioping
Asyncio ping implementation
Decision gist · record as of 2026-08-14
Yes, if you need async ping in an existing asyncio application and can accept dormant maintenance. The package is stable, has low install friction, and solves a specific problem—non-blocking ICMP ping—that is hard to replicate without subprocess overhead. However, be aware that GPLv2 copyleft applies, and no active development means you inherit any unfixed issues. Suitable for internal tools and services; evaluate carefully for production libraries or proprietary software due to the license.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.5 or later; ICMP ping may require elevated privileges on some systems.
- Low friction install with just two runtime dependencies (async-timeout and aiodns).
- Maintenance is dormant—last release was 2023-07-12 and last commit 2024-01-21—so expect no active bug fixes or feature updates, though the codebase is stable and classifies as Production/Stable.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv2 (copyleft). Any code that links or distributes aioping must comply with GPLv2 terms, including making source code available under the same license.
last release 2023-07-12 (1129 days) · last repo commit 2024-01-21 · 92 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 260,416 downloads/mo, #8,395 on PyPI
Alternatives
Verify before relying
import asyncio
import aioping
async def check_host(host):
try:
delay = await aioping.ping(host)
print(f"Ping: {delay * 1000} ms")
except TimeoutError:
print("Timed out")
asyncio.run(check_host("google.com"))- Whether elevated privileges (root/admin) are required for ICMP on the target platform.
- Current compatibility with Python 3.11+ given the last release was July 2023.
What it is and what it does
aioping is an asyncio-native wrapper around ICMP ping that lets you check network reachability and measure latency without blocking your async event loop. It supports both IPv4 and IPv6 addresses and accepts hostnames, resolving them via aiodns. The library offers two main interfaces: a simple ping() function that returns delay in seconds or raises TimeoutError, and a verbose_ping() function that logs results to Python's standard logger.
The package depends on async-timeout for timeout handling and aiodns for asynchronous DNS resolution. It is classified as Production/Stable but has been dormant since mid-2023, meaning it receives no active maintenance. The codebase is straightforward and suitable for applications that need to perform ping checks within an async context without spawning subprocesses or blocking threads.
Use it for
- Monitor host availability in async microservices or background task workers without blocking the event loop.
- Implement health checks for network endpoints in async web frameworks or service meshes.
- Build network diagnostics tools that measure latency to multiple targets concurrently using asyncio.
- Test connectivity to remote services during application startup or periodic health verification.
- Gather network metrics for logging or alerting systems that operate within async contexts.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need async ping in an existing asyncio application and can accept dormant maintenance.
The package is stable, has low install friction, and solves a specific problem—non-blocking ICMP ping—that is hard to replicate without subprocess overhead. However, be aware that GPLv2 copyleft applies, and no active development means you inherit any unfixed issues. Suitable for internal tools and services; evaluate carefully for production libraries or proprietary software due to the license.
Install
aioping on PyPI
Before you install
Low friction install with just two runtime dependencies (async-timeout and aiodns). Maintenance is dormant—last release was 2023-07-12 and last commit 2024-01-21—so expect no active bug fixes or feature updates, though the codebase is stable and classifies as Production/Stable.
Requires Python 3.5 or later; ICMP ping may require elevated privileges on some systems.
License in practice
Licensed under GPLv2 (copyleft). Any code that links or distributes aioping must comply with GPLv2 terms, including making source code available under the same license.
Quickstart
import asyncio
import aioping
async def check_host(host):
try:
delay = await aioping.ping(host)
print(f"Ping: {delay * 1000} ms")
except TimeoutError:
print("Timed out")
asyncio.run(check_host("google.com"))
Verify before relying
- Whether elevated privileges (root/admin) are required for ICMP on the target platform.
- Current compatibility with Python 3.11+ given the last release was July 2023.
Package facts
| License | copyleft license copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesasync-timeoutaiodns |
| Maintenance | Dormant 1,129 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 260,416 / month, #8,395 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Programming Language :: Python :: 3.10Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules |
Evidence: aioping-0.4.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “asyncio ping icmp”
- aiopingaioping provides an asyncio-based ICMP ping implementation for…
- icmplibicmplib provides a pure Python implementation of the ICMP protocol…
- pythonpingSends ICMP ping requests to remote hosts from Python, returning…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also ping3 · speedtest-cli · icmplib · pythonping · multiping · aiohappyeyeballs · pingparsing · aiodiscover · mcstatus · snitun