{"id":22725644,"url":"https://github.com/maremare/speedtestanalysis","last_synced_at":"2025-03-29T23:42:51.725Z","repository":{"id":266976938,"uuid":"899393136","full_name":"MareMare/SpeedTestAnalysis","owner":"MareMare","description":"⚠️for personal use. This project analyzes internet speed test data and visualizes the results using Plotly.","archived":false,"fork":false,"pushed_at":"2025-03-23T02:00:13.000Z","size":1708,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T03:17:38.728Z","etag":null,"topics":["plotly-python","python3"],"latest_commit_sha":null,"homepage":"https://speedtestspeedtestanalysis.pages.dev/","language":"Python","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/MareMare.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":"2024-12-06T07:10:34.000Z","updated_at":"2025-03-23T02:00:16.000Z","dependencies_parsed_at":"2024-12-21T15:22:26.281Z","dependency_job_id":"b5fe6756-fdd1-4b11-a3e7-ae57ec0afdd5","html_url":"https://github.com/MareMare/SpeedTestAnalysis","commit_stats":null,"previous_names":["maremare/speedtestanalysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MareMare%2FSpeedTestAnalysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MareMare%2FSpeedTestAnalysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MareMare%2FSpeedTestAnalysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MareMare%2FSpeedTestAnalysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MareMare","download_url":"https://codeload.github.com/MareMare/SpeedTestAnalysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246258862,"owners_count":20748573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["plotly-python","python3"],"created_at":"2024-12-10T16:13:26.730Z","updated_at":"2025-03-29T23:42:51.706Z","avatar_url":"https://github.com/MareMare.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpeedTestAnalysis\n\n## Overview\nThis project analyzes internet speed test data and visualizes the results using Plotly.\n\n## Features\n- Automatically triggers analysis and deployment when CSV files are committed.\n- Loads and prepares speed test data from a CSV file.\n- Calculates median download and upload speeds.\n- Plots graphs of download and upload speeds with medians.\n- Saves the plots as HTML files with Japanese metadata.\n- Deploys the results to Cloudflare Pages.\n\n## Output\n- The script generates an HTML file containing the plot, which is saved in the dist directory.\n- Upon commit, the results are automatically deployed to Cloudflare Pages.\n\n\u003e [!NOTE]\n\u003e I know my internet connection is bad. lol\n\n## Continuous Deployment\n\nThis project uses GitHub Actions for continuous deployment. When a CSV file is committed, the analysis.py script is automatically executed, and the results are deployed to Cloudflare Pages. The deployment process is defined in [`cd.yml`](.github/workflows/cd.yml)\n\n### Workflow Trigger\n- The workflow is triggered on:\n  - Push events to the main branch that include changes to .py, .toml, or .csv files.\n  - Pull requests to the main branch with changes to the same file types.\n\n### Deployment Steps\n1. The project environment is set up using uv and Python.\n2. The analysis.py script is executed to process the data.\n3. The results are deployed to Cloudflare Pages using the Cloudflare Wrangler Action.\n\n### Deployment URL\nUpon successful deployment, the URL of the deployed site is printed in the GitHub Actions summary.\n\n## Related Repositories\nThe following are related repositories:\n- [CloudflareSpeedTester](https://github.com/MareMare/CloudflareSpeedTester)\n- [GitHubCommit](https://github.com/MareMare/GitHubCommit)\n- [SpeedTestAnalysis](https://github.com/MareMare/SpeedTestAnalysis)\n\n## Developer Notes\n\u003cdetails\u003e\u003csummary\u003enotes for me\u003c/summary\u003e\n\n- using uv\n```ps1\n# create project\nuv init --app --python 3.10\n# add dependencies to project\nuv add pandas plotly\n```\n\n```ps1\n# virtual env\nuv venv\nuv sync\npython.exe analysis.py\n```\nor\n```ps1\nuv run analysis.py\n```\n\n- kaleido\n```toml\n# NOTE: https://github.com/astral-sh/uv/issues/7703\n[tool.uv]\nconstraint-dependencies = [\"kaleido!=0.2.1.post1\"]\n```\n```ps1\nuv add kaleido\n```\n\n- plot export\n\nsee. https://stackoverflow.com/a/59819140/3363518\n```py\nimport plotly\nplotly.offline.plot(fig, filename='path/to/offline/index.html')\n```\n\n- deployment to Cloudflare pages\n\n```ps1\nnpm install -g wrangler\nnpx wrangler pages project create speedtestanalysis --production-branch production\nnpx wrangler pages deploy dist --project-name speedtestspeedtestanalysis --branch production\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaremare%2Fspeedtestanalysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaremare%2Fspeedtestanalysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaremare%2Fspeedtestanalysis/lists"}