Skip to main content

Python script to ping multiple devices and display the status with history.

This is a simple script to make pinging and viewing the status of pinging multiple devices easy.

Usage

usage: png [-h] [--maxLatency MAXLATENCY] [--minLatency MINLATENCY] [--interval INTERVAL] [--domain DOMAIN]
           ...

Ping multiple hosts and display the results in a table.

positional arguments:
  hosts                 Hostnames to ping.

options:
  -h, --help            show this help message and exit
  --maxLatency MAXLATENCY
                        The maximum latency for coloring and icmp timeout.
  --minLatency MINLATENCY
                        The minimum latency for coloring.
  --interval INTERVAL   The interval to ping the devices.
  --domain DOMAIN       Append domain if the host doesn't resolve. Default=[] or PNG_APPEND_DOMAINS

Example

% png 1.1.1.1 8.8.8.8 192.0.2.1
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Hostname/IP ┃                                         Ping Status ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 1.1.1.1     │ ||||||||||||||||||||||||||||||||||||||||||||||||||| │
│ 8.8.8.8     │ ||||||||||||||||||||||||||||||||||||||||||||||||||| │
│ 192.0.2.1   │ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! │
└─────────────┴─────────────────────────────────────────────────────┘

You can include comment lines by starting the host with a /.

Installing from pypi

python3 -m pip install alphabet5-ping

Building and Installing

python3 -m pip install wheel -y
python3 -m pip uninstall alphabet5-ping -y
python3 setup.py bdist_wheel --universal
python3 -m pip install dist/alphabet5_ping-*-py2.py3-none-any.whl

Offline installation for Windows

python3.11 -m pip download --platform win_amd64 --only-binary=:all: rich

Copy the .whl generated with the 'Building and Installing' step above, as well as the downloaded .whl files from the command ^ to the remote computer it their own folder. Open a command window in that folder and run the install command.

Install Command

python3.11 -m pip install *.whl

Changelog

0.0.1

  • Initial Release

0.0.2

  • Initial support for windows

0.0.5

This update simplifies quite a few things. Instead of brute-forcing the colors, some logic was added.

The queue setup was replaced with a ThreadPoolExecutor that seems to work just as well. This also better supports error handling, and just gets the IP addresses once per startup and pings by ip instead of by hostname. This also allows for appending custom domains to the hostnames either via environment variable, or by adding --domain example.local, each domain will be tried in order, and the first to resolve will be used (including no domain.)

This also fixes some setup info.

0.0.6

Set screen=True and update the refresh interval, to reduce the flickering.

0.0.7

Remove (unused) textual import.

0.0.8

Add a status column for each entry.

Release files for alphabet5-ping 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for alphabet5-ping 0.0.8
File Interpreter ABI Platform
alphabet5_ping-0.0.8-py2.py3-none-any.whl Python 2, Python 3 none any Details

Release files / alphabet5_ping-0.0.8-py2.py3-none-any.whl

Download URL alphabet5_ping-0.0.8-py2.py3-none-any.whl
Size 18.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
7e9ba272b8064c0666a7c20606271177702b24cf1f17ea902634acf7af9484c7
BLAKE2b-256 checksum
How to use checksums
cd6d3e020ef43b65e3cc176a83be0a4ec48853edcd5d8bba1f1a65355af73466
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.11

Release history Release notifications | RSS feed

This release

0.0.8 This release

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page