{"id":50509699,"url":"https://github.com/dmatking/github-traffic-log","last_synced_at":"2026-06-02T19:01:10.542Z","repository":{"id":349381976,"uuid":"1202120086","full_name":"dmatking/github-traffic-log","owner":"dmatking","description":"Daily GitHub traffic stats log","archived":false,"fork":false,"pushed_at":"2026-05-27T08:18:16.000Z","size":107,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T10:14:36.792Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmatking.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-05T16:14:48.000Z","updated_at":"2026-05-27T08:18:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dmatking/github-traffic-log","commit_stats":null,"previous_names":["dmatking/github-traffic-log"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dmatking/github-traffic-log","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmatking%2Fgithub-traffic-log","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmatking%2Fgithub-traffic-log/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmatking%2Fgithub-traffic-log/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmatking%2Fgithub-traffic-log/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmatking","download_url":"https://codeload.github.com/dmatking/github-traffic-log/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmatking%2Fgithub-traffic-log/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33833277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"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":[],"created_at":"2026-06-02T19:01:08.224Z","updated_at":"2026-06-02T19:01:10.530Z","avatar_url":"https://github.com/dmatking.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# github-traffic-log\n\nDaily traffic stats for dmatking's GitHub repos, collected via GitHub Actions.\n\nGitHub's traffic API only retains 14 days of data. This repo polls daily and accumulates\na permanent record in `traffic.csv`. Derived files (`totals.csv`, `latest.csv`) are\nregenerated from `traffic.csv` on every run.\n\n## Files\n\n| File | Description |\n| ---- | ----------- |\n| `traffic.csv` | Full daily history — one row per (date, repo). Source of truth. |\n| `totals.csv` | Cumulative all-time sums per repo, regenerated daily from `traffic.csv`. |\n| `latest.csv` | Last two dates of daily counts, used by the ESP32 for day-over-day deltas. |\n| `repo_config.csv` | Optional display filter for the ESP32 dashboard (see below). |\n\n## Format\n\n```\ndate,repo,views,view_uniques,clones,clone_uniques,stars,forks\n2026-04-05,esp32-terminal,42,8,15,12,2,0\n```\n\n## Setup\n\nAdd a `TRAFFIC_TOKEN` secret to this repo with a GitHub personal access token\nthat has `repo` scope (required for traffic API access on private/public repos).\n\nSet the `REPOS_MODE` variable to control which repos are tracked:\n\n| Value | Behavior |\n| ----- | -------- |\n| `all` (default) | All repos you own (non-fork) |\n| `pinned` | Your 6 pinned repos |\n| `repo1 repo2 ...` | Explicit space-separated list |\n\n## Filtering repos on the ESP32 display\n\nCreate `repo_config.csv` in the root of this repo to control what the\n[esp32-gh-dashboard](https://github.com/dmatking/esp32-gh-dashboard) shows:\n\n```csv\nrepo,show,exclude_totals\nesp32-gh-dashboard,1,0\nmy-other-project,1,0\nprofile-repo,0,1\n```\n\n| Column | Effect |\n| ------ | ------ |\n| `show=1` | Repo gets a per-repo cycling screen on the display |\n| `show=0` | No cycling screen, but still counted in summary totals |\n| `exclude_totals=1` | Removed from summary totals, stars count, and top-clones leaderboard |\n\nIf this file is absent, all repos are shown and nothing is excluded.\nIf it is present, only repos with `show=1` appear in the cycling screens.\nRepos not listed are hidden from cycling but still counted in totals.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmatking%2Fgithub-traffic-log","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmatking%2Fgithub-traffic-log","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmatking%2Fgithub-traffic-log/lists"}