Browse popular projects on github by star trends from your command line

github, python, cli, commandline, command-line, pypi, python3, trending, trending-repositories, command-line-tool, stars, beginner, hacktoberfest, github-trending, pypi-packages, pypi-package, hacktoberfest2020, browse-trending, starcli
pip install starcli==2.17.1


Cover image

Browse trending projects on Github from your command line 💻

checks pypi version pypi downloads per month Python Requirements Code style: black GitHub license MIT

starcli demo.gif


  • Filters
    • Stars
    • Pushed date
    • Created date
    • User
    • Topic
    • Language
    • Spoken language
  • Use generic GitHub search API or GitHub trending
  • Auth token (optional)
  • Paged output
  • Different layouts


  • Requires Python 3.6 or greater


pip3 install starcli


Usage: starcli [OPTIONS]

  Search and query GitHub repositories

  -l, --lang TEXT                 Language filter eg: python
  -S, --spoken-language TEXT      Spoken Language filter eg: en for English,
                                  zh for Chinese, etc
  -c, --created TEXT              Specify repo creation date in YYYY-MM-DD,
                                  prefixing with >, <= etc is allowed
  -t, --topic TEXT                Search by topic, can be specified multiple
  -p, --pushed TEXT               Specify date of last push in YYYY-MM-DD, >=<
  -L, --layout [list|table|grid]  The output format (list, table, or grid),
                                  default is list
  -s, --stars TEXT                Amount of stars required, default is
                                  '>=100'. Can use 123, <10, etc.
  -r, --limit-results INTEGER     Limit the number of results. Default: 7
  -o, --order [desc|asc]          Order of repos by stars shown, 'desc' or
                                  'asc', default: desc
  --long-stats                    Print the actual stats number (1300 instead
                                  of 1.3k)
  -d, --date-range [today|this-week|this-month]
                                  View stars received within time range,
                                  choose from: today, this-week, this-month
  -u, --user TEXT                 Search for trending repositories by username
  --auth TEXT                     GitHub personal access token in the format
  -P, --pager                     Use $PAGER to page output. (put -r in $LESS
                                  to enable ANSI styles)
  --debug                         Turn on debugging mode
  --help                          Show this message and exit.


Switch layouts using --layout {list|table|grid}, or use the short option -L


demo list



demo grid

Filtering by language

For example, you only want to find popular Python repos, you can use --lang or -l:

starcli --lang python

Here, we used starcli -l python -L grid, which is python with grid layout:

demo grid

Filtering by spoken language

If you wanted to find repos in your native language, you can use --spoken-language or -S:

starcli --spoken-language zh

The above command lists down repos written in Chinese. A full list of language codes is available here

Note that (like --date-range) options like --topics, --pushed, --created won't take effect because -d uses a different search mechanism to find results.

Specify the number (or range) of stars

(Recommended to be used with --created)

The default range is >=100, you can change that! Use --stars or -s to specify what you want, for example, if you want to find repos that has more than 100 stars, you can use:

starcli -s '>100'

Note that if you do something like >1000 not many repos can have more than 1000 and is created within around 200 days, to specify date of creation, use --created, see below.

Filter by stars daily, weekly or monthly

Wish to know what's trending this week?! You can view the number of stars a repo received today, this week or this month by using the --date-range or -d option:

starcli -d this-week -L table

This command will also display the number of stars received for each repo this week in the form of a table.

Specify the date of creation

Want to find newer, older, or just created repos? Just use --created or -c, and then provide a date in ISO8601 format: yyyy-mm-dd

For example, for repos created on 1st January 2014, use:

starcli --created 2014-01-01

To search for repos that are created on or after 1st January 2014, use:

starcli --created '>=2014-01-01'

Filtering by topics

This option helps you to filter by topics. You can use --topics or -t to include a topic in search. This option can be used multiple times.

starcli -l python -d 2020-07-06 -t deep-learning -t pytorch

Specifying last pushed date

Use this --pushed or -p when you want to find popular repos that are last updated on a given date, say 2020-01-01 for 1st of Jan 2020:

starcli -p 2020-01-01

You can also prefix the value with ">=<" like:

starcli -p '>=2020-01-01'

This is find repos that have last pushed after or on January the 1st, 2020. Read more about the >=< syntax: GitHub Docs

Searching by user

Recommended to be used with --stars and/or --date-created.

Finding trending projects by GitHub username is supported too. Use --user or -u to do so, provide a valid GitHub username after that, like:

starcli -u hedyhli
starcli -u gvanrossum

Using date ranges

You can use --date-range or -d and specify today, this-week, or this-month, so that GitHub Trending search function will be used to find popular repos and tell you how much stars are gained this day/week/month depending on the option you used.

starcli -d this-week

demo date range

Note that (like --spoken-language) options like --topics, --pushed, --created won't take effect because -d uses a different search mechanism to find results.

Limit the number of results shown

Don't like the default 7? You can change it to something else, using --limit-results or -r followed by an integer:

starcli -r 2

The above will only give you two repos. This is useful if you want to put it in your .bashrc, .zshrc, or fish_greeting function.

Just add starcli -r 3 -L grid in there, and every time you open your terminal, you will find 3 trending repos printed neatly in a grid format, great way to start your day (bit like the Hacker Tab Extension 😆 ).

GitHub Authentication

If you have used starcli too much in a specified amount of time, rate limit will be hit. To avoid this, use authenticate using --auth and provide your username and password

starcli --auth "username:password"

Read more

Issues, feature request, and feedback

  • Issues, bug reports, or feature request: Don't hesitate to open an issue in this repo
  • Feedback: any general feedback or questions about using StarCLI you can leave a comment on our Product Hunt page, remember to be nice :)

Development PRs Welcome

For contributing guidelines and how to set up your development environment, please read Remember that all contributions to this project should follow its CODE OF CONDUCT.


  • CommandLine Argument parser: Click
  • Colored and table console print: rich (with click and colorama)
  • HTTP library to send requests: requests


Thanks goes to all of these wonderful people (emoji key):





Sam Wellander


Shivam Sinha


Will McGugan


Ashik J M


Yu-Lin Chao


Saif Kazi

💻 📖


⚠️ 💻


📖 💻

odmishien(Tetsuya MISHIMA)


Neel Shah




Akash Dhanwani


Ed Davis


This project follows the all-contributors specification. Contributions of any kind welcome!


This project was forked from githunt (python) and its initial intention was to rewrite that project to use Rich instead of colorama + tabulate, but now it has so much more features than before, thanks everyone!

Liked this project? Don't forget to give it a