speedtest-cli
Command line interface for testing internet bandwidth using speedtest.net
What it is and what it does
speedtest-cli is a command-line interface for measuring internet bandwidth using speedtest.net. It runs download and upload speed tests against speedtest.net servers and reports results in multiple formats (plain text, CSV, JSON, or as a shareable URL). The tool requires no external dependencies and can be invoked directly from the terminal with various options to customize the test behavior—such as testing only download or upload, using a single connection instead of multiple parallel ones, or binding to a specific source IP.
The package is production-stable according to its classifier but has been abandoned since April 2021. The repository is archived and no longer maintained. While the code itself is straightforward and has no runtime dependencies, there is significant risk that speedtest.net has changed its API or server infrastructure in the years since the last release, potentially rendering the tool non-functional. The description itself notes that results may be inconsistent with the official Speedtest.net application due to differences in implementation and Python execution speed.
Use it for:
- Quick bandwidth checks from a server or headless system where a GUI is not available
- Automated network monitoring scripts that need to log speed test results at regular intervals
- Scripted network diagnostics to verify ISP performance claims or troubleshoot connectivity issues
- Integration into CI/CD pipelines to detect network degradation during test runs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Command-line tool that measures internet bandwidth (download and upload speeds) by connecting to speedtest.net servers.
No. The package is abandoned (last release April 2021, repository archived) and has not been maintained for over two years. While it has no dependencies and a permissive license, the risk that speedtest.net's API or infrastructure has changed since the last release is high, making the tool likely to fail silently or report incorrect results. For current bandwidth testing, use a maintained alternative or the official Speedtest application.
Install
speedtest-cli on PyPI
pip
pip install speedtest-cliuv
uv add speedtest-clipoetry
poetry add speedtest-cliInstalling speedtest-cli
Before you install
Installation is straightforward with no runtime dependencies. However, the package is archived and abandoned—the last release was in April 2021 and the repository has not been maintained since. It may not work reliably with current speedtest.net infrastructure or modern Python versions.
License in practice
Licensed under Apache License 2.0 (permissive), which allows free use, modification, and distribution with minimal restrictions. No licensing concerns for typical use.
Quickstart
pip install speedtest-cli
speedtest-cli --simple
The package was last updated in 2021 and the repository is archived; speedtest.net may have changed its API or server infrastructure since then, potentially breaking functionality.
Verify before relying
- Whether the tool still connects successfully to current speedtest.net servers given the 2021 last-release date and archived status
- Compatibility with Python versions released after 3.7, which is the latest version listed in the package metadata
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,954 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 397,590/month — #6,957 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: speedtest_cli-2.1.3-py2.py3-none-any.whl
Keywords: speedtest, speedtest.net
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
aiopingaioping provides an asyncio-based ICMP ping…
copyleft · top 15,000 on PyPI
ping3Ping3 sends ICMP echo requests to hosts and…
permissive · top 15,000 on PyPI
pythonpingSends ICMP ping requests to remote hosts from…
permissive · top 15,000 on PyPI
argparseProvides command-line argument parsing for…
permissive · top 1,000 on PyPI
pip-licensesA command-line tool that scans installed Python…
permissive · top 5,000 on PyPI
cloudsmith-cliA command-line interface to the Cloudsmith…
permissive · top 15,000 on PyPI
parquet-toolsCommand-line tool to read, inspect, and export…
permissive · top 15,000 on PyPI
genie.telemetryGenie Telemetry monitors testbed health status…
permissive · top 15,000 on PyPI
trcliA command-line tool for uploading test…
unclear · top 15,000 on PyPI
pytest-csvA pytest plugin that exports test results to…
copyleft · top 15,000 on PyPI