{"id":21444200,"url":"https://github.com/jack-development/netpulse","last_synced_at":"2026-04-17T03:01:56.765Z","repository":{"id":123796240,"uuid":"415714863","full_name":"Jack-Development/NetPulse","owner":"Jack-Development","description":"A Python script and website designed to log and display the internet speeds as the day progresses. Created to be simple to execute and maintain.","archived":false,"fork":false,"pushed_at":"2023-07-27T10:53:42.000Z","size":236,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T22:06:57.892Z","etag":null,"topics":["html5","internet-speed-checker","javascript","python","raspberry-pi","speedtest-cli"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jack-Development.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-10T22:30:46.000Z","updated_at":"2023-08-07T11:48:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"a965e4f9-3af9-40e6-aade-099f12f07a9a","html_url":"https://github.com/Jack-Development/NetPulse","commit_stats":null,"previous_names":["jack-development/netpulse"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jack-Development/NetPulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jack-Development%2FNetPulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jack-Development%2FNetPulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jack-Development%2FNetPulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jack-Development%2FNetPulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jack-Development","download_url":"https://codeload.github.com/Jack-Development/NetPulse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jack-Development%2FNetPulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31913078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html5","internet-speed-checker","javascript","python","raspberry-pi","speedtest-cli"],"created_at":"2024-11-23T02:16:35.673Z","updated_at":"2026-04-17T03:01:56.737Z","avatar_url":"https://github.com/Jack-Development.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u0026nbsp;\n\u003cdiv id=\"header\" align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/Jack-Development/NetPulse/blob/main/Resources/logo.png\" width=\"300\"/\u003e\n\u003c/div\u003e\n\u0026nbsp;\n\n# NetPulse ⏱️\n\nWelcome to NetPulse! This application is built to monitor and log your internet download/upload speed at regular intervals. It's particularly suited for devices like a Raspberry Pi.\n\n## Overview 📝\n\nNetPulse is a potent tool for tracking your internet speed metrics. This application leverages the power of \"speedtest-cli\" to capture data and provides a user-friendly HTML/JavaScript webserver interface to display the results. Moreover, it uses cron for scheduling regular checks, making it an ideal solution for continuous monitoring on systems like a Raspberry Pi.\n\n## Features 🎮\n\n- Regular internet speed logging\n- Local HTML / JavaScript interface for viewing results\n- Scheduling functionality with cron\n- Optimized for Raspberry Pi devices\n- Manual and automatic running modes\n\n## Technologies Used 💻\n\nThis project has been developed using the following technologies:\n\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/devicons/devicon/blob/master/icons/html5/html5-plain.svg\" alt=\"HTML5\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/devicons/devicon/blob/master/icons/javascript/javascript-plain.svg\" alt=\"JavaScript\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/devicons/devicon/blob/master/icons/python/python-original.svg\" alt=\"Python\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/devicons/devicon/blob/master/icons/ubuntu/ubuntu-plain.svg\" alt=\"Ubuntu\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/devicons/devicon/blob/master/icons/raspberrypi/raspberrypi-original.svg\" alt=\"Raspberry Pi\"\u003e\u003c/code\u003e\n\u003ccode\u003e\u003cimg height=\"50\" src=\"https://github.com/Jack-Development/Jack-Development/blob/main/resources/IntelliJ_Icon.svg\" alt=\"IntelliJ\"\u003e\u003c/code\u003e\n\n## Dependencies 📦\n\nThis program is dependent on having [speedtest-cli](https://github.com/sivel/speedtest-cli), [pandas](https://github.com/pandas-dev/pandas), and http.server installed on your Python installation.\n\nIf you are having issues loading the modules then you need to ensure you have the following installed in pip:\n\n```\npip3 install speedtest-cli\npip3 install pandas\n```\n\n## Usage 🕹️\n\n### Manual\n\nIn a manual system, the user will run the python script \"[main.py](https://github.com/Jack-Development/NetPulse/blob/main/main.py)\" whenever they wish to get a new reading for their speed. This would then be stored under a file with the name \"data,[Day],[Month],[Year].csv\" in the root directory.\n\nYou can run the speed test by executing the following in the root directory:\n\n```\npython3 main.py\n```\n\nTo start the website interface, you can run this command, also in the root directory:\n\n```\npython3 -m http.server\n```\n\nIf this file exists then the results will be appended to the end of the dataframe. If not then a new file will be generated for that day, which can then be appended to at a later time.\n\n### Automatic\n\nIf you wish to have the application be run on an independent system, then you can make it automatically query and output the results, without any input from the user.\n\nThis can be easily done on a Raspberry Pi, as it is a small system that can run the programs without issue. Many of the instructions are similar to the Manual method.\n\nYou can use whichever preferred way you want to run the commands, however I found it easiest to use \"[cron](https://en.wikipedia.org/wiki/Cron)\", which came preinstalled in the Raspbian OS I was using.\n\nWithin cron you can begin to edit the methods you wish to run by executing the follow in the terminal:\n\n```\ncrontab -e\n```\n\nWhen the file is opened you can add the following commands, which will boot the website on startup in its own thread, and also execute the Python script every 5 minutes:\n\n```\n0,*/5 * * * * cd /path/to/file \u0026\u0026 python3 main.py\n@reboot cd /path/to/file \u0026\u0026 python3 -m http.server \u0026\n```\n\nIf you wish to edit how frequently the command runs then you can edit the section procedding the command to edit the frequency, you can use [Crontab Guru](https://crontab.guru/) (An online crontab frequency maker) to create your own timings.\n\nWith all these enabled you can reboot and the program should begin to log by itself! So even if your Pi loses power you should still be able to recover after power returns!\n\n## Contributions 🤝\n\nFeel free to fork this project, make improvements, and submit pull requests. All contributions are welcome!\n\n## License 📄\n\nThis project is licensed under the MIT License. Please see the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjack-development%2Fnetpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjack-development%2Fnetpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjack-development%2Fnetpulse/lists"}