xping
Beautiful CLI network diagnostics — ping, traceroute, MTR, DNS, TLS, HTTP, port and network scanning, health checks, and more.
Pure stdlib apart from certifi (CA bundle for TLS checks). Linux, macOS & Windows. IPv4 and IPv6.
No root needed for ping, traceroute and MTR on macOS and Linux. Every command returns a meaningful exit code, so it works in scripts and monitoring as well as in your terminal.
██╗ ██╗██████╗ ██╗███╗ ██╗ ██████╗
╚██╗██╔╝██╔══██╗██║████╗ ██║██╔════╝
╚███╔╝ ██████╔╝██║██╔██╗ ██║██║ ███╗
██╔██╗ ██╔═══╝ ██║██║╚██╗██║██║ ██║
██╔╝ ██╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
network diagnostics · beautiful by default
Created by Mehdi Askari — see LICENSE for attribution terms.
📖 Documentation site (searchable; source: docs/guide.md): every command and option explained, with background, check-file reference, recipes and FAQ. The same reference is in man xping.
Features
- Ping — Live per-packet latency bars, animated spinner, sparkline chart, full statistics
- Ping --watch — Continuous live ping with in-place sparkline; Ctrl-C for final summary
- Traceroute — Real-time hop-by-hop path with RTT colour coding and summary;
--asnshows each hop's network operator;--tcptraces with TCP SYNs through firewalls that drop ping (no root) - MTR — Combined live traceroute + per-hop ping, redraws in place each cycle
- No root required — unprivileged ICMP sockets on macOS and Linux for ping, trace and MTR
- IPv6 — IPv6-only hosts just work;
-4/-6force a family - DNS Lookup — A, AAAA, CNAME, MX, NS, TXT (incl. SPF) with reverse DNS;
--dohasks over encrypted DNS-over-HTTPS (Cloudflare, Google, Quad9, any URL) - DNS Health Check — SPF, DMARC (
_dmarc.), DKIM (common selectors), DNSSEC (signed, DS at the parent, validates — or broken), NS redundancy, MX backup, 0–100 score - Blocklist check —
xping blocklist: is an IP, or a domain and its mail servers, on a spam blocklist (Spamhaus, SpamCop, Barracuda, SURBL, URIBL, …)? - DNS Propagation — Compare a record across Google, Cloudflare, Quad9, OpenDNS, AdGuard, Control D and your own resolver
- Reverse DNS — PTR lookup with stdlib fallback to 8.8.8.8 for flaky resolvers
- TCP Connect — Live TCP port checks with connect timing, success rate, and timeline
- UDP probe —
xping udp: is a UDP service answering? DNS, NTP and SNMP requests are built in (or send any payload); open / closed / no response - Clock check —
xping ntp: how far off is this machine's clock (SNTP offset, delay, stratum);--max-offsetalarm - Port Scanner — Concurrent TCP port scans with service names and open-port summary
- IP Scan — Discover live hosts across CIDR blocks or IP ranges using ICMP echo probes
- IP Sweep — Scan CIDR blocks or IP ranges for hosts with open TCP services
- SMTP check —
xping smtp: a mail server's greeting, STARTTLS, certificate, AUTH methods, size limit and reverse DNS; a mail domain uses its MX (no mail is sent) - TLS Inspector — Certificate details, expiry countdown, cipher, and SAN list
- HTTP Diagnostics — Status, redirect chain, a per-phase timing waterfall (DNS · TCP · TLS · server · download, like
curl -w), TLS version/cipher, HTTP/2 detection, and a security-header audit (HSTS, CSP, X-Frame-Options, …) - WHOIS — Domain registration data via port 43 with automatic RDAP fallback over HTTPS
- Network Health Score — 0–100 score combining DNS time, packet loss, latency, and jitter
- Path MTU Discovery — Binary-search for the largest unfragmented packet size
- Saved Profiles —
xping profile add prod-db 10.0.0.5then usexping ping prod-db - Wi-Fi —
xping wifi: signal and noise (dBm), SNR, channel and width, link rate, security, how many nearby networks share your channel, and what to do about it - Connectivity doctor —
xping doctor: finds out why the internet (or a host) is not working — interface, router, internet, DNS, captive portal, HTTPS, clock — and says what to do - Network overview —
xping net: interfaces, gateway, DNS servers, public IPv4/IPv6 - Watch & wait —
--watch/--until-upontcp,udp,httpandhealth - Alerts —
--notify(desktop notification) and--webhook URL(Slack, Discord, Mattermost, any JSON endpoint) when a watched target goes down or comes back - Exit codes & thresholds —
--max-loss,--max-latency,--expect-status,--min-days,--min-score,--quiet - Compare runs —
xping diff before.json after.json: what got better or worse (latency, loss, the route of a trace, DNS records, check statuses);--max-regressionfor CI - History —
--savekeeps a result in~/.xping/history;xping history ping example.netshows the runs, a trend line and how the latest compares with the usual - Batch checks —
xping check checks.tomlruns many checks in parallel with one exit code - Speed test — Multi-connection download/upload via Cloudflare
- All-in-one — Run lookup, ping, trace, and TCP checks in a single command
- Listening ports —
xping listen: local TCP/UDP listeners with process names (Linux) - OS fingerprint —
xping osdetect: guess a remote OS from the ICMP TTL - Personal defaults —
~/.xping/config.tomlfor options you always type ([defaults]and per-command sections);xping configshows them - Tab completion — bash, zsh and fish, with descriptions, hostnames and saved profiles
- Dependency checker —
xping depsdetects missing tools and shows the correct install command for your distro - Machine-readable export —
--json, plus--csv/--markdownas real tables (one row per reply, hop, port, record…) - man page included —
man xpingworks after installation
Windows
XPing is a first-class citizen on Windows, and its test suite runs on Windows in CI. TCP, port scan, sweep, HTTP, TLS, DNS and net work out of the box with Python 3.10+.
Windows has no unprivileged ICMP sockets, so ping and traceroute use the built-in ping / tracert (IPv4 and IPv6):
pipx install xping
xping ping 1.1.1.1
xping trace cloudflare.com
xping deps
xping deps shows which tools are available and how to install missing ones. Tab completion is available for bash, zsh and fish (e.g. in WSL or Git Bash); PowerShell completion is not provided yet.
Installation
Ubuntu 24.04 / Linux Mint 22 / Pop!_OS 24.04 — PPA (recommended)
sudo add-apt-repository ppa:mehdiaskari/xping
sudo apt update
sudo apt install xping
Built for Ubuntu 24.04 LTS (noble) and distributions based on it (Linux Mint 22, Pop!_OS 24.04). This package also sets up tab completion for bash, zsh and fish.
PyPI (all platforms)
pipx install xping
Requires Python 3.10 or newer. Then set up tab completion once: xping completion --install.
Snap
sudo snap install xping # stable channel
sudo snap install xping --edge # latest build from main
The snap includes bash completion.
From source
git clone https://github.com/mehaskari/xping
cd xping
pip install .
Tab completion
The PPA package sets up completion for bash, zsh and fish automatically. With pip, pipx or a source install, run once:
xping completion --install # detects your shell; re-run after upgrading
It completes commands, options (with descriptions in zsh and fish), option values like --proto tcp|udp, hostnames and saved profile names, and .toml/.json files for xping check. To wire it up manually instead, add source <(xping completion zsh) to ~/.zshrc, or eval "$(xping completion bash)" to ~/.bashrc (use eval on macOS, whose bash 3.2 ignores source <(…)). For fish, run xping completion fish > ~/.config/fish/completions/xping.fish. xping completion --uninstall removes it.
Manual page (source installs)
sudo cp man/xping.1 /usr/share/man/man1/
sudo gzip /usr/share/man/man1/xping.1
sudo mandb
man xping
Usage
xping <command> <host> [options]
Ping
xping ping google.com
xping ping 1.1.1.1 -c 10 # 10 packets
xping ping example.com -i 0.2 # 200 ms interval
xping ping host.local -t 5 # 5 s timeout
xping ping google.com --watch # continuous live mode with sparkline
xping ping -6 google.com # IPv6
xping ping 1.1.1.1 -c 20 --max-loss 5 --max-latency 100 # exit 1 if exceeded
Traceroute
xping trace google.com
xping trace 8.8.8.8 --max-hops 15
xping trace example.com --probes 5
xping trace cloudflare.com --asn # network operator (AS) of every hop
xping trace -6 google.com # over IPv6
xping trace example.com --tcp # TCP SYN to port 443 instead of ICMP
xping trace git.example.com --port 22 # TCP to port 22 (--port implies --tcp)
Firewalls often drop ICMP, so an ordinary traceroute stops with * * *
halfway. --tcp sends connection attempts to a port the service really
serves; routers still report the expiring TTL, and the destination
answers with SYN-ACK or RST. It needs no root on Linux (socket error
queue) and macOS (unprivileged ICMP socket); it is not available on
Windows.
MTR (My Traceroute)
xping mtr google.com # combined traceroute + live per-hop ping
xping mtr 1.1.1.1 --cycles 20 # 20 ping cycles per hop
xping mtr example.com --json # export full hop statistics
xping mtr 1.1.1.1 --asn # add an AS / operator column
DNS Lookup
xping lookup github.com
xping lookup github.com --full # includes TXT records (SPF etc.)
xping lookup example.com --doh cloudflare # DNS-over-HTTPS: past resolvers that filter or rewrite
xping dnscheck github.com # SPF / DMARC / DKIM / DNSSEC / NS / MX health check
Blocklist (DNSBL) Check
xping blocklist 203.0.113.25 # an IP on 8 spam blocklists
xping blocklist mycompany.com # the domain on 3 domain lists + its MX / web IPs
xping blocklist 203.0.113.25 --zone bl.example.org
xping blocklist mycompany.com --all # every list for every address, not the summary
Each result is listed, policy (Spamhaus PBL: an end-user address range, normal for home connections), clean, refused (some lists refuse queries via public resolvers like 8.8.8.8) or error. Exit code 1 when listed.
DNS Propagation
xping propagation example.com # A record on 7 resolvers
xping propagation example.com --type MX
xping propagation example.com --expect 203.0.113.10 # exit 1 until it has propagated
xping propagation example.com --server 10.0.0.53 # add your own resolver
Different answers alone don't fail the command (CDNs and geo-DNS vary on purpose). --expect turns it into a pass/fail check.
Reverse DNS
xping rdns 8.8.8.8 # resolve IP → hostname (PTR record)
xping rdns 1.1.1.1 --json
TCP Connectivity
xping tcp example.com 443
xping tcp db.internal 5432 -c 5 # 5 connection attempts
xping tcp api.example.com 8443 -t 3 -i 1
xping tcp db.internal 5432 --watch # live up/down log, uptime summary on Ctrl-C
xping tcp db.internal 5432 --until-up # wait until the port accepts connections
UDP Probe
xping udp 1.1.1.1 53 # DNS server answering? (probe chosen by port)
xping udp time.apple.com 123 # NTP
xping udp switch.lan 161 # SNMP agent (community "public")
xping udp host 9999 --payload "de ad be ef"
UDP has no handshake, so a reply is the only proof a service is there: open (it replied), closed (ICMP port unreachable) or no response (filtered, or the service ignored the request). Only open exits 0.
Clock Check (NTP)
xping ntp # offset against pool.ntp.org
xping ntp time.cloudflare.com --max-offset 100 -q || echo "clock drift"
Shows the clock offset (a positive value means your clock is behind), its accuracy (± half the round trip), the round-trip delay, and the server's stratum and reference, using the lowest-delay sample of several.
TLS Inspector
xping tls github.com # certificate details and expiry
xping tls example.com --port 8443
xping tls github.com --json
SMTP (Mail Server) Check
xping smtp gmail.com # the domain's preferred MX on port 25
xping smtp smtp.gmail.com --port 465 # implicit TLS; shows AUTH methods
xping smtp mail.mycompany.com --require-tls --min-days 21
Greeting, EHLO extensions, STARTTLS (or implicit TLS on 465), certificate
verification for the server's name, AUTH mechanisms, the maximum message
size, and whether the server's reverse DNS resolves back. It ends with
QUIT and never sends mail. Missing TLS is a warning unless
--require-tls is given.
HTTP Diagnostics
xping http https://example.com # status, timing waterfall, TLS, security headers
xping http http://github.com # follows redirects automatically
xping http https://api.example.com --json
xping http https://example.com --watch # watch a website, highlight outages
Each phase of the final request is timed on its own and drawn as a waterfall:
── Timing ──────────────────────────────────────────
DNS lookup 1.50 ms █
TCP connect 108.69 ms ███
TLS handshake 124.48 ms ████
Server response 230.19 ms ████████
Download 38.95 ms █
Total 503.81 ms
Server response is the time from sending the request to the first
response byte (TTFB); Redirects appears when redirects were followed.
The security headers section checks HTTPS (and an http→https
upgrade), Strict-Transport-Security (max-age ≥ 180 days),
Content-Security-Policy, X-Content-Type-Options: nosniff,
X-Frame-Options (or CSP frame-ancestors), Referrer-Policy,
Permissions-Policy, and Server / X-Powered-By headers that reveal
software versions. It is informational and never changes the exit code.
WHOIS
xping whois cloudflare.com # registration data, port 43 + RDAP fallback
xping whois github.com --json
Network Health Score
xping health google.com # 0-100 score with actionable findings
xping health 1.1.1.1 -c 16 # more ping packets for better accuracy
xping health example.com --json
Path MTU Discovery
xping mtu 8.8.8.8 # find largest unfragmented packet size
xping mtu example.com --max-mtu 9000 # for jumbo frames
Saved Profiles
xping profile add prod-db 10.0.0.5 --port 5432 --note "Production DB"
xping profile add staging-api staging.example.com
xping profile list
xping profile list --names # bare names, one per line (for scripts)
xping profile show prod-db
xping profile remove prod-db
# Use a profile name anywhere a host is expected:
xping ping prod-db
xping tcp prod-db 5432
xping health staging-api
Connectivity Doctor
xping doctor # why is the internet not working?
xping doctor github.com # ...and is this host reachable (TCP 443)?
xping doctor db.local --port 5432
Checks, in order: network interface (and DHCP), default gateway, internet by IP (no DNS), DNS (your resolvers vs. a public one), connection quality, captive portal (Wi-Fi login page), HTTPS (interception, system clock), IPv6, and the optional host. It ends with one plain-language diagnosis — e.g. "The router works, but there is no internet behind it" — and what to do about it. Exit code 1 when any step fails.
✔ Network interface en0 192.168.1.20
✔ Default gateway 192.168.1.1 replied in 3.1 ms
✔ Internet (by IP) reached 3/3 — 1.1.1.1 in 18.4 ms
✘ DNS your DNS servers (192.168.1.1) do not answer, but public DNS does
– Captive portal DNS is not working
...
✘ The internet works, but name lookups (DNS) fail.
Switch DNS to 1.1.1.1 or 8.8.8.8 (or restart the router, which usually provides DNS).
Wi-Fi
xping wifi # signal, noise, SNR, channel, link rate, security
xping wifi --nearby # plus the networks around you, strongest first
xping wifi --min-signal=-67 -q || echo "weak Wi-Fi"
Grades the signal (Excellent ≥ −55 dBm … Very weak), flags a low
signal-to-noise ratio and crowded channels, spots a clearly stronger
access point nearby (a device "stuck" on a far one), and suggests a fix
(move closer, toggle Wi-Fi, switch to 5 GHz, or the least used of
channels 1 / 6 / 11). Uses
system_profiler (macOS), iw / nmcli (Linux) or netsh (Windows);
macOS hides network names unless the terminal has Location Services
permission.
Network Overview
xping net # interfaces, gateway, DNS servers, public IPv4/IPv6
xping net --no-public # skip the public-IP lookup (nothing leaves your network)
xping net --all # include interfaces with only link-local addresses
Speed Test
xping speedtest # 4 parallel connections (default)
xping speedtest -c 1 # single stream (uses less data)
xping speedtest -d 5 --json # 5-second download phase, JSON output
A single stream under-reports fast links. The default uses up to ~40 MB down and 8 MB up.
Listening Ports & OS Fingerprint
xping listen # local TCP/UDP listeners (process names on Linux)
xping listen --proto tcp
xping osdetect 192.168.1.1 # guess the remote OS from the ICMP TTL (a heuristic)
Port Scan
xping portscan example.com
xping portscan example.com --ports 22,80,443
xping portscan 10.0.0.5 --ports 1-1024 -t 0.3 -w 200
IP Scan
xping ipscan 192.168.1.0/24
xping ipscan 10.0.0.10-10.0.0.50 -t 0.5 -w 128
xping ipscan 172.16.0.0/24 --limit 512
IP Sweep
xping sweep 192.168.1.0/24
xping sweep 10.0.0.10-10.0.0.50 --ports 22,80,443
xping sweep 172.16.0.0/24 --ports 3389,5985 --limit 512
All at once
xping all cloudflare.com
xping all example.com --json
Runs full DNS lookup, 4-packet ping, traceroute, and TCP checks on ports 443 and 80.
Personal defaults
xping config --example > ~/.xping/config.toml # commented starter file
xping config # what is active
[defaults]
timeout = 3
[ping]
count = 10
[lookup]
doh = "cloudflare"
Keys are long option names; the command line always wins (and -6
beats ipv4 = true, --server beats doh). Typos and bad values are
reported, never ignored. XPING_CONFIG=none ignores the file for one run.
Export formats
Every diagnostic command accepts structured output flags (interactive rendering is suppressed). Redirect to save to a file:
xping ping 1.1.1.1 --json
xping trace example.com --csv > hops.csv # one row per hop, one column per probe
xping lookup github.com --full --markdown
xping all cloudflare.com --json > report.json
--jsonis the complete nested result.--csvis one row per item (ping reply, hop, port, DNS record, check…), ready for a spreadsheet. Results that are a set of fields (tls, whois, http, health…) exportfield,valuerows.--markdownis a summary table plus one table per section.
Dependency check
xping deps
Scripting, exit codes & monitoring
| Exit code | Meaning |
|---|---|
0 |
The check passed |
1 |
The check failed: unreachable, closed, HTTP ≥ 400, expired cert, DNS error, a threshold exceeded, or a failed check in a check file |
2 |
Invalid usage or an invalid check file |
130 |
Interrupted (Ctrl-C) |
Thresholds turn any check into an alarm. Add -q / --quiet for no output at all:
xping ping 1.1.1.1 -c 10 --max-loss 10 --max-latency 150 -q || alert "link degraded"
xping tls example.com --min-days 14 -q || echo "renew the certificate"
xping http https://example.com --expect-status 200 --max-latency 800
xping health example.com --min-score 75
xping tcp db.internal 5432 --until-up -q && ./migrate
Alerts: --notify and --webhook
In watch mode (ping --watch, and --watch / --until-up on tcp,
udp, http, health), xping can tell you when the state changes:
xping tcp db.local 5432 --watch --notify # desktop notification
xping http https://example.com --watch --every 30 \
--webhook https://hooks.slack.com/services/T000/B000/XXXX
xping tcp db.local 5432 --until-up -q --notify # "it's back" and exit
-
An event fires on every DOWN and UP change (the UP message says how long the outage lasted). The first check only sets the baseline, except that
--until-upalways announces the final UP. -
ping --watchcounts a host as down after 3 lost pings in a row, so a single dropped packet is not an outage. -
--notifyuses Notification Center on macOS andnotify-sendon Linux; elsewhere it rings the terminal bell. -
--webhookPOSTs one JSON object per event.text(Slack, Mattermost, Google Chat) andcontent(Discord) hold a ready-made message:{"source": "xping", "event": "down", "target": "db.local:5432", "check": "tcp", "detail": "db.local:5432 refused or timed out on every attempt", "latency_ms": null, "time": "2026-09-26T09:40:12+00:00", "machine": "laptop", "text": "🔴 xping: db.local:5432 (tcp) is DOWN — …", "content": "…"}
Delivery runs in the background; a failing endpoint is reported once and never stops the watch.
Compare runs
xping ping example.net --json > baseline.json
xping ping example.net --json | xping diff baseline.json - # - = stdin
xping http https://example.com --json | xping diff before.json - --max-regression 25
Recognises the kind of result and compares what matters: RTT, jitter and
loss; each HTTP phase; the route of trace / mtr; DNS records; and
the status of every dnscheck / doctor / check item. Changes under
3% (10% for jitter and the maximum RTT) are treated as noise, and notes
flag unequal or small sample sizes and say what a change most likely
means (a slower route vs. a busy local link). --max-regression PCT exits 1 when something
got worse by more than PCT, or a status got worse.
History
xping ping example.net -c 30 --save # opt in, per run (or save = true in the config)
xping history # what is recorded
xping history ping example.net --since 7d # runs, trend, latest vs. the median
--save works on ping, trace, mtr, health, tls, tcp, udp, http, smtp,
dnscheck, blocklist, ntp, speedtest, wifi and doctor. The newest 500 runs
per command and target are kept; --clear deletes them.
Batch checks
Put many checks in one file and get one exit code (TOML needs Python 3.11+; JSON works everywhere):
xping check --example > checks.toml # commented starter file
xping check checks.toml # parallel run, pass/fail table
xping check checks.toml --json > report.json
[defaults]
timeout = 3
[[check]]
name = "Database"
type = "tcp" # ping | tcp | udp | ntp | http | tls | smtp | lookup | dnscheck | blocklist | health | propagation
host = "prod-db" # saved profile names work
port = 5432
max_latency = 50
[[check]]
name = "Certificate"
type = "tls"
host = "example.com"
min_days = 14
Permissions
On macOS, and on Linux distributions that allow unprivileged ICMP ("ping") sockets (most current ones do), ping, trace, mtr and health work without root. Otherwise xping uses raw sockets when run as root, and falls back to the system ping / traceroute binaries.
xping deps shows which mode your system supports. To allow unprivileged ICMP sockets on a Linux box that disables them:
sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
Files & privacy
xping keeps its state under ~/.xping/:
| Path | Contents |
|---|---|
~/.xping/profiles.json |
Saved target profiles |
~/.xping/health_history.json |
xping health score history (last 50 per host) |
~/.xping/completions/ |
Completion scripts written by xping completion --install |
~/.xping/config.toml |
Your personal defaults (written by you, only read by xping) |
~/.xping/history/ |
Results saved with --save (newest 500 runs per command and target) |
xping completion --install also adds a clearly marked block to your shell's rc file; --uninstall removes it.
Diagnostics talk to the host you name. A few features also contact third-party services, and each is used only by the command that needs it:
| Command | Contacts |
|---|---|
net |
1.1.1.1 (Cloudflare) to report your public IP; skip with --no-public |
doctor |
1.1.1.1, 8.8.8.8, 9.9.9.9 (TCP 443, ping, one DNS query), captive.apple.com (HTTP) and www.cloudflare.com (HTTPS) |
ntp |
pool.ntp.org, unless you name another server |
speedtest |
speed.cloudflare.com |
trace --asn / mtr --asn |
Team Cymru DNS (hop addresses are looked up there); opt-in |
propagation |
Google, Cloudflare, Quad9, OpenDNS, AdGuard and Control D public resolvers |
whois |
IANA and registry WHOIS / RDAP servers |
blocklist |
The blocklists' DNS servers (via your resolver) — they see the IP or domain you check |
--webhook URL |
Only the URL you give, with the target name and check result |
lookup, dnscheck |
8.8.8.8 directly, only when dig is not installed (otherwise your resolver) |
lookup --doh |
The DoH provider you choose (Cloudflare, Google, Quad9 or your URL) |
dnscheck |
1.1.1.1 (fallback 8.8.8.8) for the DNSSEC check |
rdns |
8.8.8.8, only when the system resolver finds no PTR record |
Environment variables
| Variable | Effect |
|---|---|
NO_COLOR |
Disable all ANSI colour output |
XPING_DEBUG |
Print full Python tracebacks on errors |
XPING_CONFIG |
Another config file; none ignores ~/.xping/config.toml |
SHELL |
Shell that xping completion --install sets up |
ZDOTDIR, XDG_CONFIG_HOME |
Honoured by completion --install (zsh rc / fish config location) |
Contributing
- Fork and clone the repository
pip install -e ".[dev]"- Make your changes, with tests
- Run
pytestandruff check xping/ --config ruff.toml - Open a pull request. CI runs the tests on Linux, macOS and Windows.
See CONTRIBUTING.md for the full checklist, including how to add a new command.
License
MIT with Mandatory Attribution — see LICENSE.
Any fork, derivative work, or redistribution must visibly credit Mehdi Askari <iorganamis@gmail.com>.
Metadata
Release files for xping 1.4.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xping-1.4.9.tar.gz | 265.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xping-1.4.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 510.4 kB
Release files / xping-1.4.9.tar.gz
| Download URL | xping-1.4.9.tar.gz |
|---|---|
| Size | 265.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a73a9f57f5a4398a3258c0083ad4cdac4b769d73db3ffbf77261908a070d458
|
|
BLAKE2b-256 checksum How to use checksums |
b16a54f1b375e93cc473c3bc7fd0ade029dcf8f5fba4678dec3307c7c4393b5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / xping-1.4.9-py3-none-any.whl
| Download URL | xping-1.4.9-py3-none-any.whl |
|---|---|
| Size | 244.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1e5e68cf5adf10e5cdf1d62b43e5bf2eea22823c038882e4d8955dd1ce67261
|
|
BLAKE2b-256 checksum How to use checksums |
2943b397d2d698e65ee0f296680ca4f0ac8461e14c6a14cec227d032a378c765
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency log