pythonping
A simple way to ping in Python
Decision gist · record as of 2026-08-14
Yes, if you need ICMP ping from Python and can run as root. The library is stable (Production/Stable classifier), has no dependencies, and carries no known vulnerabilities. However, maintenance is dormant (last release 2022-10-25); verify compatibility with your Python version before deploying. The root requirement is a hard constraint—unsuitable for unprivileged environments.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires root or administrator privileges to create raw ICMP packets and access the network interface; cannot run as an unprivileged user.
- Low install friction; pure Python wheel with no runtime dependencies.
- Maintenance is dormant—last release was 2022-10-25, over 1389 days ago, though the repository remains active with recent commits (2024-07-18).
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution. Safe to incorporate into proprietary or open-source projects without licensing obligations.
last release 2022-10-25 (1389 days) · last repo commit 2024-07-18 · 207 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 492,442 downloads/mo, #6,359 on PyPI
Alternatives
Verify before relying
from pythonping import ping
result = ping('127.0.0.1', verbose=True)
for response in result:
print(response)- Whether the package works reliably on modern Python versions (requires_python is unspecified in metadata).
- Current state of cross-platform support (Windows, macOS, Linux) given dormant maintenance status.
What it is and what it does
Pythonping is a Python library for sending ICMP echo requests (pings) to remote hosts, mimicking the behavior of the terminal ping command. It exposes a simple `ping()` function for basic use and modular classes (`Communicator`, `PayloadProvider`) for integration into larger applications. The library constructs raw IP packets and captures responses, returning a `ResponseList` object containing individual `Response` items with latency, packet size, and error information.
The package is designed for network diagnostics, host reachability testing, and latency measurement in Python scripts and applications. It supports customization via parameters like payload size, timeout, packet count, sweep ranges, and the Don't Fragment flag. Because ICMP requires raw socket access, the package mandates root or administrator privileges on all operating systems—a fundamental OS-level constraint, not a library limitation.
Use it for
- Monitor host availability in a network management or alerting system by periodically pinging targets and collecting latency metrics.
- Perform network diagnostics in a troubleshooting script to verify connectivity and measure latency to remote servers.
- Implement a ping sweep to test a range of payload sizes and detect MTU or fragmentation issues on a network path.
- Integrate ICMP probing into a custom application that needs to detect network outages or measure end-to-end latency without spawning subprocesses.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need ICMP ping from Python and can run as root.
The library is stable (Production/Stable classifier), has no dependencies, and carries no known vulnerabilities. However, maintenance is dormant (last release 2022-10-25); verify compatibility with your Python version before deploying. The root requirement is a hard constraint—unsuitable for unprivileged environments.
Install
pythonping on PyPI
Before you install
Low install friction; pure Python wheel with no runtime dependencies. Maintenance is dormant—last release was 2022-10-25, over 1389 days ago, though the repository remains active with recent commits (2024-07-18). Suitable for stable use cases but do not expect rapid bug fixes or feature updates.
Requires root or administrator privileges to create raw ICMP packets and access the network interface; cannot run as an unprivileged user.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution. Safe to incorporate into proprietary or open-source projects without licensing obligations.
Quickstart
from pythonping import ping
result = ping('127.0.0.1', verbose=True)
for response in result:
print(response)
Verify before relying
- Whether the package works reliably on modern Python versions (requires_python is unspecified in metadata).
- Current state of cross-platform support (Windows, macOS, Linux) given dormant maintenance status.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 1,389 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 492,442 / month, #6,359 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 :: System AdministratorsNatural Language :: English |
Evidence: pythonping-1.1.4-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 › “icmp ping from python”
- pythonpingSends ICMP ping requests to remote hosts from Python, returning…
- ping3Ping3 sends ICMP echo requests to hosts and measures round-trip time…
- aiopingaioping provides an asyncio-based ICMP ping implementation for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also ping3 · icmplib · multiping · pingparsing · aioping · speedtest-cli · dpkt · rtp · pmd-net-proto · aiortsp