InternetSpeedLogger


NameInternetSpeedLogger JSON
Version 1.3.0 PyPI version JSON
download
home_page
SummaryA Python script that continuously monitors and logs your internet speed.
upload_time2023-06-07 09:37:58
maintainer
docs_urlNone
author
requires_python>=3.6
licenseMIT License Copyright (c) 2023 Andreas Menzel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords speedtest speedtest_cli internet internet speed logger monitor
VCS
bugtrack_url
requirements speedtest-cli
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # InternetSpeedLogger

## Python Script for Testing the Speed of your Internet Connection

This Python script periodically tests the internet speed of your network and
logs the results in a CSV file. It uses the
[speedtest-cli](https://pypi.org/project/speedtest-cli/) library to measure
internet speed. You can control the frequency of testing and duration of the
entire test run via the script's parameters.

## Installation

Just install using pip:

```bash
pip install InternetSpeedLogger
```

## Usage

If you installed InternetSpeedLogger with pip, you should be able to simply
execute the script from anywhere:

```bash
InternetSpeedLogger
```

Type `InternetSpeedLogger --help` to get detailed execution information:

```
usage: InternetSpeedLogger [-h] [--version] [-i INTERVAL] [-d DURATION]
                           [-l LOG_FILE] [-no]

A Python script that continuously monitors and logs your internet
speed. It tests both download and upload speeds at regular intervals
and records the data in a CSV file for easy analysis and tracking.
Ideal for auditing your network performance or ISP reliability over
time.
            

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -i INTERVAL, --interval INTERVAL
                        Testing interval in seconds. Make sure that the
                        interval is not shorter than the time needed for
                        testing. (default: 60)
  -d DURATION, --duration DURATION
                        Duration of the entire test runs. The script will
                        automatically end after this duration. Set to <= 0 for
                        infinite. (default: 0)
  -l LOG_FILE, --log_file LOG_FILE
                        Filename for the log-file. NOTE: A similar filename
                        will be chosen if a file with this name already
                        exists.
  -no, --no_overwrite   Set this flag to automatically select a similar log-
                        filename, so a potentially already existing file will
                        not be overwritten.

Default location of the log-file:
    A .csv-file will be created, which will contain all logged information.
    Default Filename: "YYYY-MM-DD_HH:MM:SS_internet_speeds.csv"
    Default Location: <tmp_dir>/InternetSpeedLogger/
        <tmp_dir> on Windows: C:\TEMP, C:\TMP, \TEMP, or \TMP, in that order
        <tmp_dir> on all other: /tmp, /var/tmp, or /usr/tmp, in that order
```

## Sample Data

Below is a small sample of the data that will be logged in the CSV file by
InternetSpeedLogger:

| Timestamp         | Download (bps)    | Upload (bps)       | Datetime            | Download (Mbps) | Upload (Mbps) |
|-------------------|-------------------|--------------------|---------------------|-----------------|---------------|
| 1686061579.679576 | 89643494.95465901 | 35883256.43988523  | 2023-06-06 16:26:19 | 90              | 36            |
| 1686061662.23925  | 89641818.67603663 | 36233910.883253716 | 2023-06-06 16:27:42 | 90              | 36            |
| 1686061721.562057 | 87986931.8695042  | 37110387.93753454  | 2023-06-06 16:28:41 | 88              | 37            |
| 1686061781.628893 | 91452820.98341656 | 37945852.74793821  | 2023-06-06 16:29:41 | 91              | 38            |
| 1686061841.479557 | 91453448.72492264 | 38497589.18734731  | 2023-06-06 16:30:41 | 91              | 38            |

Each row represents a single speed test with timestamp of when the test took
place, the download and upload speeds in bps and Mbps, and the formatted
datetime.

## Visualizing Data

Once you have accumulated a decent amount of data, you might want to visualize
it. Check out the
[InternetSpeedVisualizer](https://github.com/Andreas-Menzel/InternetSpeedVisualizer)
repository. This companion tool provides a suite of visualization options,
allowing you to uncover insights about your Internet speed over time.

![Internet Speed Visualizer Preview](images/InternetSpeed.png)

Follow the instructions in its README to get started. Your data logging with
InternetSpeedLogger can now be taken to the next level with this visualization
tool!

## Contribution

We warmly welcome contributions to the InternetSpeedLogger project! Your ideas
and work can make a real difference to its development.

There are many ways to contribute:

- **Bug Reports:** If you encounter any issues with the script, please create a
  new issue in the GitHub repository. Be as detailed as possible, including
  steps to reproduce the bug, the Python version you're using, and any error
  messages you've received.
- **Feature Requests:** Have a great idea for improving InternetSpeedLogger?
  We'd love to hear about it! You can propose new features by opening a new
  issue and using the Feature Request template.
- **Code Contributions:** If you are keen to get hands-on and directly
  contribute to the InternetSpeedDataLogger codebase, we enthusiastically
  welcome your input. Your efforts can help to fix bugs, add features, improve
  efficiency, and generally 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 contributions are 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 InternetSpeedLogger! :heart:

## License

This script is released under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "InternetSpeedLogger",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "speedtest,speedtest_cli,internet,internet speed,logger,monitor",
    "author": "",
    "author_email": "Andreas Menzel <mail@andreas-menzel.com>",
    "download_url": "https://files.pythonhosted.org/packages/41/f3/2848e85c1fcd2c5f7c6ce351e035e473a7b5e56b3542f8d3e696a71c6429/InternetSpeedLogger-1.3.0.tar.gz",
    "platform": null,
    "description": "# InternetSpeedLogger\n\n## Python Script for Testing the Speed of your Internet Connection\n\nThis Python script periodically tests the internet speed of your network and\nlogs the results in a CSV file. It uses the\n[speedtest-cli](https://pypi.org/project/speedtest-cli/) library to measure\ninternet speed. You can control the frequency of testing and duration of the\nentire test run via the script's parameters.\n\n## Installation\n\nJust install using pip:\n\n```bash\npip install InternetSpeedLogger\n```\n\n## Usage\n\nIf you installed InternetSpeedLogger with pip, you should be able to simply\nexecute the script from anywhere:\n\n```bash\nInternetSpeedLogger\n```\n\nType `InternetSpeedLogger --help` to get detailed execution information:\n\n```\nusage: InternetSpeedLogger [-h] [--version] [-i INTERVAL] [-d DURATION]\n                           [-l LOG_FILE] [-no]\n\nA Python script that continuously monitors and logs your internet\nspeed. It tests both download and upload speeds at regular intervals\nand records the data in a CSV file for easy analysis and tracking.\nIdeal for auditing your network performance or ISP reliability over\ntime.\n            \n\noptions:\n  -h, --help            show this help message and exit\n  --version             show program's version number and exit\n  -i INTERVAL, --interval INTERVAL\n                        Testing interval in seconds. Make sure that the\n                        interval is not shorter than the time needed for\n                        testing. (default: 60)\n  -d DURATION, --duration DURATION\n                        Duration of the entire test runs. The script will\n                        automatically end after this duration. Set to <= 0 for\n                        infinite. (default: 0)\n  -l LOG_FILE, --log_file LOG_FILE\n                        Filename for the log-file. NOTE: A similar filename\n                        will be chosen if a file with this name already\n                        exists.\n  -no, --no_overwrite   Set this flag to automatically select a similar log-\n                        filename, so a potentially already existing file will\n                        not be overwritten.\n\nDefault location of the log-file:\n    A .csv-file will be created, which will contain all logged information.\n    Default Filename: \"YYYY-MM-DD_HH:MM:SS_internet_speeds.csv\"\n    Default Location: <tmp_dir>/InternetSpeedLogger/\n        <tmp_dir> on Windows: C:\\TEMP, C:\\TMP, \\TEMP, or \\TMP, in that order\n        <tmp_dir> on all other: /tmp, /var/tmp, or /usr/tmp, in that order\n```\n\n## Sample Data\n\nBelow is a small sample of the data that will be logged in the CSV file by\nInternetSpeedLogger:\n\n| Timestamp         | Download (bps)    | Upload (bps)       | Datetime            | Download (Mbps) | Upload (Mbps) |\n|-------------------|-------------------|--------------------|---------------------|-----------------|---------------|\n| 1686061579.679576 | 89643494.95465901 | 35883256.43988523  | 2023-06-06 16:26:19 | 90              | 36            |\n| 1686061662.23925  | 89641818.67603663 | 36233910.883253716 | 2023-06-06 16:27:42 | 90              | 36            |\n| 1686061721.562057 | 87986931.8695042  | 37110387.93753454  | 2023-06-06 16:28:41 | 88              | 37            |\n| 1686061781.628893 | 91452820.98341656 | 37945852.74793821  | 2023-06-06 16:29:41 | 91              | 38            |\n| 1686061841.479557 | 91453448.72492264 | 38497589.18734731  | 2023-06-06 16:30:41 | 91              | 38            |\n\nEach row represents a single speed test with timestamp of when the test took\nplace, the download and upload speeds in bps and Mbps, and the formatted\ndatetime.\n\n## Visualizing Data\n\nOnce you have accumulated a decent amount of data, you might want to visualize\nit. Check out the\n[InternetSpeedVisualizer](https://github.com/Andreas-Menzel/InternetSpeedVisualizer)\nrepository. This companion tool provides a suite of visualization options,\nallowing you to uncover insights about your Internet speed over time.\n\n![Internet Speed Visualizer Preview](images/InternetSpeed.png)\n\nFollow the instructions in its README to get started. Your data logging with\nInternetSpeedLogger can now be taken to the next level with this visualization\ntool!\n\n## Contribution\n\nWe warmly welcome contributions to the InternetSpeedLogger project! Your ideas\nand work can make a real difference to its development.\n\nThere are many ways to contribute:\n\n- **Bug Reports:** If you encounter any issues with the script, please create a\n  new issue in the GitHub repository. Be as detailed as possible, including\n  steps to reproduce the bug, the Python version you're using, and any error\n  messages you've received.\n- **Feature Requests:** Have a great idea for improving InternetSpeedLogger?\n  We'd love to hear about it! You can propose new features by opening a new\n  issue and using the Feature Request template.\n- **Code Contributions:** If you are keen to get hands-on and directly\n  contribute to the InternetSpeedDataLogger codebase, we enthusiastically\n  welcome your input. Your efforts can help to fix bugs, add features, improve\n  efficiency, and generally make the tool more robust and user-friendly.\n- **Documentation:** A project is only as good as its documentation. If you can\n  improve the readme, comment the code more thoroughly, or create better user\n  guides, your contributions are welcome.\n\nRemember, the best way to make successful contributions is to communicate! Feel\nfree to ask questions and discuss your ideas in the issue tracker.\n\nIn your pull request, provide a clear and comprehensive explanation of your\nchanges and their necessity. This will help us understand the purpose of your\ncontribution and expedite the review process.\n\nThank you for your interest in improving InternetSpeedLogger! :heart:\n\n## License\n\nThis script is released under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Andreas Menzel  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "A Python script that continuously monitors and logs your internet speed.",
    "version": "1.3.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Andreas-Menzel/InternetSpeedLogger/issues",
        "Repository": "https://github.com/Andreas-Menzel/InternetSpeedLogger"
    },
    "split_keywords": [
        "speedtest",
        "speedtest_cli",
        "internet",
        "internet speed",
        "logger",
        "monitor"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e89149450063ce1cc7ab0d40da669f7be569a19ca8681f08925f1153f07ce4c",
                "md5": "214faadcabc7dc955ba1e31d4bdc1308",
                "sha256": "cd8b116e6c36fdc18e4afa264b42da77d455e3971263f2c19911c0b0b30eecfe"
            },
            "downloads": -1,
            "filename": "InternetSpeedLogger-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "214faadcabc7dc955ba1e31d4bdc1308",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 8016,
            "upload_time": "2023-06-07T09:37:53",
            "upload_time_iso_8601": "2023-06-07T09:37:53.865354Z",
            "url": "https://files.pythonhosted.org/packages/6e/89/149450063ce1cc7ab0d40da669f7be569a19ca8681f08925f1153f07ce4c/InternetSpeedLogger-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41f32848e85c1fcd2c5f7c6ce351e035e473a7b5e56b3542f8d3e696a71c6429",
                "md5": "dfce4e5a2a36f4146c0b05315ecc387c",
                "sha256": "8cbae40088a03d9cdbed4d305aa74c87620840843b9d63e74d1dae58d88073f8"
            },
            "downloads": -1,
            "filename": "InternetSpeedLogger-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dfce4e5a2a36f4146c0b05315ecc387c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 7279,
            "upload_time": "2023-06-07T09:37:58",
            "upload_time_iso_8601": "2023-06-07T09:37:58.432929Z",
            "url": "https://files.pythonhosted.org/packages/41/f3/2848e85c1fcd2c5f7c6ce351e035e473a7b5e56b3542f8d3e696a71c6429/InternetSpeedLogger-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-07 09:37:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Andreas-Menzel",
    "github_project": "InternetSpeedLogger",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "speedtest-cli",
            "specs": []
        }
    ],
    "lcname": "internetspeedlogger"
}
        
Elapsed time: 0.07447s