From 2aeac81405792d0ceb57e8564d5dda1363ccf418 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 9 Apr 2026 23:14:34 -0700 Subject: [PATCH 1/6] storing local cache in XDG_CACHE_HOME --- oss_stats/cache.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/oss_stats/cache.py b/oss_stats/cache.py index cccd183..596ca09 100644 --- a/oss_stats/cache.py +++ b/oss_stats/cache.py @@ -1,3 +1,4 @@ +from pathlib import Path import json from .const import ( @@ -9,7 +10,10 @@ STARS_KEY, ) -CACHE_FILE = "stats/stats.json" +cache_dir = Path.home() / ".cache" / "oss-stats" +if not cache_dir.is_dir(): + cache_dir.mkdir(parents=True, exist_ok=True) +CACHE_FILE = f"{cache_dir}/stats.json" def load_cache(): From fe915aaf7e8dfe1bb76ded928ce7e80bda7fd944 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 10 Apr 2026 00:24:06 -0700 Subject: [PATCH 2/6] should theoretically work across platforms --- oss_stats/cache.py | 6 +++--- pyproject.toml | 1 + uv.lock | 10 ++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/oss_stats/cache.py b/oss_stats/cache.py index 596ca09..94fc070 100644 --- a/oss_stats/cache.py +++ b/oss_stats/cache.py @@ -1,4 +1,5 @@ from pathlib import Path +from platformdirs import user_cache_path import json from .const import ( @@ -10,9 +11,8 @@ STARS_KEY, ) -cache_dir = Path.home() / ".cache" / "oss-stats" -if not cache_dir.is_dir(): - cache_dir.mkdir(parents=True, exist_ok=True) +cache_dir = user_cache_path("oss-stats", "Open Source @ ACM") +Path.mkdir(cache_dir, exist_ok = True) CACHE_FILE = f"{cache_dir}/stats.json" diff --git a/pyproject.toml b/pyproject.toml index 75e4160..4fb5fb8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ dependencies = [ "python-dotenv>=1.0.1", "questionary>=2.1.0", "rich>=13.9.3", + "platformdirs>=4.9.6", ] [project.optional-dependencies] diff --git a/uv.lock b/uv.lock index 23740d2..064165c 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.13" [[package]] @@ -217,6 +217,7 @@ source = { editable = "." } dependencies = [ { name = "alive-progress" }, { name = "click" }, + { name = "platformdirs" }, { name = "pygithub" }, { name = "python-dotenv" }, { name = "questionary" }, @@ -234,6 +235,7 @@ requires-dist = [ { name = "alive-progress", specifier = ">=3.2.0" }, { name = "black", marker = "extra == 'dev'" }, { name = "click", specifier = ">=8.1.7" }, + { name = "platformdirs", specifier = ">=4.9.6" }, { name = "pygithub", specifier = ">=2.4.0" }, { name = "python-dotenv", specifier = ">=1.0.1" }, { name = "questionary", specifier = ">=2.1.0" }, @@ -262,11 +264,11 @@ wheels = [ [[package]] name = "platformdirs" -version = "4.3.8" +version = "4.9.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a", size = 29400, upload-time = "2026-04-09T00:04:10.812Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, + { url = "https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917", size = 21348, upload-time = "2026-04-09T00:04:09.463Z" }, ] [[package]] From 329d335d122ea564003e9b43e4a97f7c62af5fc5 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 10 Apr 2026 01:04:05 -0700 Subject: [PATCH 3/6] bruh formatting --- oss_stats/cache.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oss_stats/cache.py b/oss_stats/cache.py index 94fc070..eb8209b 100644 --- a/oss_stats/cache.py +++ b/oss_stats/cache.py @@ -11,8 +11,8 @@ STARS_KEY, ) -cache_dir = user_cache_path("oss-stats", "Open Source @ ACM") -Path.mkdir(cache_dir, exist_ok = True) +cache_dir = user_cache_path("oss-stats", appauthor = False) +Path.mkdir(cache_dir, parents = True, exist_ok=True) CACHE_FILE = f"{cache_dir}/stats.json" From 56aa2ab66c3f97454a448e75848453d4a74751c5 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 10 Apr 2026 01:04:45 -0700 Subject: [PATCH 4/6] ... --- oss_stats/cache.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oss_stats/cache.py b/oss_stats/cache.py index eb8209b..75eb8fa 100644 --- a/oss_stats/cache.py +++ b/oss_stats/cache.py @@ -11,7 +11,7 @@ STARS_KEY, ) -cache_dir = user_cache_path("oss-stats", appauthor = False) +cache_dir = user_cache_path("oss-stats", appauthor=False) Path.mkdir(cache_dir, parents = True, exist_ok=True) CACHE_FILE = f"{cache_dir}/stats.json" From 71a6190cca3077c6433bc7d873f65ba2754322ea Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 10 Apr 2026 01:05:55 -0700 Subject: [PATCH 5/6] im so stupid --- oss_stats/cache.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oss_stats/cache.py b/oss_stats/cache.py index 75eb8fa..5d49fb9 100644 --- a/oss_stats/cache.py +++ b/oss_stats/cache.py @@ -12,7 +12,7 @@ ) cache_dir = user_cache_path("oss-stats", appauthor=False) -Path.mkdir(cache_dir, parents = True, exist_ok=True) +Path.mkdir(cache_dir, parents=True, exist_ok=True) CACHE_FILE = f"{cache_dir}/stats.json" From 9b3487db182039205f699f69d37bd024c3042b4f Mon Sep 17 00:00:00 2001 From: Josh Holman Date: Fri, 10 Apr 2026 08:32:00 -0700 Subject: [PATCH 6/6] =?UTF-8?q?nuke=20local=20stats=20cache=20=F0=9F=92=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stats/stats.json | 773 ----------------------------------------------- 1 file changed, 773 deletions(-) delete mode 100644 stats/stats.json diff --git a/stats/stats.json b/stats/stats.json deleted file mode 100644 index ba9bdbe..0000000 --- a/stats/stats.json +++ /dev/null @@ -1,773 +0,0 @@ -{ - "acmcsuf.com": { - "commits": 1998, - "issues": 506, - "pull_requests": 650, - "stars": 47, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Sama Ahmed (26samaahmed)", - "dianella \u02da\u029a\u2661\u025e\u02da (dianellasy)", - "Karnikaa Velumani (k4rni)", - "Gaballa (GaballaGit)", - "Tomas Oh (tomasohCHOM)", - "jason w (jaasonw)", - "David Solano (DavidJSolano)", - "Mohamed Habarneh (MohamedHabarneh)", - "Daniel Truong (anhduy1202)", - "Josh Holman (TheJolman)", - "None (github-actions[bot])", - "Evan Jimenez (EvanCPSC)", - "Angel Armendariz (Angel-Armendariz)", - "Alan Cortez (AlanCortez1337)", - "Kenny Garcia (bebopkenny)", - "Diamond (diamondburned)", - "Chanran Kim (isliese)", - "Ryan Hellwege (rhellwege)", - "Erwin Medina (erwinmedina)", - "Joel Anil John (janiljohn)", - "Adrian Vazquez (adriancancode)", - "Angel Santoyo (anguzz)", - "Mark Garcia (MarkRyanGarcia)", - "Vladyslav Korenevskyi (tmbkoren)", - "BJ Warfield (bjwarfield)", - "Peter Chau (Peterchauu)", - "Justin Stitt (JustinStitt)", - "None (Samsondu)", - "Boushra Bettir (boushrabettir)", - "Amy (amyipdev)", - "Joel (jjoeldaniel)", - "Samuel Sandoval (samuelsandoval1)", - "Charlie Taylor (charliettaylor)", - "Huy Hoang (hhoang91)", - "Vu Diep (vudiep411)", - "elena marquez (elenav24)", - "NgHuyHoang (nghuyhoang0204)", - "Ju Yeong (kalmk)", - "Aaron Lieberman (AaronLieb)", - "Jacob Carlson (jiink)", - "None (noahbei)", - "Matthew Lau (mattulau)", - "None (adityashah6)", - "Stephanie Pocci (stephaniePocci)", - "Nathan Nguyen (NLTN)", - "Mike Lee (mikelee)", - "None (lyyeric)", - "Brian Milian (brian-250)", - "Nathanel Gries (NateGries1)", - "Ola (olasores)", - "Owen Sterling (JOwen-ster)", - "Pillow (PillowGit)", - "Rashmi Subhash (rashmisubhash)", - "None (Sarah367)", - "Sebastian Ruiz (Pachuc0)", - "Tyler Lui (tylermlui)", - "None (dustinchavez1)", - "Lori Cha (lori33c)", - "None (mle225)", - "Manasi Patil (pmani-250)", - "Nanak (Nanak360)", - "Louiza (Louiza02)", - "Kyle Whynott (Kynot54)", - "Justin Kim (justincyk)", - "Jordan Muir (JHMuir)", - "Joe Lee (j1yl)", - "Jacob Nguyen(He/They) (caretcakejake)", - "JC (Joshua Caleb) Dy (AmaJC)", - "Haroutyun chamelian (Charoutyun)", - "Eric Ly (lyeric2022)", - "Edward Cortes (eccortes4)", - "Cyrus (TRA3H)" - ], - "last_updated": "2026-01-11T18:55:40+00:00" - }, - "api.acmcsuf.com": { - "commits": 464, - "issues": 46, - "pull_requests": 94, - "stars": 11, - "contributors": [ - "Josh Holman (TheJolman)", - "Siddharth Vasu (sidvasu)", - "Gaballa (GaballaGit)", - "Ethan Davidson (EthanThatOneKid)", - "Adam (FarmerAKH)", - "Akanksh Jagadish (akanksh5)", - "Nancy Kataria (nancy-kataria)", - "None (ahpham123)", - "None (dependabot[bot])", - "pebble (ignorant05)" - ], - "last_updated": "2026-01-11T00:27:37+00:00" - }, - "gallery": { - "commits": 50, - "issues": 5, - "pull_requests": 12, - "stars": 3, - "contributors": [ - "Tyler Lui (tylermlui)", - "Josh Holman (TheJolman)", - "Emily Tsai (emilyytsai)", - "Nestor Reategui (nestor-remo)", - "Joel (jjoeldaniel)", - "Adrian Vazquez (adriancancode)", - "Vladyslav Korenevskyi (tmbkoren)" - ], - "last_updated": "2026-01-04T19:53:47+00:00" - }, - "fullyhacks": { - "commits": 443, - "issues": 38, - "pull_requests": 94, - "stars": 8, - "contributors": [ - "Daniel Truong (anhduy1202)", - "Tomas Oh (tomasohCHOM)", - "John Carlo Manuel (johncmanuel)", - "Jerem (JeremiahHerring)", - "Joel (jjoeldaniel)", - "Ethan Davidson (EthanThatOneKid)", - "None (elizabethmazuca)", - "None (gnecochea)", - "jason w (jaasonw)", - "Karnikaa Velumani (k4rni)", - "None (ChristianHuerta05)", - "Andres (AndresArch)", - "Fayssal boukhouid (FayssalG)", - "Justin Stitt (JustinStitt)", - "Vanessa Isabel Roque (vroque19)", - "None (dependabot[bot])", - "Daniel Currey (spicy)" - ], - "last_updated": "2025-12-04T18:48:00+00:00" - }, - "API-Demo-Page": { - "commits": 18, - "issues": 3, - "pull_requests": 4, - "stars": 0, - "contributors": [ - "Adam (FarmerAKH)", - "Siddharth Vasu (sidvasu)" - ], - "last_updated": "2025-11-24T01:12:25+00:00" - }, - "advanced-git-activity": { - "commits": 26, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Josh Holman (TheJolman)" - ], - "last_updated": "2025-11-13T18:28:50+00:00" - }, - "rust-workshop": { - "commits": 25, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Josh Holman (TheJolman)", - "dianella \u02da\u029a\u2661\u025e\u02da (dianellasy)" - ], - "last_updated": "2025-11-07T02:05:20+00:00" - }, - "capyBot": { - "commits": 2, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Evan Jimenez (EvanCPSC)" - ], - "last_updated": "2025-10-24T01:45:28+00:00" - }, - "http-client-workshop": { - "commits": 5, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Josh Holman (TheJolman)" - ], - "last_updated": "2025-10-16T19:47:00+00:00" - }, - "gh-actions-workshop": { - "commits": 13, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Josh Holman (TheJolman)" - ], - "last_updated": "2025-10-09T20:38:10+00:00" - }, - "nixpkgs": { - "commits": 14, - "issues": 2, - "pull_requests": 3, - "stars": 1, - "contributors": [ - "Josh Holman (TheJolman)" - ], - "last_updated": "2025-09-29T21:51:24+00:00" - }, - "oss-stats": { - "commits": 68, - "issues": 21, - "pull_requests": 19, - "stars": 6, - "contributors": [ - "Tomas Oh (tomasohCHOM)", - "Josh Holman (TheJolman)", - "None (QuentinRivest)", - "Edward Cortes (eccortes4)", - "Timothy (timothyouu)", - "Owen Sterling (JOwen-ster)", - "Kevin Geier-Conney (Kevin-dgc)", - "Evan Jimenez (EvanCPSC)" - ], - "last_updated": "2025-09-19T05:24:37+00:00" - }, - "1st": { - "commits": 501, - "issues": 9, - "pull_requests": 161, - "stars": 2, - "contributors": [ - "Tomas Oh (tomasohCHOM)", - "Evan Jimenez (EvanCPSC)", - "Ethan Davidson (EthanThatOneKid)", - "Sama Ahmed (26samaahmed)", - "Josh Holman (TheJolman)", - "Owen Sterling (JOwen-ster)", - "Siddharth Vasu (sidvasu)", - "Tyler Lui (tylermlui)", - "Timothy (timothyouu)", - "None (ahpham123)", - "Chanran Kim (isliese)", - "Nestor Reategui (nestor-remo)", - "dianella \u02da\u029a\u2661\u025e\u02da (dianellasy)", - "Alexander Peras (AlexthePear)", - "Mark Garcia (MarkRyanGarcia)", - "Akanksh Jagadish (akanksh5)", - "Adrian Vazquez (adriancancode)", - "Jerem (JeremiahHerring)", - "Edward Cortes (eccortes4)", - "ryan (ryan-avancena)", - "Vladyslav Korenevskyi (tmbkoren)", - "Adam (FarmerAKH)", - "Karnikaa Velumani (k4rni)", - "Emily Tsai (emilyytsai)", - "None (thecodeofdaniel)", - "Jeevan Gowda Hemanth Kumar (jeevangowda0711)", - "Yuriko (Yuriko-lpz)", - "Gaballa (GaballaGit)", - "Joshua Duenas (JoshDuenas)", - "John Carlo Manuel (johncmanuel)", - "Noah Scott (BareMetal-Alchemist)", - "Jeet (jeeth25)", - "None (dustinchavez1)", - "Dustin Demetria (ddusty1)", - "Jacob Sii (chaykup)", - "Brian Hlonggul (bhlonggul)", - "Kenny Garcia (bebopkenny)", - "Avyakt Rout (avyaktrout)", - "Adam Cha (adamchacs)", - "Abel Daniel (abledaniel)", - "Yves Velasquez (HallowsYves)", - "Lucky V (VickyaWei)", - "None (ttuyen22)", - "Patrick Hung (TheFishEy)", - "None (SepehrDebah)", - "Samuel Valls (SValls2023)", - "Erik Argueta (argueta-erik)", - "None (HannahMPark)", - "Harrison Thayer (harrisonthayer04)", - "Jacob Carlson (jiink)", - "Jovanna De La Trinidad (jovannadelat)", - "Keillor Jennings (keillor)", - "None (kicacho)", - "None (lanayam)", - "Lori Cha (lori33c)", - "Michelle (michelletz)", - "Nancy Kataria (nancy-kataria)", - "Eileen Nguyen (einguyen)", - "nicklaus (nickmarietta)", - "Oscar Cisneros (oscisn93)", - "Peter Chau (Peterchauu)", - "Chandar Rathi (rathichandar)", - "Ashley Chan (Ashleyc417)", - "Beatriz Torres Archundia (Btorre0)", - "None (Belalaskaik)", - "Bradley F Botros (BradleyB30)", - "bryan (bryamphan)", - "None (Chen2023080)", - "Daivik (Daivik1807)", - "None (dmnguyen124)", - "Eldwin (eldwinc)", - "elena marquez (elenav24)", - "None (gnecochea)", - "Jacob Nguyen (Jacob-C-Nguyen)", - "Joel (jjoeldaniel)", - "Joseph Friend (jaFriend)", - "Ju Yeong (kalmk)", - "Justin Lee (JustinPLee)", - "Kyle Q.P. Ho (KQPH)", - "None (kevin-l-tran)", - "Kevin Geier-Conney (Kevin-dgc)", - "Matthew Lau (mattulau)", - "Ricky (MinMyatMaung)", - "Noah (Hyeonwoo) Kim (noah-hw-kim)", - "Ola (olasores)", - "Patheit (chunkys0up)", - "Peter Doria (pdoriadev)", - "Pillow (PillowGit)", - "None (QuentinRivest)", - "None (Rightgoody)", - "Ryan Hellwege (rhellwege)" - ], - "last_updated": "2025-09-19T03:36:11+00:00" - }, - "lc-dailies": { - "commits": 80, - "issues": 34, - "pull_requests": 34, - "stars": 2, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)", - "Tomas Oh (tomasohCHOM)" - ], - "last_updated": "2025-09-07T01:46:28+00:00" - }, - "tldr": { - "commits": 22, - "issues": 8, - "pull_requests": 8, - "stars": 7, - "contributors": [ - "Joel (jjoeldaniel)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:59:01+00:00" - }, - "ts-workshop": { - "commits": 2, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:58:41+00:00" - }, - "archive": { - "commits": 1, - "issues": 1, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:57:47+00:00" - }, - "i": { - "commits": 8, - "issues": 38, - "pull_requests": 1, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:57:45+00:00" - }, - ".github": { - "commits": 2, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:57:44+00:00" - }, - "triggers-nix": { - "commits": -1, - "issues": 0, - "pull_requests": 0, - "stars": 1, - "contributors": [], - "last_updated": "2025-08-12T20:57:42+00:00" - }, - "acmJane": { - "commits": 76, - "issues": 2, - "pull_requests": 0, - "stars": 1, - "contributors": [ - "Joel (jjoeldaniel)" - ], - "last_updated": "2025-08-12T20:57:40+00:00" - }, - "fullypack_react_native": { - "commits": 5, - "issues": 0, - "pull_requests": 0, - "stars": 1, - "contributors": [ - "Daniel Truong (anhduy1202)" - ], - "last_updated": "2025-08-12T20:57:37+00:00" - }, - "fullypack_sveltekit": { - "commits": 15, - "issues": 0, - "pull_requests": 0, - "stars": 1, - "contributors": [ - "Diamond (diamondburned)", - "Angel Santoyo (anguzz)", - "Tomas Oh (tomasohCHOM)" - ], - "last_updated": "2025-08-12T20:57:36+00:00" - }, - "fullypack_flask_vercel": { - "commits": 22, - "issues": 1, - "pull_requests": 3, - "stars": 1, - "contributors": [ - "Joel (jjoeldaniel)", - "Daniel Truong (anhduy1202)", - "Eric Ly (lyeric2022)" - ], - "last_updated": "2025-08-12T20:57:35+00:00" - }, - "fullypack_data_science": { - "commits": 8, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Daniel Truong (anhduy1202)" - ], - "last_updated": "2025-08-12T20:57:32+00:00" - }, - "fullypack_fastapi": { - "commits": 2, - "issues": 0, - "pull_requests": 0, - "stars": 1, - "contributors": [ - "Charlie Taylor (charliettaylor)" - ], - "last_updated": "2025-08-12T20:57:30+00:00" - }, - "fullypack_discord_python": { - "commits": 7, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Joel (jjoeldaniel)" - ], - "last_updated": "2025-08-12T20:57:28+00:00" - }, - "prisma-crud-examples": { - "commits": 12, - "issues": 0, - "pull_requests": 2, - "stars": 1, - "contributors": [ - "Oscar Cisneros (oscisn93)", - "None (dependabot[bot])", - "jason w (jaasonw)" - ], - "last_updated": "2025-08-12T20:57:26+00:00" - }, - "fullypack_html_css": { - "commits": 5, - "issues": 0, - "pull_requests": 5, - "stars": 0, - "contributors": [ - "Daniel Truong (anhduy1202)", - "Diamond (diamondburned)" - ], - "last_updated": "2025-08-12T20:57:20+00:00" - }, - "acmOpportunities": { - "commits": 77, - "issues": 19, - "pull_requests": 17, - "stars": 6, - "contributors": [ - "Boushra Bettir (boushrabettir)", - "Ethan Davidson (EthanThatOneKid)", - "Tomas Oh (tomasohCHOM)", - "Verinx (Katie419)" - ], - "last_updated": "2025-08-12T20:57:18+00:00" - }, - "qg": { - "commits": 47, - "issues": 1, - "pull_requests": 0, - "stars": 5, - "contributors": [ - "Diamond (diamondburned)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:47:56+00:00" - }, - "perks": { - "commits": 5, - "issues": 3, - "pull_requests": 4, - "stars": 1, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:47:53+00:00" - }, - "triggers": { - "commits": 250, - "issues": 7, - "pull_requests": 18, - "stars": 2, - "contributors": [ - "Joel (jjoeldaniel)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:47:49+00:00" - }, - "trends": { - "commits": 4, - "issues": 2, - "pull_requests": 1, - "stars": 2, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:47:41+00:00" - }, - "boardd": { - "commits": 39, - "issues": 6, - "pull_requests": 6, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2025-08-12T20:47:33+00:00" - }, - "acm-server": { - "commits": 628, - "issues": 15, - "pull_requests": 27, - "stars": 6, - "contributors": [ - "Diamond (diamondburned)", - "Ethan Davidson (EthanThatOneKid)", - "None (dependabot[bot])", - "Amy (amyipdev)", - "Aaron Lieberman (AaronLieb)", - "Mark Garcia (MarkRyanGarcia)" - ], - "last_updated": "2025-08-11T00:13:44+00:00" - }, - "fullypack_fastify_solid": { - "commits": 5, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Oscar Cisneros (oscisn93)" - ], - "last_updated": "2025-07-18T21:59:56+00:00" - }, - "form": { - "commits": 120, - "issues": 17, - "pull_requests": 14, - "stars": 9, - "contributors": [ - "Alexander Peras (AlexthePear)", - "Ethan Davidson (EthanThatOneKid)", - "Keillor Jennings (keillor)", - "Sama Ahmed (26samaahmed)" - ], - "last_updated": "2025-05-08T01:58:46+00:00" - }, - "docs": { - "commits": 86, - "issues": 2, - "pull_requests": 1, - "stars": 3, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Tomas Oh (tomasohCHOM)", - "Evan Jimenez (EvanCPSC)", - "Karnikaa Velumani (k4rni)" - ], - "last_updated": "2025-05-02T21:11:42+00:00" - }, - "shorter": { - "commits": 44, - "issues": 11, - "pull_requests": 9, - "stars": 2, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)" - ], - "last_updated": "2024-11-01T20:43:52+00:00" - }, - "svelte-workshop": { - "commits": 17, - "issues": 0, - "pull_requests": 2, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)" - ], - "last_updated": "2024-10-24T07:00:26+00:00" - }, - "dash.acmcsuf.com": { - "commits": -1, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [], - "last_updated": "2024-05-08T20:23:16+00:00" - }, - "ai-hello-world": { - "commits": 11, - "issues": 0, - "pull_requests": 1, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)" - ], - "last_updated": "2024-04-11T03:44:41+00:00" - }, - "crying-counter": { - "commits": 11, - "issues": 0, - "pull_requests": 4, - "stars": 1, - "contributors": [ - "Karnikaa Velumani (k4rni)", - "Justin Lee (JustinPLee)", - "Sara Sadek (EBYEMJC1)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2024-02-29T02:17:54+00:00" - }, - "acm-election": { - "commits": -1, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [], - "last_updated": "2024-02-27T02:10:01+00:00" - }, - "clubannounce": { - "commits": 12, - "issues": 4, - "pull_requests": 9, - "stars": 2, - "contributors": [ - "Tomas Oh (tomasohCHOM)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2024-02-09T03:37:45+00:00" - }, - "acm-utterances": { - "commits": 1, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2024-01-09T01:24:33+00:00" - }, - "qb64_windows": { - "commits": 1, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-10-11T05:39:34+00:00" - }, - "py-workshop": { - "commits": 2, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-08-04T18:03:54+00:00" - }, - "go-workshop": { - "commits": 30, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Diamond (diamondburned)", - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-07-28T18:26:11+00:00" - }, - "js-workshop": { - "commits": 11, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-07-14T18:00:12+00:00" - }, - "sendlimiter": { - "commits": 41, - "issues": 3, - "pull_requests": 5, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)" - ], - "last_updated": "2023-07-11T06:22:25+00:00" - }, - "api-workshop": { - "commits": 5, - "issues": 0, - "pull_requests": 2, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-06-30T17:47:30+00:00" - }, - "denokv-workshop": { - "commits": 3, - "issues": 0, - "pull_requests": 0, - "stars": 0, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)" - ], - "last_updated": "2023-06-14T21:24:17+00:00" - } -} \ No newline at end of file