diff --git a/project_status.md b/project_status.md index 12f5c7f..98cea0d 100644 --- a/project_status.md +++ b/project_status.md @@ -1,31 +1,31 @@ # Project Status Dashboard -Last updated: 2025-08-12 06:24:00.832725 (UTC) +Last updated: 2025-08-12 18:08:28.398259 (UTC) This dashboard tracks 20 EpiForeSITE projects with GitHub repositories. -| Project | Contributors | Issues | PRs | Last Commit | Commits | Repository | -|---------|-------------|--------|-----|-------------|---------|------------| -| [Attention-Based Models for Snow-Water Equivalent Prediction](https://github.com/Krishuthapa/SWE-Attention) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/Krishuthapa/SWE-Attention)](https://github.com/Krishuthapa/SWE-Attention/issues) | [![PRs](https://img.shields.io/github/issues-pr/Krishuthapa/SWE-Attention)](https://github.com/Krishuthapa/SWE-Attention/pulls) | 2024-12-12 ([`e95fe16`](https://github.com/Krishuthapa/SWE-Attention/commits)) | 2 | [Krishuthapa/SWE-Attention](https://github.com/Krishuthapa/SWE-Attention) | | -| [Bayesian Transmission Model](https://github.com/EpiForeSITE/bayesian-transmission) | ContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/bayesian-transmission)](https://github.com/EpiForeSITE/bayesian-transmission/issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/bayesian-transmission)](https://github.com/EpiForeSITE/bayesian-transmission/pulls) | 2025-03-11 ([`f78a06a`](https://github.com/EpiForeSITE/bayesian-transmission/commits)) | 46 | [EpiForeSITE/bayesian-transmission](https://github.com/EpiForeSITE/bayesian-transmission) | | -| [Branching process outbreak simulator](https://github.com/EpiForeSITE/branching_process/) | ContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/branching_process)](https://github.com/EpiForeSITE/branching_process//issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/branching_process)](https://github.com/EpiForeSITE/branching_process//pulls) | 2025-05-09 ([`8e9bac5`](https://github.com/EpiForeSITE/branching_process//commits)) | 114 | [EpiForeSITE/branching_process](https://github.com/EpiForeSITE/branching_process/) | | -| [COVID-19 Jail Model](https://github.com/epimodels/COVID19-Jails) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/epimodels/COVID19-Jails)](https://github.com/epimodels/COVID19-Jails/issues) | [![PRs](https://img.shields.io/github/issues-pr/epimodels/COVID19-Jails)](https://github.com/epimodels/COVID19-Jails/pulls) | 2020-04-30 ([`561491b`](https://github.com/epimodels/COVID19-Jails/commits)) | N/A | [epimodels/COVID19-Jails](https://github.com/epimodels/COVID19-Jails) | | -| [COVID-19 NCAA Football](https://github.com/epimodels/inperson_sports) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/issues) | [![PRs](https://img.shields.io/github/issues-pr/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/pulls) | 2020-09-28 ([`9681971`](https://github.com/epimodels/inperson_sports/commits)) | N/A | [epimodels/inperson_sports](https://github.com/epimodels/inperson_sports) | | -| [Covid Scenario model](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | ContributorContributorContributorContributorContributor +5 more (20) | [![Issues](https://img.shields.io/github/issues/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/issues) | [![PRs](https://img.shields.io/github/issues-pr/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/pulls) | 2023-02-21 ([`0c6084b`](https://github.com/HopkinsIDD/COVIDScenarioPipeline/commits)) | N/A | [HopkinsIDD/COVIDScenarioPipeline](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | | -| [CU Metapopulation](https://github.com/epimodels/Metapopulation_MRSA) | ContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/issues) | [![PRs](https://img.shields.io/github/issues-pr/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/pulls) | 2022-07-14 ([`35bf356`](https://github.com/epimodels/Metapopulation_MRSA/commits)) | N/A | [epimodels/Metapopulation_MRSA](https://github.com/epimodels/Metapopulation_MRSA) | | -| [epiworld: Fast Agent-Based Epi Models](https://github.com/UofUEpiBio/epiworld) | ContributorContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/issues) | [![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/pulls) | 2025-07-18 ([`f4ecac2`](https://github.com/UofUEpiBio/epiworld/commits)) | 30 | [UofUEpiBio/epiworld](https://github.com/UofUEpiBio/epiworld) | | -| [epiworld-forecasts: Automatic Disease Forecasting with epiworldR](https://github.com/EpiForeSITE/epiworld-forecasts) | ContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/pulls) | 2025-07-22 ([`e69d887`](https://github.com/EpiForeSITE/epiworld-forecasts/commits)) | 49 | [EpiForeSITE/epiworld-forecasts](https://github.com/EpiForeSITE/epiworld-forecasts) | | -| [epiworldpy: A python wrapper for epiworld](https://github.com/UofUEpiBio/epiworldpy) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/issues) | [![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/pulls) | 2025-07-23 ([`c829a07`](https://github.com/UofUEpiBio/epiworldpy/commits)) | 5 | [UofUEpiBio/epiworldpy](https://github.com/UofUEpiBio/epiworldpy) | | -| [GeoCovid](https://github.com/Fernandez-Lab-WSU/geocovid_app) | No data | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/issues) | [![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/pulls) | No recent commits | N/A | [Fernandez-Lab-WSU/geocovid_app](https://github.com/Fernandez-Lab-WSU/geocovid_app) | | -| [linkeR: Effortless Linked Views for Shiny Applications](https://github.com/EpiForeSITE/linkeR/) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//pulls) | 2025-07-28 ([`154105b`](https://github.com/EpiForeSITE/linkeR//commits)) | 40 | [EpiForeSITE/linkeR](https://github.com/EpiForeSITE/linkeR/) | | -| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/multigroup-vaccine) | ContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/pulls) | 2025-07-08 ([`ac3e3a4`](https://github.com/EpiForeSITE/multigroup-vaccine/commits)) | 128 | [EpiForeSITE/multigroup-vaccine](https://github.com/EpiForeSITE/multigroup-vaccine) | | -| [Multitask Model to Forecast Patient's Next Unit and Remaining Length of Stay](https://github.com/madhobi/multitask_unit_and_days) | Contributor (20) | [![Issues](https://img.shields.io/github/issues/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/issues) | [![PRs](https://img.shields.io/github/issues-pr/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/pulls) | 2024-10-10 ([`c21c84e`](https://github.com/madhobi/multitask_unit_and_days/commits)) | 1 | [madhobi/multitask_unit_and_days](https://github.com/madhobi/multitask_unit_and_days) | | -| [PhenoMapper: an interactive toolbox for the visual exploration of phenomics data](https://github.com/tdavislab/PhenoMapper) | ContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/issues) | [![PRs](https://img.shields.io/github/issues-pr/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/pulls) | 2024-04-22 ([`4cc2a66`](https://github.com/tdavislab/PhenoMapper/commits)) | N/A | [tdavislab/PhenoMapper](https://github.com/tdavislab/PhenoMapper) | | -| [POMP (Aaron King’s tool, U. of Michigan)](https://github.com/kingaa/pomp) | ContributorContributorContributorContributorContributor +4 more (20) | [![Issues](https://img.shields.io/github/issues/kingaa/pomp)](https://github.com/kingaa/pomp/issues) | [![PRs](https://img.shields.io/github/issues-pr/kingaa/pomp)](https://github.com/kingaa/pomp/pulls) | 2025-08-01 ([`6279e55`](https://github.com/kingaa/pomp/commits)) | 52 | [kingaa/pomp](https://github.com/kingaa/pomp) | | -| [Post-acute care model](https://github.com/mattrmaloney/covid-post-acute-care) | No data | [![Issues](https://img.shields.io/github/issues/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/issues) | [![PRs](https://img.shields.io/github/issues-pr/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/pulls) | 2020-06-13 ([`b60c0a6`](https://github.com/mattrmaloney/covid-post-acute-care/commits)) | N/A | [mattrmaloney/covid-post-acute-care](https://github.com/mattrmaloney/covid-post-acute-care) | | -| [quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | ContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/issues) | [![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/pulls) | 2025-03-24 ([`83d2c4b`](https://github.com/Fernandez-Lab-WSU/quadkeyr/commits)) | 39 | [Fernandez-Lab-WSU/quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | | -| [rbranding](https://github.com/EpiForeSITE/branding-package) | ContributorContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/pulls) | 2025-07-31 ([`baae6a8`](https://github.com/EpiForeSITE/branding-package/commits)) | 75 | [EpiForeSITE/branding-package](https://github.com/EpiForeSITE/branding-package) | | -| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/vaccine-equity-model) | ContributorContributorContributorContributor (20) | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/issues) | [![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/pulls) | 2025-07-08 ([`ac3e3a4`](https://github.com/EpiForeSITE/vaccine-equity-model/commits)) | 128 | [EpiForeSITE/vaccine-equity-model](https://github.com/EpiForeSITE/vaccine-equity-model) | | +| Project | Contributors | Issues, PRs, and Last Commit | Commits | Repository | +|---------|-------------|--------------------------|---------|------------| +| [Attention-Based Models for Snow-Water Equivalent Prediction](https://github.com/Krishuthapa/SWE-Attention) | Contributor | [![Issues](https://img.shields.io/github/issues/Krishuthapa/SWE-Attention)](https://github.com/Krishuthapa/SWE-Attention/issues)
[![PRs](https://img.shields.io/github/issues-pr/Krishuthapa/SWE-Attention)](https://github.com/Krishuthapa/SWE-Attention/pulls)
2024-12-12 ([`e95fe16`](https://github.com/Krishuthapa/SWE-Attention/commits)) | 2 | [Krishuthapa/SWE-Attention](https://github.com/Krishuthapa/SWE-Attention) | | +| [Bayesian Transmission Model](https://github.com/EpiForeSITE/bayesian-transmission) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/bayesian-transmission)](https://github.com/EpiForeSITE/bayesian-transmission/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/bayesian-transmission)](https://github.com/EpiForeSITE/bayesian-transmission/pulls)
2025-03-11 ([`f78a06a`](https://github.com/EpiForeSITE/bayesian-transmission/commits)) | 46 | [EpiForeSITE/bayesian-transmission](https://github.com/EpiForeSITE/bayesian-transmission) | | +| [Branching process outbreak simulator](https://github.com/EpiForeSITE/branching_process/) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/branching_process)](https://github.com/EpiForeSITE/branching_process//issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/branching_process)](https://github.com/EpiForeSITE/branching_process//pulls)
2025-05-09 ([`8e9bac5`](https://github.com/EpiForeSITE/branching_process//commits)) | 114 | [EpiForeSITE/branching_process](https://github.com/EpiForeSITE/branching_process/) | | +| [COVID-19 Jail Model](https://github.com/epimodels/COVID19-Jails) | Contributor | [![Issues](https://img.shields.io/github/issues/epimodels/COVID19-Jails)](https://github.com/epimodels/COVID19-Jails/issues)
[![PRs](https://img.shields.io/github/issues-pr/epimodels/COVID19-Jails)](https://github.com/epimodels/COVID19-Jails/pulls)
2020-04-30 ([`561491b`](https://github.com/epimodels/COVID19-Jails/commits)) | 0 | [epimodels/COVID19-Jails](https://github.com/epimodels/COVID19-Jails) | | +| [COVID-19 NCAA Football](https://github.com/epimodels/inperson_sports) | Contributor | [![Issues](https://img.shields.io/github/issues/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/issues)
[![PRs](https://img.shields.io/github/issues-pr/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/pulls)
2020-09-28 ([`9681971`](https://github.com/epimodels/inperson_sports/commits)) | 0 | [epimodels/inperson_sports](https://github.com/epimodels/inperson_sports) | | +| [Covid Scenario model](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | ContributorContributorContributorContributorContributor +5 more | [![Issues](https://img.shields.io/github/issues/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/issues)
[![PRs](https://img.shields.io/github/issues-pr/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/pulls)
2023-02-21 ([`0c6084b`](https://github.com/HopkinsIDD/COVIDScenarioPipeline/commits)) | 0 | [HopkinsIDD/COVIDScenarioPipeline](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | | +| [CU Metapopulation](https://github.com/epimodels/Metapopulation_MRSA) | ContributorContributor | [![Issues](https://img.shields.io/github/issues/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/issues)
[![PRs](https://img.shields.io/github/issues-pr/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/pulls)
2022-07-14 ([`35bf356`](https://github.com/epimodels/Metapopulation_MRSA/commits)) | 0 | [epimodels/Metapopulation_MRSA](https://github.com/epimodels/Metapopulation_MRSA) | | +| [epiworld: Fast Agent-Based Epi Models](https://github.com/UofUEpiBio/epiworld) | ContributorContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/issues)
[![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/pulls)
2025-07-18 ([`f4ecac2`](https://github.com/UofUEpiBio/epiworld/commits)) | 30 | [UofUEpiBio/epiworld](https://github.com/UofUEpiBio/epiworld) | | +| [epiworld-forecasts: Automatic Disease Forecasting with epiworldR](https://github.com/EpiForeSITE/epiworld-forecasts) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/pulls)
2025-07-22 ([`e69d887`](https://github.com/EpiForeSITE/epiworld-forecasts/commits)) | 49 | [EpiForeSITE/epiworld-forecasts](https://github.com/EpiForeSITE/epiworld-forecasts) | | +| [epiworldpy: A python wrapper for epiworld](https://github.com/UofUEpiBio/epiworldpy) | Contributor | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/issues)
[![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/pulls)
2025-07-23 ([`c829a07`](https://github.com/UofUEpiBio/epiworldpy/commits)) | 5 | [UofUEpiBio/epiworldpy](https://github.com/UofUEpiBio/epiworldpy) | | +| [GeoCovid](https://github.com/Fernandez-Lab-WSU/geocovid_app) | No data | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/issues)
[![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/pulls)
No recent commits | 0 | [Fernandez-Lab-WSU/geocovid_app](https://github.com/Fernandez-Lab-WSU/geocovid_app) | | +| [linkeR: Effortless Linked Views for Shiny Applications](https://github.com/EpiForeSITE/linkeR/) | Contributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//pulls)
2025-07-28 ([`154105b`](https://github.com/EpiForeSITE/linkeR//commits)) | 40 | [EpiForeSITE/linkeR](https://github.com/EpiForeSITE/linkeR/) | | +| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/multigroup-vaccine) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/pulls)
2025-07-08 ([`ac3e3a4`](https://github.com/EpiForeSITE/multigroup-vaccine/commits)) | 128 | [EpiForeSITE/multigroup-vaccine](https://github.com/EpiForeSITE/multigroup-vaccine) | | +| [Multitask Model to Forecast Patient's Next Unit and Remaining Length of Stay](https://github.com/madhobi/multitask_unit_and_days) | Contributor | [![Issues](https://img.shields.io/github/issues/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/issues)
[![PRs](https://img.shields.io/github/issues-pr/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/pulls)
2024-10-10 ([`c21c84e`](https://github.com/madhobi/multitask_unit_and_days/commits)) | 1 | [madhobi/multitask_unit_and_days](https://github.com/madhobi/multitask_unit_and_days) | | +| [PhenoMapper: an interactive toolbox for the visual exploration of phenomics data](https://github.com/tdavislab/PhenoMapper) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/issues)
[![PRs](https://img.shields.io/github/issues-pr/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/pulls)
2024-04-22 ([`4cc2a66`](https://github.com/tdavislab/PhenoMapper/commits)) | 0 | [tdavislab/PhenoMapper](https://github.com/tdavislab/PhenoMapper) | | +| [POMP (Aaron King’s tool, U. of Michigan)](https://github.com/kingaa/pomp) | ContributorContributorContributorContributorContributor +4 more | [![Issues](https://img.shields.io/github/issues/kingaa/pomp)](https://github.com/kingaa/pomp/issues)
[![PRs](https://img.shields.io/github/issues-pr/kingaa/pomp)](https://github.com/kingaa/pomp/pulls)
2025-08-01 ([`6279e55`](https://github.com/kingaa/pomp/commits)) | 52 | [kingaa/pomp](https://github.com/kingaa/pomp) | | +| [Post-acute care model](https://github.com/mattrmaloney/covid-post-acute-care) | No data | [![Issues](https://img.shields.io/github/issues/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/issues)
[![PRs](https://img.shields.io/github/issues-pr/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/pulls)
2020-06-13 ([`b60c0a6`](https://github.com/mattrmaloney/covid-post-acute-care/commits)) | 0 | [mattrmaloney/covid-post-acute-care](https://github.com/mattrmaloney/covid-post-acute-care) | | +| [quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/issues)
[![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/pulls)
2025-03-24 ([`83d2c4b`](https://github.com/Fernandez-Lab-WSU/quadkeyr/commits)) | 39 | [Fernandez-Lab-WSU/quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | | +| [rbranding](https://github.com/EpiForeSITE/branding-package) | ContributorContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/pulls)
2025-07-31 ([`baae6a8`](https://github.com/EpiForeSITE/branding-package/commits)) | 75 | [EpiForeSITE/branding-package](https://github.com/EpiForeSITE/branding-package) | | +| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/vaccine-equity-model) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/pulls)
2025-07-08 ([`ac3e3a4`](https://github.com/EpiForeSITE/vaccine-equity-model/commits)) | 128 | [EpiForeSITE/vaccine-equity-model](https://github.com/EpiForeSITE/vaccine-equity-model) | | --- diff --git a/scripts/update_project_status.R b/scripts/update_project_status.R index a02e849..bc3c08a 100755 --- a/scripts/update_project_status.R +++ b/scripts/update_project_status.R @@ -74,7 +74,7 @@ get_project_metrics <- function(owner, repo, token = NULL) { last_commit_date = "Unknown", last_commit_sha = "Unknown", contributor_avatars = character(0), - total_commits = 0 + total_commits = -1 )) } @@ -108,18 +108,42 @@ get_project_metrics <- function(owner, repo, token = NULL) { last_commit_date <- as.Date(substr(last_commit_date, 1, 10)) } - # Get total commits count (use repository stats instead of search API for better reliability) - total_commits <- 0 - # Try getting repo stats first (faster and more reliable) - stats_data <- github_api_call(paste0(base_url, "/stats/participation"), token) - if (!is.null(stats_data) && !is.null(stats_data$all)) { - total_commits <- sum(stats_data$all, na.rm = TRUE) + # Get total commits count using multiple methods for better reliability + total_commits <- -1 # -1 indicates API failure + + # Method 1: Try search API first (gets total commits across entire repository history) + # Note: This requires authentication and has rate limits, but gives accurate total counts + search_url <- paste0("https://api.github.com/search/commits?q=repo:", owner, "/", repo) + search_data <- github_api_call(search_url, token) + if (!is.null(search_data) && !is.null(search_data$total_count)) { + total_commits <- search_data$total_count } else { - # Fallback to search API if stats not available - search_url <- paste0("https://api.github.com/search/commits?q=repo:", owner, "/", repo) - search_data <- github_api_call(search_url, token) - if (!is.null(search_data)) { - total_commits <- search_data$total_count + # Method 2: Try getting repository statistics for contributor activity + # This might give us a better estimate than participation stats + stats_url <- paste0(base_url, "/stats/contributors") + contributors_stats <- github_api_call(stats_url, token) + if (!is.null(contributors_stats) && length(contributors_stats) > 0) { + # Sum up all contributions from all contributors + total_commits <- sum(sapply(contributors_stats, function(contributor) { + if (!is.null(contributor$total)) contributor$total else 0 + }), na.rm = TRUE) + } else { + # Method 3: Fallback to participation stats (last 52 weeks only) + stats_data <- github_api_call(paste0(base_url, "/stats/participation"), token) + if (!is.null(stats_data) && !is.null(stats_data$all)) { + # This gives us commits from last 52 weeks only - not ideal but better than nothing + total_commits <- sum(stats_data$all, na.rm = TRUE) + } else { + # Method 4: Last resort - check if any commits exist + commits_page <- github_api_call(paste0(base_url, "/commits?per_page=1"), token) + if (!is.null(commits_page) && length(commits_page) > 0) { + # Repository has commits but we can't get count - return -1 to indicate API limitation + total_commits <- -1 + } else { + # No commits found + total_commits <- 0 + } + } } } @@ -219,7 +243,7 @@ main <- function() { last_commit_date = as.character("Unknown"), last_commit_sha = as.character("Unknown"), contributor_avatars_html = as.character(""), - total_commits = as.integer(0) + total_commits = as.integer(-1) )] # Get metrics for each project (with progress tracking) @@ -264,8 +288,8 @@ main <- function() { "", paste("This dashboard tracks", nrow(projects_with_github), "EpiForeSITE projects with GitHub repositories."), "", - "| Project | Contributors | Issues | PRs | Last Commit | Commits | Repository |", - "|---------|-------------|--------|-----|-------------|---------|------------|" + "| Project | Contributors | Issues, PRs, and Last Commit | Commits | Repository |", + "|---------|-------------|--------------------------|---------|------------|" ) # Create table rows @@ -278,7 +302,7 @@ main <- function() { # Handle missing or invalid data gracefully contributors_display <- if (row$contributors > 0) { if (nchar(row$contributor_avatars_html) > 0) { - paste0(row$contributor_avatars_html, " (", row$contributors, ")") + row$contributor_avatars_html } else { paste0(row$contributors, " contributor", ifelse(row$contributors > 1, "s", "")) } @@ -305,7 +329,10 @@ main <- function() { "No recent commits" } - commits_display <- if (row$total_commits > 0) { + # Combine Issues, PRs, and Last Commit into single column with line breaks + combined_issues_prs_commits <- paste(issues_display, prs_display, last_commit_display, sep = "
") + + commits_display <- if (row$total_commits >= 0) { as.character(row$total_commits) } else { "N/A" @@ -316,9 +343,7 @@ main <- function() { table_row <- paste( paste0("| [", project_name, "](", github_link, ")"), contributors_display, - issues_display, - prs_display, - last_commit_display, + combined_issues_prs_commits, commits_display, repo_cell, "|",