speedtest-cli README

The project's README from github.com/sivel/speedtest-cli. As one markdown file: README.md.

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/travis/sivel/speedtest-cli.svg :target: https://pypi.python.org/pypi/speedtest-cli/ :alt: Travis .. 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.7

.. 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
    cd speedtest-cli
    python 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] [--single] [--bytes]
                     [--share] [--simple] [--csv]
                     [--csv-delimiter CSV_DELIMITER] [--csv-header] [--json]
                     [--list] [--server SERVER] [--exclude EXCLUDE]
                     [--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
  --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
  --server SERVER       Specify a server ID to test against. Can be supplied
                        multiple times
  --exclude EXCLUDE     Exclude a server from selection. Can be supplied
                        multiple times
  --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.

speedtest-cli (sivel/speedtest-cli)

Searching Database…

14K ·GitHub
archived
这是什么?这是一个命令行工具,利用 speedtest.net 的服务器和基础设施来测试你的网络带宽。
这只是个命令行工具,还是我也能把它当作 Python 库来用?它主要是一个命令行脚本,但也提供了用于脚本编程的 Python API,相关文档见项目 wiki。
speedtest-cli 怎么安装?用 'pip install speedtest-cli' 安装即可,或者用 wget/curl 直接下载那个单独的 Python 脚本,并把它设为可执行,无需编译步骤。
运行它需要什么?只需要 Python 本身。它是纯 Python 脚本,没有外部依赖,支持 Python 2.4 至 3.7 版本。
我能相信它的延迟数据吗?它还在维护吗?该仓库已归档,因此不会再有更新。作者还明确提醒,它并不是可靠的延迟报告工具,速度和延迟读数可能与 speedtest.net 自身的结果存在差异。
除了纯文本报告,它还支持哪些输出格式?除了默认的详细输出,你还可以用 --simple 获取简要摘要,用 --csv 或 --json 获取格式化结果,甚至可以通过 --share 生成可分享的 speedtest.net 测速结果图片。
我能选择用哪个 speedtest.net 服务器来测试吗?可以。--list 会按距离排序列出附近的服务器,--server 可以指定某一台服务器,--exclude 则可以跳过你不想使用的服务器。
默认情况下,它会同时测试下载和上传速度吗?会,默认两项都会测。不过可以分别用 --no-download 或 --no-upload 跳过其中一项,而 --single 会强制使用单连接测试,以模拟典型的文件传输。
为什么我的结果可能和 speedtest.net 官方的不一样?README 中列出了几个原因:speedtest.net 现在使用原始套接字而非 HTTP 进行测试;不同的 Python 版本会影响执行速度;本地 CPU 和内存的性能也可能影响结果。
Creator
sivel
Size
0.3 MB
Stars
14K
Age
14y
Commits · 90 Days