Библиотека проверки скорости интернета — Speedtest

Python — широко используемый высокоуровневый язык программирования общего назначения. Он используется для веб-разработки, машинного обучения и даже приложений с графическим интерфейсом. Его же можно использовать для проверки скорости интернета. Для этого в Python есть несколько библиотек. Одна из таких — speedtest-cli.
Speedtest-cli — это интерфейс командной строки для проверки скорости с помощью сервиса speedtest.net.
Установка
Модуль не является предустановленным в Python. Для его установки нужно ввести следующую команду в терминале:
pip install speedtest-cli
После установки библиотеки можно проверить корректность и версию пакета. Для этого используется такая команда:
& speedtest-cli --version speedtest-cli 2.1.2 Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]
Возможности speedtest-cli
Что делает Speedtest-CLI?
Speedtest-cli — это модуль, используемый в интерфейсе командной строки для проверки пропускной способности с помощью speedtest.net. Для получения скорости в мегабитах введите команду: speedtest-cli.

Это команда даст результат скорости в мегабитах. Для получения результата в байтах нужно добавить один аргумент к команде.
$ speedtest-cli --bytes Retrieving speedtest.net configuration... Testing from ******** (******)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by ******** (***) [1.85 km]: 3.433 ms Testing download speed......................................................... Download: 22.98 Mbyte/s Testing upload speed............................................................... Upload: 18.57 Mbyte/s
Также с помощью модуля можно получить графическую версию результата тестирования. Для этого есть такой параметр:
$ speedtest-cli --share Retrieving speedtest.net configuration... Testing from ***** (****)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by ***** (***) [1.85 km]: 3.155 ms Testing download speed....................................... Download: 164.22 Mbit/s Testing upload speed............................................................ Upload: 167.82 Mbit/s Share results: http://www.speedtest.net/result/11111111111.png
Команда вернет ссылку, по которой можно перейти в браузере:

Для вывода более простой версии результатов теста, в которой будут только сведения о пинге, скорости скачивания и загрузки используйте параметр --simple.
$ speedtest-cli --simple Ping: 3.259 ms Download: 182.49 Mbit/s Upload: 172.16 Mbit/s
Использование speedtest в Python
Рассмотрим пример программы Python для тестирования скорости интернета:
Копировать
import speedtest
st = speedtest.Speedtest()
option = int(input('''
Выбери тип проверки:
1 - Скорость скачивания
2 - Скорость загрузки
3 - Пинг
Твой выбор: '''))
if option == 1:
print(st.download())
elif option == 2:
print(st.upload())
elif option == 3:
servernames =[]
st.get_servers(servernames)
print(st.results.ping)
else:
print("Пожалуйста, введите цифру от 1 до 3!")
Результат выполнения этой простой программы будет такой:
Выбери тип проверки: 1 - Скорость скачивания 2 - Скорость загрузки 3 - Пинг Твой выбор: 2 136433948.59785312
Дополнение
Что бы погрузится в библиотеку speedtest-cli используйте команду --help, что бы получить список всех доступных параметров:
speedtest-cli --help # или speedtest-cli -h