Command line interface for testing internet bandwidth using speedtest.net
Go to file
pkubica 67823e9d57 Merge 10d666daac into 7b09d8759f 2016-04-30 16:56:53 +00:00
.gitignore Initial commit 2012-09-10 12:17:53 -07:00
.travis.yml Remove py31 2015-05-20 18:00:19 -05:00
CONTRIBUTING.md Some additional coding guidelines 2014-05-20 16:34:17 -05:00
LICENSE LICENSE 2013-04-26 22:37:03 -05:00
MANIFEST.in Add MANIFEST.in 2013-10-08 07:15:42 -05:00
README.rst distance, upload and download options 2016-04-30 18:51:06 +02:00
setup.cfg Support building wheels. Fixes #126 2015-02-26 10:51:32 -06:00
setup.py python < 2.6 does not have the 'with' statement 2014-04-23 10:31:23 -05:00
speedtest-cli.1 Update man page with --bytes argument 2014-04-23 11:52:26 -05:00
speedtest_cli.py distance, upload and download options 2016-04-30 18:51:06 +02:00
tox.ini Meant to add an additional line for compileall 2015-05-20 14:52:35 -05:00

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.4

.. 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_cli.py
    chmod +x speedtest-cli

or

::

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

Usage
-----

::

    $ speedtest-cli -h
    usage: speedtest_cli.py [-h] [--bytes] [--share] [--simple] [--list]
                        [--distance DISTANCE] [--download] [--upload]
                        [--server SERVER] [--mini MINI] [--source SOURCE]
                        [--timeout TIMEOUT] [--secure] [--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
	  --bytes              Display values in bytes instead of bits. Does not
						   affect the image generated by --share
	  --share              Generate and provide a URL to the speedtest.net share
						   results image
	  --simple             Suppress verbose output, only show basic information
	  --list               Display a list of speedtest.net servers sorted by
						   distance
	  --distance DISTANCE  Limit distance speedtest.net servers, list only closer
						   servers than specified
	  --download           Test only download
	  --upload             Test only upload
	  --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
	  --version            Show the version number and exit

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.