Skip to main content

Speed Test CLI

A terminal-based application to test your internet speed, view historical results, and export them to a CSV file. This tool provides a graphical and tabular representation of download speed, upload speed, and ping, and allows users to select specific servers for testing.

Features

  • Test your internet speed (download, upload, and ping).
  • View a graphical and tabular summary of the results.
  • Select specific servers for more accurate testing.
  • Save results in JSON format for future reference.
  • View historical data of past speed tests.
  • Export historical data to a CSV file.
  • Run multiple tests and calculate average results.

Installation

  1. Clone the repository:

    git clone https://github.com/s3bu7i/Speed-Test-CLI.git
    cd Speed-Test-CLI
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    
  3. Run the application:

    python main.py
    

Usage

Main Menu Options

  1. Run Speed Test: Perform a single speed test and view results.
  2. Run Multiple Tests: Perform multiple speed tests and calculate average results.
  3. View Historical Data: View saved results from previous tests.
  4. Export Historical Data to CSV: Save historical data in a CSV file for analysis.
  5. Exit: Close the application.

Example Output

Speed Test Results

+-----------------+--------------------+
| Metric          | Value              |
+-----------------+--------------------+
| Ping            | 15 ms             |
| Download Speed  | 95 Mbps           |
| Upload Speed    | 12 Mbps           |
+-----------------+--------------------+

Graphical Representation:
Download Speed: ██████████ 95 Mbps
Upload Speed:   ████ 12 Mbps
Ping:           ███ 15 ms

Historical Data

+---------------------+------------------+------------------+------+
| Date                | Download Speed   | Upload Speed     | Ping |
+---------------------+------------------+------------------+------+
| 2024-01-01 12:34:56 | 95 Mbps         | 12 Mbps          | 15 ms|
| 2024-01-02 14:22:10 | 80 Mbps         | 10 Mbps          | 20 ms|
+---------------------+------------------+------------------+------+

Exported CSV Format

date,download,upload,ping
2024-01-01 12:34:56,95,12,15
2024-01-02 14:22:10,80,10,20

Dependencies

To install these dependencies, run:

pip install speedtest-cli rich

File Structure

Speed-Test-CLI/
├── speed_test_tool/
│   ├── __init__.py
│   ├── main.py       # Main program file
│   ├── utils.py      # Utility functions
├── requirements.txt  # Required dependencies
├── README.md         # Documentation
└── LICENSE           # License file

Saving and Exporting Results

  • JSON: Results are automatically saved in speedtest_results.json.
  • CSV: Export results to speedtest_results.csv from the main menu.

Troubleshooting

  • Ensure Python 3.7 or later is installed.
  • Install the dependencies using the requirements.txt file.
  • If you encounter server selection issues, the app will default to auto-selecting the best server.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Images

Here are some screenshots of the tool: Mainmenu Functions

Release files for speed-test-tool 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for speed-test-tool 1.0.1
File Size Uploaded
speed-test-tool-1.0.1.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for speed-test-tool 1.0.1
File Interpreter ABI Platform
speed_test_tool-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 33.3 kB

Release files / speed-test-tool-1.0.1.tar.gz

Download URL speed-test-tool-1.0.1.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
553fcfb2b69f75fa74fabd4d926da4fce79ea6bb826ca8a70af102066aca9a14
BLAKE2b-256 checksum
How to use checksums
f8e79b3335e13ebcd9217619f1595e94d7a113e7560584539d0633ea99ab4a80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.7

Release files / speed_test_tool-1.0.1-py3-none-any.whl

Download URL speed_test_tool-1.0.1-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b326c9c16529d186329adda3c4727216d1fdac43bc248bae3bab2955286b2f08
BLAKE2b-256 checksum
How to use checksums
c41523cf015b5c0a2f78c3ecd6b4778f11a91b75bc9bb5e46a4ada5e99fdc434
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.7

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page