Browse popular projects on github by star trends from your command line
Project description
Browse trending projects on Github from your command line 💻
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
table
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:
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
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 
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
b93588906afb8621365409908bdf9b2710b337abcb5bf34b147f24ade4a6fe66
|
|
MD5 |
8f6a783001377222728d7c191578d920
|
|
BLAKE2b-256 |
64b774e90de2976f53cd55ef7a3af358a8a5b70f06eef1b8d0d0ab83c5ce0c44
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
9e072853400f615820e76b672daaa7a8d638077e38ab68c2a24ec654397a8007
|
|
MD5 |
8a1de91c93a9b9b2daa9832b4ebc2cb0
|
|
BLAKE2b-256 |
0533393f7f1f6df00c822b893a4b3be3f61175c11d9b1276659c4c124f7be593
|