/findstar

Grep over your GitHub starred repositories

Primary LanguagePythonThe UnlicenseUnlicense

findstar

GitHub last commit GitHub Twitter Follow

Findstar is a Python CLI utility to quickly retrieve a repository that you starred on GitHub.

You can search through every user's starred repositories for keywords, kind of like grep.

asciinema

Installation

Clone the repo and install requirements.

git clone https://github.com/thbzzz/findstar.git
cd findstar
pip3 install --user -r requirements.txt

Usage

usage: findstar.py [-h] -u USERNAME [-f] [-s] [-a] [greps [greps ...]]

Grep over your github starred repositories!

positional arguments:
  greps                 strings to grep for

optional arguments:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        github username
  -f, --flush           refresh cache
  -s, --case-sensitive  match greps case-sensitively
  -a, --and             match greps using AND instead of OR

At first run with each username, its starred repositories are fetched from the GitHub's API, and cached in the file cache/{username} as zlib-compressed json data.

Next times you run findstar.py -u {username}, the default behavior is to get the starred repos list from the username's cache file. You can however force fetching stars from GitHub's API by adding the -f flag.

Examples

findstar.py -u thbzzz kerberos
findstar.py -u thbzzz active directory
findstar.py -u thbzzz -a active directory
findstar.py -u thbzzz -s -a Active Directory
findstar.py -u thbzzz -f -s -a Active Directory CVE

Todo

  • Search inside repos' names
  • Search by repo name/description/readme only

Contributing

Pull requests are welcome.

Authors and acknowledgment

The original idea is from switch, with starscrawler. I reimplemented the concept with a more maintanable code base.

License

The Unlicense