From d414566b193949c2db10fc87e78d95d140a3d738 Mon Sep 17 00:00:00 2001 From: Tomas Oh Date: Mon, 12 Jan 2026 11:12:29 -0800 Subject: [PATCH 1/2] update stats.json with acmcsuf.com data! --- oss_stats/stats.py | 56 ++++-- stats/stats.json | 492 +++++++++++++++++++++++++++++---------------- 2 files changed, 361 insertions(+), 187 deletions(-) diff --git a/oss_stats/stats.py b/oss_stats/stats.py index 26276f2..68de710 100644 --- a/oss_stats/stats.py +++ b/oss_stats/stats.py @@ -1,3 +1,4 @@ +from contextlib import contextmanager import os import sys from typing import List @@ -106,28 +107,45 @@ def fetch_res(res: str): with alive_bar(repos.totalCount) as bar: for repo in repos: - if repo.name not in cache: - create_entry(cache, repo.name) - - is_stale_check_required = res != LAST_UPDATED_KEY - if is_stale_check_required: - # Use cached results if already computed and results are from 6+ months - if cache[repo.name][res] != default_value and check_latest_update(repo): - result[repo.name] = cache[repo.name][res] - continue - try: - res_value = fetch_func(repo) - except GithubException as e: - print(e) - res_value = default_value + if repo.name not in cache: + create_entry(cache, repo.name) + + # 1/12/2026 EDIT: acmcsuf.com is now part of the acmcsufoss org + # However, it has well over 1000 issues/PRs, making it unviable to + # fetch this resource with our current method with the way the + # GitHub REST API currently handles this resource. + # + # TODO: handle this better if a more efficient solution exists + if repo.name == "acmcsuf.com" and res in [ + ISSUES_KEY, + PULL_REQUESTS_KEY, + ]: + continue - if res != LAST_UPDATED_KEY: - insert_latest_update(repo, cache) + is_stale_check_required = res != LAST_UPDATED_KEY + if is_stale_check_required: + # Use cached results if already computed and results are from 6+ months + if cache[repo.name][res] != default_value and check_latest_update( + repo + ): + result[repo.name] = cache[repo.name][res] + continue + + try: + res_value = fetch_func(repo) + except GithubException as e: + print(e) + res_value = default_value + + if res != LAST_UPDATED_KEY: + insert_latest_update(repo, cache) + + cache[repo.name][res] = res_value + result[repo.name] = res_value + finally: + bar() - cache[repo.name][res] = res_value - result[repo.name] = res_value - bar() save_cache(cache) return result diff --git a/stats/stats.json b/stats/stats.json index ac16875..ba9bdbe 100644 --- a/stats/stats.json +++ b/stats/stats.json @@ -1,8 +1,223 @@ { + "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": 65, - "issues": 16, - "pull_requests": 17, + "commits": 68, + "issues": 21, + "pull_requests": 19, "stars": 6, "contributors": [ "Tomas Oh (tomasohCHOM)", @@ -14,24 +229,119 @@ "Kevin Geier-Conney (Kevin-dgc)", "Evan Jimenez (EvanCPSC)" ], - "last_updated": "2025-08-19T19:01:56+00:00" + "last_updated": "2025-09-19T05:24:37+00:00" }, - "api.acmcsuf.com": { - "commits": 342, - "issues": 29, - "pull_requests": 54, - "stars": 9, + "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)", - "Gaballa (GaballaGit)", - "Ethan Davidson (EthanThatOneKid)", - "Adam (adamakh01)", + "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)", - "None (dependabot[bot])" + "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-08-16T23:09:39+00:00" + "last_updated": "2025-09-07T01:46:28+00:00" }, "tldr": { "commits": 22, @@ -44,18 +354,6 @@ ], "last_updated": "2025-08-12T20:59:01+00:00" }, - "lc-dailies": { - "commits": 78, - "issues": 33, - "pull_requests": 34, - "stars": 2, - "contributors": [ - "Ethan Davidson (EthanThatOneKid)", - "Karnikaa Velumani (k4rni)", - "Tomas Oh (tomasohCHOM)" - ], - "last_updated": "2025-08-12T20:58:47+00:00" - }, "ts-workshop": { "commits": 2, "issues": 0, @@ -190,32 +488,6 @@ ], "last_updated": "2025-08-12T20:57:26+00:00" }, - "fullyhacks": { - "commits": 438, - "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)", - "None (AndresArch)", - "Fayssal boukhouid (FayssalG)", - "Justin Stitt (JustinStitt)", - "Vanessa Isabel Roque (vroque19)", - "None (dependabot[bot])", - "Daniel Currey (spicy)" - ], - "last_updated": "2025-08-12T20:57:23+00:00" - }, "fullypack_html_css": { "commits": 5, "issues": 0, @@ -307,27 +579,6 @@ ], "last_updated": "2025-08-11T00:13:44+00:00" }, - "nixpkgs": { - "commits": 10, - "issues": 0, - "pull_requests": 1, - "stars": 1, - "contributors": [ - "Josh Holman (TheJolman)" - ], - "last_updated": "2025-08-03T22:40:46+00:00" - }, - "API-Demo-Page": { - "commits": 7, - "issues": 0, - "pull_requests": 1, - "stars": 0, - "contributors": [ - "Adam (adamakh01)", - "Siddharth Vasu (sidvasu)" - ], - "last_updated": "2025-08-03T04:40:48+00:00" - }, "fullypack_fastify_solid": { "commits": 5, "issues": 0, @@ -364,101 +615,6 @@ ], "last_updated": "2025-05-02T21:11:42+00:00" }, - "gallery": { - "commits": 33, - "issues": 1, - "pull_requests": 8, - "stars": 3, - "contributors": [ - "Tyler Lui (tylermlui)", - "Nestor Reategui (nestor-remo)", - "Emily Tsai (emilyytsai)", - "Adrian Vazquez (adriancancode)", - "Vladyslav Korenevskyi (tmbkoren)" - ], - "last_updated": "2025-05-02T08:32:12+00:00" - }, - "1st": { - "commits": 399, - "issues": 9, - "pull_requests": 121, - "stars": 2, - "contributors": [ - "Tomas Oh (tomasohCHOM)", - "Ethan Davidson (EthanThatOneKid)", - "Evan Jimenez (EvanCPSC)", - "Sama Ahmed (26samaahmed)", - "Owen Sterling (JOwen-ster)", - "Tyler Lui (tylermlui)", - "Nestor Reategui (nestor-remo)", - "Chanran Kim (isliese)", - "Timothy (timothyouu)", - "Jerem (JeremiahHerring)", - "Adrian Vazquez (adriancancode)", - "Akanksh Jagadish (akanksh5)", - "None (ahpham123)", - "dianella \u02da\u029a\u2661\u025e\u02da (dianellasy)", - "Mark Garcia (MarkRyanGarcia)", - "Alexander Peras (AlexthePear)", - "ryan (ryan-avancena)", - "Siddharth Vasu (sidvasu)", - "Vladyslav Korenevskyi (tmbkoren)", - "Karnikaa Velumani (k4rni)", - "None (thecodeofdaniel)", - "Jeevan Gowda Hemanth Kumar (jeevangowda0711)", - "Joshua Duenas (JoshDuenas)", - "John Carlo Manuel (johncmanuel)", - "Jeet (jeeth25)", - "Edward Cortes (eccortes4)", - "Lucky V (VickyaWei)", - "Yves Velasquez (HallowsYves)", - "Abel Daniel (abledaniel)", - "Adam Cha (adamchacs)", - "Avyakt Rout (avyaktrout)", - "Kenny Garcia (bebopkenny)", - "Dustin Demetria (ddusty1)", - "None (dustinchavez1)", - "Emily Tsai (emilyytsai)", - "Harrison Thayer (harrisonthayer04)", - "Jacob Carlson (jiink)", - "Josh Holman (TheJolman)", - "Jovanna De La Trinidad (jovannadelat)", - "Keillor Jennings (keillor)", - "None (kicacho)", - "None (lanayam)", - "Lori Cha (lori33c)", - "Nancy Kataria (nancy-kataria)", - "Eileen Nguyen (einguyen)", - "nicklaus (nickmarietta)", - "Oscar Cisneros (oscisn93)", - "Peter Chau (Peterchauu)", - "Chandar Rathi (rathichandar)", - "Adam (adamakh01)", - "Ashley Chan (Ashleyc417)", - "Beatriz Torres Archundia (Btorre0)", - "None (Belalaskaik)", - "Bradley F Botros (BradleyB30)", - "bryan (bryamphan)", - "Daivik (Daivik1807)", - "Eldwin (eldwinc)", - "None (gnecochea)", - "Ju Yeong (kalmk)", - "Justin Lee (JustinPLee)", - "Kyle Q.P. Ho (KQPH)", - "Kevin Geier-Conney (Kevin-dgc)", - "Gaballa (GaballaGit)", - "Matthew Lau (mattulau)", - "Noah (Hyeonwoo) Kim (noah-hw-kim)", - "Ola (olasores)", - "Pillow (PillowGit)", - "None (QuentinRivest)", - "Ryan Hellwege (rhellwege)", - "None (SepehrDebah)", - "Patrick Hung (TheFishEy)", - "None (ttuyen22)" - ], - "last_updated": "2025-02-27T02:14:26+00:00" - }, "shorter": { "commits": 44, "issues": 11, From 5910596298011e84f552b079ab58e25480d7302c Mon Sep 17 00:00:00 2001 From: Tomas Oh Date: Mon, 12 Jan 2026 11:15:39 -0800 Subject: [PATCH 2/2] remove unused contextmanager --- oss_stats/stats.py | 1 - 1 file changed, 1 deletion(-) diff --git a/oss_stats/stats.py b/oss_stats/stats.py index 68de710..780b95c 100644 --- a/oss_stats/stats.py +++ b/oss_stats/stats.py @@ -1,4 +1,3 @@ -from contextlib import contextmanager import os import sys from typing import List