πŸ™ Share your Github stats for 2020 on Twitter

Overview

Year on Github πŸ™

Heroku App Status

Share your Github stats for 2020 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: gh2020.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.

Installation

git clone https://github.com/jrieke/my-year-on-github.git
cd my-year-on-github
pip install -r requirements.txt

Known issues

  • 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 phase and subsequently an EOFError). Please use Python 3.7 for now.

  • ghapi has (as of 26 December 2020) a small bug in the paged method (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).

Running locally

streamlit run app/main.py

Make sure to run always from the my-year-on-github dir (not from the app dir), 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 my-year-on-github:

heroku create
git push heroku main
heroku open

To update the deployed app, commit your changes and run:

git push heroku main

TODO

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_repo so 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.
You might also like...
πŸ“– GitHub action schedular (cron) that posts a Hadith every hour on Twitter & Facebook.

Hadith Every Hour πŸ“– A bot that posts a Hadith every hour on Twitter & Facebook (Every 3 hours for now to avoid spamming) Follow on Twitter @HadithEve

A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources
A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

Share your files on local network just by one click.
Share your files on local network just by one click.

Share Your Folder This script helps you to share any folder anywhere on your local network. it's possible to use the script on both: Windows (Click he

A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

KiKi bare dogs can share your joys and sorrows with you.

Kiki-FangLee-DiscordBot KiKi bare dogs can share your joys and sorrows with you. $help: Kiki will show you my talent, aw-aw. $list: Show Kiki's knowle

πŸ“ˆ A Discord bot for displaying the download stats of a repository made with Python, the Hikari API and PostgreSQL.
πŸ“ˆ A Discord bot for displaying the download stats of a repository made with Python, the Hikari API and PostgreSQL.

πŸ“ˆ axyl-stats axyl-stats is a Discord bot made with Python (with the Hikari API wrapper) and PostgreSQL, used as a download counter for a GitHub repo.

Track player's stats, find out when they're online and grinding!
Track player's stats, find out when they're online and grinding!

Hypixel Stats Tracker Track player's stats, find out when they're online and playing games! INFO Showcase Server: https://discord.gg/yY5qQHPar6 Suppor

A github actions + python code to extract URLs to code repositories to put into standard form, starting with github

A github actions + python code to extract URLs to code repositories to put into standard form, starting with github ---- NOTE: JUS

Comments
  • Automatically select all repositories in

    Automatically select all repositories in "show more"

    I had quite a few to repositories to click outside of my own namespace. It would be nice if there was a button to do it automatically for me.

    Anyway, this is super fun! Thanks for making this :) Grüße aus Bonn

    opened by cthoyt 2
  • Light refactor

    Light refactor

    No logic changes, makes main script more readable & separates creating the content to display & displaying it in streamlit (Relevant for readability, display formatting changes, (tests)).

    opened by chrieke 1
  • Color update 2 - actual blink

    Color update 2 - actual blink

    Adds actual green blink, but would require to reset the css animation (requires javascript), otherwise it just blinks the first time, then doesn't update any more (even when later adding single external repos).

    opened by chrieke 0
  • stars update green permanent

    stars update green permanent

    Adds green background color to stars to indicate updates. After the last update overwrites it one more time with white color. Not ideal, during the inital fetch just stays green, when fetching a single external repo the process is so quick often that the green doesn't even show.

    Alternative for actual blinking in separate pr.

    opened by chrieke 0
Owner
Johannes Rieke
Machine learning engineer. Computational Neuroscience @ TU Berlin
Johannes Rieke
Retrieves GitHub Stats via `git_api` and flask.

GitHub User Search Created using Python3 and git_api, coded by JBYT27. About This is a project I decided to make for Kajam, but I decided to choose a

an aspirin 4 May 11, 2022
You can share your Chegg account for answers using this bot with your friends without getting your account blocked/flagged

Chegg-Answer-Bot You can share your Chegg account for answers using this bot with your friends without getting your account blocked/flagged Reuirement

Ammey Saini 27 Dec 24, 2022
Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs.

Twython Twython is a Python library providing an easy way to access Twitter data. Supports Python 3. It's been battle tested by companies, educational

Ryan McGrath 1.9k Jan 2, 2023
Twitter bot that finds new friends in Twitter.

PythonTwitterBot Twitter Bot Thats Find New Friends pip install textblob pip install tweepy pip install googletrans check requirements.txt file Env

IbukiYoshida 4 Aug 11, 2021
A twitter multi-tool for OSINT on twitter accounts.

>TwitterCheckr A twitter multi-tool for OSINT on twitter accounts. Infomation TwitterCheckr also known as TCheckr is multi-tool for OSINT on twitter a

IRIS 16 Dec 23, 2022
twitter bot tha uses tweepy library class to connect to TWITTER API

TWITTER-BOT-tweepy- twitter bot that uses tweepy library class to connect to TWITTER API replies to mentions automatically and follows the tweet.autho

Muziwandile Nkomo 2 Jan 8, 2022
Twitter-bot - A Simple Twitter bot with python

twitterbot To use this bot, You will require API Key and Access Key. Signup at h

Bentil Shadrack 8 Nov 18, 2022
Twitter-redesign - Twitter Redesign With Django

Twitter Redesign A project that tests Django and React knowledge through a twitt

Mark Jumba 1 Jun 1, 2022
Shows VRML team stats of all players in your pubs

VRML Team Stat Searcher Displays Team Name, Team Rank (Worldwide), and tier of all the players in your pubs. GUI WIP: Username search works & pub name

Hamish 2 Dec 22, 2022
Twitter bot that turns comment chains into ace attorney scenes. Inspired by and using https://github.com/micah5/ace-attorney-reddit-bot

Ace Attorney twitter Bot Twitter bot that turns comment chains into ace attorney scenes. Inspired by and using https://github.com/micah5/ace-attorney-

Luis Mayo Valbuena 542 Dec 17, 2022