Skip to content

Andreas-Menzel/InternetSpeedVisualizer

Repository files navigation

InternetSpeedVisualizer

Powerful Python Tool for Analyzing Internet Connection Speed

InternetSpeedVisualizer is a tool designed to help you visualize and analyze your Internet speed data, which you can collect using the InternetSpeedLogger.

Installation

Installation is as simple as running a pip command:

pip install InternetSpeedVisualizer

Usage

Once InternetSpeedVisualizer is installed using pip, you can easily execute the script from anywhere:

InternetSpeedVisualizer

To access detailed execution information, simply type InternetSpeedVisualizer --help:

usage: InternetSpeedVisualizer [-h] [--version] -i INPUT [-o OUTPUT]
                               [--width WIDTH] [--height HEIGHT]
                               [-d <min>;<max>] [-u <min>;<max>]
                               [--interactive] [-no]

InternetSpeedVisualizer is a powerful tool designed to help you visualize and
analyze your Internet speed data, collected using the InternetSpeedVisualizer.
            

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -i INPUT, --input INPUT
                        Path to the .csv-log-file generated by
                        InternetSpeedVisualizer.
  -o OUTPUT, --output OUTPUT
                        Path to the line-graph-image that should be created.
  --width WIDTH         Width in inch of the output image. (default: 20)
  --height HEIGHT       Height in inch of the output image. (default: 10)
  -d <min>;<max>, --download <min>;<max>
                        Download speed promised by the ISP. (default:
                        "180;250")
  -u <min>;<max>, --upload <min>;<max>
                        Upload speed promised by the ISP. (default: "35;40")
  --interactive         Show an interactive line-graph. (default: False)
  -no, --no_overwrite   Set this flag to automatically select a similar
                        output-filename, so a potentially already existing
                        file will not be overwritten.

Passing only minimum download speed:
    --download "200;"
Passing only maximum download speed:
    --download ";250"
Passing only minimum upload speed:
    --upload "30;"
Passing only maximum upload speed:
    --upload ";40"

Sample output

Given a sample .csv-file names internet_speeds.csv, the following command generates the following image:

InternetSpeedVisualizer -i internet_speeds.csv -o internet_speeds.png -d "180;250" -u "30;40"

Internet Speed Visualizer Preview

Companion Tool: InternetSpeedLogger

InternetSpeedVisualizer is designed to work in harmony with InternetSpeedLogger. This companion tool allows you to continuously log your internet speed at defined intervals.

By saving the data in a CSV file, InternetSpeedLogger provides you with a historical log of your internet speeds. This data can then be visualized using InternetSpeedVisualizer, enabling you to understand trends and fluctuations in your internet speed over time.

👏 Contribution

We warmly welcome and highly appreciate contributions to the InternetSpeedVisualizer project! Your creative ideas and diligent work can make a real difference in its development and enhance the user experience.

Multiple ways to contribute:

  • Bug Reports 🐛: Encountered any issues with the script? Please create a new issue in the GitHub repository with as much detail as possible, including steps to reproduce the bug, the Python version you're using, and any error messages received.
  • Feature Requests 💡: Got a brilliant idea for improving InternetSpeedVisualizer? We'd love to hear about it! Propose new features by opening a new issue and using the Feature Request template.
  • Code Contributions 💻: If you're eager to get hands-on and directly contribute to the InternetSpeedVisualizer codebase, we're more than happy to welcome your input. Your contributions can help fix bugs, add features, improve efficiency, and make the tool more robust and user-friendly.
  • Documentation 📚: A project is only as good as its documentation. If you can improve the readme, comment the code more thoroughly, or create better user guides, your input is highly valued and welcome.

Remember, the best way to make successful contributions is to communicate! Feel free to ask questions and discuss your ideas in the issue tracker.

In your pull request, provide a clear and comprehensive explanation of your changes and their necessity. This will help us understand the purpose of your contribution and expedite the review process.

Thank you for your interest in improving InternetSpeedVisualizer! ❤️

📜 License

This script is released under the MIT License.

About

InternetSpeedVisualizer is a powerful tool designed to help you visualize and analyze your Internet speed data, collected using the InternetSpeedLogger.

Resources

License

Stars

Watchers

Forks

Languages