https://github.com/rany2/speedtest-cli
Fork of sivel/speedtest-cli to fix some bugs and add features I want
https://github.com/rany2/speedtest-cli
Last synced: about 1 year ago
JSON representation
Fork of sivel/speedtest-cli to fix some bugs and add features I want
- Host: GitHub
- URL: https://github.com/rany2/speedtest-cli
- Owner: rany2
- License: apache-2.0
- Created: 2023-12-10T20:10:36.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-10T20:16:01.000Z (over 2 years ago)
- Last Synced: 2025-01-31T15:40:08.147Z (over 1 year ago)
- Language: Python
- Size: 285 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# speedtest-cli
Command line interface for testing internet bandwidth using
speedtest.net
## Versions
speedtest-cli works with Python 3.6-3.12
## Installation
### Github
pip install git+https://github.com/rany2/speedtest-cli.git
or
git clone https://github.com/rany2/speedtest-cli.git
cd speedtest-cli
python setup.py install
### Just download (Like the way it used to be)
wget -O speedtest-cli https://raw.githubusercontent.com/rany2/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
or
curl -Lo speedtest-cli https://raw.githubusercontent.com/rany2/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
## Usage
```
usage: speedtest.py [-h] [--no-download] [--no-upload] [--single] [--bytes]
[--share] [--simple] [--csv] [--csv-delimiter CSV_DELIMITER]
[--csv-header] [--json] [--list] [--limit LIMIT]
[--server SERVER] [--search [SEARCH ...]] [--exclude EXCLUDE]
[--source SOURCE] [--timeout TIMEOUT] [--no-verify]
[--no-pre-allocate] [--version]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli
options:
-h, --help show this help message and exit
--no-download Do not perform download test
--no-upload Do not perform upload test
--single Only use a single connection instead of multiple. This
simulates a typical file transfer.
--bytes Display values in bytes instead of bits. Does not affect
the image generated by --share, nor output from --json or
--csv
--share Generate and provide a URL to the speedtest.net share
results image, not displayed with --csv
--simple Suppress verbose output, only show basic information
--csv Suppress verbose output, only show basic information in CSV
format. Speeds listed in bit/s and not affected by --bytes
--csv-delimiter CSV_DELIMITER
Single character delimiter to use in CSV output. Default
","
--csv-header Print CSV headers
--json Suppress verbose output, only show basic information in
JSON format. Speeds listed in bit/s and not affected by
--bytes
--list Display a list of speedtest.net servers sorted by distance
--limit LIMIT Maximum number of servers to get. Default 10
--server SERVER Specify a server ID to test against. Can be supplied
multiple times
--search [SEARCH ...]
Search for a server with the provided string in the name
--exclude EXCLUDE Exclude a server from selection. Can be supplied multiple
times
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 5
--no-verify Do not verify SSL certs. Default True
--no-pre-allocate Do not pre allocate upload data. Pre allocation is enabled
by default to improve upload performance. To support
systems with insufficient memory, use this option to avoid
a MemoryError
--version Show the version number and exit
```
## Python API
See the [wiki](https://github.com/rany2/speedtest-cli/wiki).
## Inconsistency
It is not a goal of this application to be a reliable latency reporting
tool.
Latency reported by this tool should not be relied on as a value
indicative of ICMP style latency. It is a relative value used for
determining the lowest latency server for performing the actual speed
test against.
There is the potential for this tool to report results inconsistent with
Speedtest.net. There are several concepts to be aware of that factor
into the potential inconsistency:
1. Speedtest.net has migrated to using pure socket tests instead of
HTTP based tests
2. This application is written in Python
3. Different versions of Python will execute certain parts of the code
faster than others
4. CPU and Memory capacity and speed will play a large part in
inconsistency between Speedtest.net and even other machines on the
same network
Issues relating to inconsistencies will be closed as wontfix and without
additional reason or context.