Skip to main content

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

Project description

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

Prerequisites

  • Requires Python 3.6 or greater

Installation

pip install starcli

Remember to use pip3 instead of pip if you also have Python 2 installed on your system

Usage

Usage: starcli [OPTIONS]

  Browse trending repos on GitHub by stars

Options:
  -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, --topics TEXT               Search by topic. Can be specified multiple
                                  times. Multiple topics will be conjugated
                                  using &
  -u, --last-updated TEXT         Filter repos based on time of last update in
                                  ISO8601 format YYYY-MM-DD
  -L, --layout [list|table|grid]  The output format (list, table, or grid),
                                  default is list
  -s, --stars TEXT                Range of stars required, default is '>=100'
  -r, --limit-results INTEGER     Limit the number of results shown. Default:
                                  7
  -o, --order [desc|asc]          Specify the order of repos by stars that is
                                  shown, 'desc' or 'asc', default: desc
  --long-stats                    Print the actual stats[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
  --debug                         Turn on debugging mode
  --help                          Show this message and exit.

Layouts

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

list

demo list

table

grid

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, --last-updated, --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 updated date

Use this --last-updated or -u 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 -u 2020-01-01

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 hedythedev
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, --last-updated, --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 😆 ).

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 CONTRIBUTING.md. Remember that all contributions to this project should follow its CODE OF CONDUCT.

Uses

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

Contributors ✨

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


Shagilton

💻

hexbee

🐛

Sam Wellander

💻

Shivam Sinha

💻

Will McGugan

💻

Ashik J M

💻

Yu-Lin Chao

💻

Saif Kazi

💻 📖

arcanearronax

⚠️ 💻

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

Credits

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 ⭐

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starcli-2.13.1.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

starcli-2.13.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file starcli-2.13.1.tar.gz.

File metadata

  • Download URL: starcli-2.13.1.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for starcli-2.13.1.tar.gz
Algorithm Hash digest
SHA256 b93588906afb8621365409908bdf9b2710b337abcb5bf34b147f24ade4a6fe66
MD5 8f6a783001377222728d7c191578d920
BLAKE2b-256 64b774e90de2976f53cd55ef7a3af358a8a5b70f06eef1b8d0d0ab83c5ce0c44

See more details on using hashes here.

File details

Details for the file starcli-2.13.1-py3-none-any.whl.

File metadata

  • Download URL: starcli-2.13.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for starcli-2.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e072853400f615820e76b672daaa7a8d638077e38ab68c2a24ec654397a8007
MD5 8a1de91c93a9b9b2daa9832b4ebc2cb0
BLAKE2b-256 0533393f7f1f6df00c822b893a4b3be3f61175c11d9b1276659c4c124f7be593

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page