Command line interface for testing internet bandwidth using speedtest.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Matt Martz ca72d40033 Create a getter for Speedtest.best to raise an exception is get_best_server has not found a best server 6 years ago
.gitignore Initial commit 11 years ago
.travis.yml Indicate speedtest-cli supports python 3.6, and ensure py3.2 has an appropriate setuptools version 6 years ago
CONTRIBUTING.md Some additional coding guidelines 9 years ago
LICENSE LICENSE 10 years ago
MANIFEST.in Add MANIFEST.in 10 years ago
README.rst Indicate speedtest-cli supports python 3.6, and ensure py3.2 has an appropriate setuptools version 6 years ago
setup.cfg Support building wheels. Fixes #126 8 years ago
setup.py Indicate speedtest-cli supports python 3.6, and ensure py3.2 has an appropriate setuptools version 6 years ago
speedtest-cli.1 update usage information 7 years ago
speedtest.py Create a getter for Speedtest.best to raise an exception is get_best_server has not found a best server 6 years ago
speedtest_cli.py Deprecate speedtest_cli.py 7 years ago
tox.ini Revert "Test failing --source" 6 years ago

README.rst

speedtest-cli
=============

Command line interface for testing internet bandwidth using
speedtest.net

.. image:: https://img.shields.io/pypi/v/speedtest-cli.svg
:target: https://pypi.python.org/pypi/speedtest-cli/
:alt: Latest Version
.. image:: https://img.shields.io/pypi/dm/speedtest-cli.svg
:target: https://pypi.python.org/pypi/speedtest-cli/
:alt: Downloads
.. image:: https://img.shields.io/pypi/l/speedtest-cli.svg
:target: https://pypi.python.org/pypi/speedtest-cli/
:alt: License

Versions
--------

speedtest-cli works with Python 2.4-3.6

.. image:: https://img.shields.io/pypi/pyversions/speedtest-cli.svg
:target: https://pypi.python.org/pypi/speedtest-cli/
:alt: Versions

Installation
------------

pip / easy\_install
~~~~~~~~~~~~~~~~~~~

::

pip install speedtest-cli

or

::

easy_install speedtest-cli

Github
~~~~~~

::

pip install git+https://github.com/sivel/speedtest-cli.git

or

::

git clone https://github.com/sivel/speedtest-cli.git
python speedtest-cli/setup.py install

Just download (Like the way it used to be)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

or

::

curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

Usage
-----

::

$ speedtest-cli -h
usage: speedtest-cli [-h] [--no-download] [--no-upload] [--bytes] [--share]
[--simple] [--csv] [--csv-delimiter CSV_DELIMITER]
[--csv-header] [--json] [--list] [--server SERVER]
[--mini MINI] [--source SOURCE] [--timeout TIMEOUT]
[--secure] [--no-pre-allocate] [--version]

Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli

optional arguments:
-h, --help show this help message and exit
--no-download Do not perform download test
--no-upload Do not perform upload test
--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
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with
speedtest.net operated servers
--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/sivel/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.