This is the source for the Github repository health report service found at https://repohealth.info/.
The GitHub repository health report service aims to make it simple to gather metrics about the health of repositories on GitHub. We study a repository's commits and combine this with data available through the GitHub API to give easy to read metrics. No single metric is a good indicator of a repository's health, and we don't try to combine the information in any way to come up with a single health "score" – instead, we present the data in a way that will allow you to draw your own conclusions.
This service is intended to remain simple and accessible. Whilst it would be interesting to add more layers of sophistication (e.g. predictive metrics), the diminishing returns will quickly outweigh the cognitive burden on maintainers of this repository - for this reason, we encourage collaboration that simplifies 3rd party data analysis using the APIs that are provided by this service.
This work has been funded by the Met Office, the UK's national weather service. The source of this repository is licensed under a BSD 3-clause license.
We have intentionally kept the development setup of this repository very simple. The service is a single tornado web-app that can be deployed to any machine with the pre-requisite dependencies. The full code for building the operational Heroku image can be found in buildpack-run.sh.
When developing locally, a personal GitHub application token that points back to localhost:8888
will be needed.
Next, define the CLIENT_ID
, CLIENT_SECRET
and COOKIE_SECRET
environment variables (the latter can be set to any value).
Finally, simply run python webapp.py
and authenticate through to view reports locally as you would on the public service.
The service itself is running on Heroku, and whilst we could be making use of more advanced caching technologies (like a database!) we simply rely on our deployment target's ephemeral storage to act as a data cache.
Google analytics is enabled on the service - please let @pelson know if you have contributed to this repository and want access.
heroku config --shell > .env
export $(heroku config --shell)
There are a number of other tools and services that provide health metrics (and scores) of Git and/or GitHub repositories: