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.
- 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.
-
Clone the repository:
git clone https://github.com/s3bu7i/Speed-Test-CLI.git cd Speed-Test-CLI
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the application:
cd speed_test_tool python main.py
- Run Speed Test: Perform a single speed test and view results.
- Run Multiple Tests: Perform multiple speed tests and calculate average results.
- View Historical Data: View saved results from previous tests.
- Export Historical Data to CSV: Save historical data in a CSV file for analysis.
- Exit: Close the application.
+-----------------+--------------------+
| 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
+---------------------+------------------+------------------+------+
| 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|
+---------------------+------------------+------------------+------+
date,download,upload,ping
2024-01-01 12:34:56,95,12,15
2024-01-02 14:22:10,80,10,20
To install these dependencies, run:
pip install speedtest-cli rich
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
- JSON: Results are automatically saved in
speedtest_results.json
. - CSV: Export results to
speedtest_results.csv
from the main menu.
- 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.
This project is licensed under the MIT License. See the LICENSE file for details.