Year on Github
Share your Github stats for last year on Twitter.
This project contains a small web app that let's you share stats about your Github activity from last year. It's like Spotify's "year in review" but for Github. The app is built with Streamlit, queries Github's API via ghapi, and let's you share the generated stats directly on Twitter.
🎉 Try it out: gh.jrieke.com 🎉
For updates follow me on Twitter and if you like this project, please consider sponsoring
Note: The steps below are only required if you want to work on the app. If you just want to use it, go here.
git clone https://github.com/jrieke/my-year-on-github.git cd my-year-on-github pip install -r requirements.txt
Doesn't work with Python 3.8 and 3.9! Both versions throw an error related to ghapi/multiprocessing that I couldn't resolve yet (
RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phaseand subsequently an
EOFError). Please use Python 3.7 for now.
ghapi has (as of 26 December 2020) a small bug in the
pagedmethod (see here), which may cause problems, therefore the commands above will install it from my fork (you can also install it manually from there with
pip install -U git+https://github.com/jrieke/ghapi).
streamlit run app/main.py
Make sure to run always from the
my-year-on-github dir (not from the
otherwise the app will not be able to find the css file.
Deploying to Heroku
First, install heroku and login.
To create a new deployment, run inside
heroku create git push heroku main heroku open
To update the deployed app, commit your changes and run:
git push heroku main
PRs are welcome! Please open an issue before you start working to coordinate.
- New stars for repos >40k stars are not properly calculated because the Github API only returns the first 40k stars. Improve this by using the current stargazers_count to calculate/estimate the number of new stars.
- Maybe: Use stargazers_count in
query_reposo it's not required to read the last page of stargazers. This requires to disable hashing for stargazers_count in streamlit's cache function.
- Right now, new stars for 2021 are also counted. Fix this.