Here are 5 ways you can keep track of trending repositories on GitHub
GitHub trending is a constantly updated list of repositories that provide a view of the open-source projects which the community is most excited about.
Trending repositories are displayed based on the number of times they’ve been starred by users every day, week or month. You can filter them based on a specific programming language so you can see what’s happening in your area of interest.
Tracking this page will also keep you informed of the “hottest” projects that everyone is talking about. I’ve tried five different ways of tracking trends on GitHub and have come up with some comparisons and contrasts as highlighted below.
1. GitHub Explore newsletter
This is the official newsletter from GitHub. You can subscribe to it here. Emails are sent out daily, weekly or monthly, depending on your preference. The email contains the top 5 trending repositories across all programming languages for the selected period:
The newsletter also contains personalized recommendations. For example, it may contain a list of projects starred by people you are following on GitHub.
Advantages:
- Official newsletter
- Daily, weekly or monthly mailing schedule
- Personal recommendations
Disadvantages:
- You cannot subscribe to a particular programming language
- Only top 5 repositories are in the list, although there are 25 on the GitHub trending page
2. GitHub notifications
GitHub notification system is a native and convenient way of tracking activity on GitHub. For many developers it is a part of their daily working process. You can receive notifications about new comments, pull requests, mentions and any other activity you might be involved in.
GitHub-trending-repos is a special repository that uses GitHub notifications to send you updates about trends. Every issue in that repository is related to a particular programming language. On daily and weekly basis, the bot checks trending repositories page and drops a comment. You can subscribe to an issue and receive updates on the GitHub web interface or by email.
Advantages:
- You can subscribe to trends of a particular programming language
- You can receive notifications either in the GitHub web interface or by email
- You can choose between daily and weekly updates
Disadvantages:
- Not all programming languages are available for subscription as yet
3. Twitter bot
Every 30 minutes @TrendingGithub bot tweets about one actual trending repository or developer:
The followers can easily keep a finger on GitHub trending pulse. Repositories are selected across all programming languages. Internally, the project remembers tweeted items for 30 days to avoid duplication of content.
Advantages:
- Twitter is a convenient channel for receiving news
- You can track trending developers as well
Disadvantages:
- Not possible to subscribe to a particular programming language
- Receiving updates every 30 minutes may be annoying
Project source is available on GitHub.
4. Changelog Nightly newsletter
Changelog Nightly is an automated newsletter sent every night at 10pm US Central Time (CT). It collects trending repositories across all programming languages and splits them into three groups:
- First timers - trending repositories not previously emailed
- Top new - trending repositories open-sourced throughout the day
- Repeat performers - trending repositories that already appeared in the newsletter before
It is a sub-project of Changelog - a digital media company offering a lot of other cool stuff for developers: 7 technical podcasts, news, weekly moderated email and community discussions in Slack.
Advantages:
- Items are separated into meaningful groups: first timers, created today and repeat performers
Disadvantages:
- The only schedule option available is daily emails
- Not possible to filter by a particular programming language
It’s worth mentioning that Changelog Nightly is powered by GitHub Archive- a database recording all public activity on GitHub. You can access data with any HTTP client and make your own analysis.
5. Manual browsing of daily updated repo
Consider this method if you don’t need any notifications. Every day, a script in github-trending repository scrapes trending projects and commits them as markdown files. You can manually browse these files and find out what was trending on a particular date.
The content of each file covers 7 programming languages: Swift, Objective-C, Go, JavaScript, Ruby, Rust and Python.
Advantages:
- You can access the full history of trends
- You are not bothered by notifications
Disadvantages:
- Only 7 languages are supported
- Only daily trends, no weekly or monthly updates
- No info about acquired stars
- You need to browse manually
Conclusion
Each method has its own advantages and disadvantages. You can try all of them and select the most suitable for you.
I believe that following new GitHub projects is an important part of the open-source world. It has a win-win effect:
- As a developer you can improve your own productivity by using modern approaches and tools.
- As a project author you can receive community feedback and inspiration for future development.
Thanks for reading! You’re welcome to share how you discover trends on GitHub.