8

StarCLI – Browse trending repos on GitHub by star, date, and more

 3 years ago
source link: https://github.com/hedythedev/starcli/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

starcli-small-cover.png

Browse trending repos on Github by :star: stars :star:from your command line! :computer:

badge.svg68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f73746172636c6968747470733a2f2f696d672e736869656c64732e696f2f707970692f646d2f73746172636c6968747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f73746172636c69

starcli-demo2.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
  -d, --date-created TEXT         Specify repo creation date 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]
  --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

list.png

table

table.png

grid

grid.png

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:

lang.png

Specify the number (or range) of stars

(Recommended to be used with --date-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 --date-created , see below.

Specify the date of creation

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

For example, to 1st January 2014, use:

starcli --date-created 2014-01-01

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 :laughing: ).

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

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 :sparkles:

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

21122143?v=4Shagilton
:computer: 26668583?v=4hexbee
:bug: 22231097?v=4Sam Wellander
:computer: 32016929?v=4Shivam Sinha
:computer:

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

Credits

This project was forked from githunt (python) made by Srinivasa Rao , which in turn, is inspired by githunt (the JavaScript Web App) .

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK