If you have starred way too many GitHub repositories and need a way of keeping track of them. This simple CLI tool throws you quasi random starred repos at you to look at and explore.
If you are struggling with selection paralysis; it also allows for selecting random repositories from a GitHub user.
Install with Pipx or Pip.
pipx install github-random-star
Install with GitHub CLI.
gh extension install ddkasa/gh-random-star
- Setup GitHub API token as the
GITHUB_TOKEN
environment variable. If this is not setup it will use the public access point with lower rates.
- Run the script through
gh-star <command> <account> <flags>
. - Run
gh-star help star
to get help.
- Run the script through
gh random-star <command> <account> <flags>
. - Run
gh random-star help star
to get help.
star
Randomly select from all starred items of a GH user.repo
Randomly select from a GH users repositories.
<account>
Username of the GitHub account to retrieve the starred items from. Required
-t, --total
Total amount of random items you want to pick from. Defaults to 3.-r, --refresh
Whether to fetch new cached data or not. Will re fetch all starred items instead of using cache.--max-history
The amount of historic choices to cache. Defaults to 100. Set to -1 to keep history unlimited.GH_STAR_MAX_HISTORY
environment variable can be used to override this value.-i, --ignore
If to use a list of repositories to ignore. Defaults to true.--max_results
The amount of starred items to retrieve from GitHub. Defaults to all.
gh-star star ddkasa
gh-star repo ddkasa
gh-star star ddkasa -t 5
gh-star star ddkasa -r -t 5
gh random-star star ddkasa
gh random-star repo ddkasa
Development is run through Poetry.
git clone https://github.com/ddkasa/github-random-star
cd github-random-star
poetry shell
poetry install
poetry run gh-star
- Lint with
ruff check toggl_api
- Check typing with
mypy toggl_api
- Use
pytest
for all tests - Use
pytest -m unit
for unit tests - Use
pytest -m integration
for integration tests - Test all supported python versions through
tox
MIT. Look at the LICENSE for details.