Github search from the cli
Project description
gh-search
GitHub code search from your cli
Features
- Uses GitHub Search API
- Apply filters on the GitHub Search API response (eg. ignore archived repos or search for additional text in matched content)
- View search results grouped by repo
- Core API rate limit check (prevent accidentally consuming your entire core api quota)
- Works with GitHub Enterprise
Installation
pip install gh-search
Usage
IMPORTANT: This tool requires that you GitHub token set on the GITHUB_TOKEN
envvar (or passed to the script via the --github-token
option).
Invoke with gh-search
and pass a query string as the first argument. For example, to search for the string "usage" in this repo:
gh-search usage repo:janeklb/gh-search
Note that repo:
is a search qualifier natively supported by the GitHub Search API.
gh-search
also offers the following options
-a
/--include-archived
: include results from archived repos (default behaviour is to exclude results from archived repositories).-p TEXT
/--path-filter TEXT
: similar to thepath:
search qualifier, but a bit more flexible as it does a string match on the path (rather than relying on GitHub's indexed path components). For example-p cat
will show matches against a file calledmycat.json
whereaspath:cat
will not.-c TEXT
/--content-filter TEXT
: applies a string match on the content of a search result. A bit more flexible than specifying an additional search term in the search query, tests for a string match directly on the text content rather than relying on how GitHub has indexed a file for searching.-l
/--repos-with-matches
: only prints the names of the repos with matching results-v
/--verbose
: verbose output, print information about the repos being scanned and ignored via filters
Enterprise
If you want to search against GitHub Enterprise set the GITHUB_API_URL
envvar with a URL to the v3 api endpoint. eg. GITHUB_API_URL=https://git.mycompany.net/api/v3
. You can also use the --github-api-url
option for this.
Developing
make install-dev
install dev dependencies (set up your own virtual environment first)make unit
run unit testsmake lint
run linters
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
Hashes for gh_search-0.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aff2220d9fa624075336c644ca747f76780c292b5eaca2dd262bad1269e1a04c |
|
MD5 | 92d330674306bbdf611aa897cc303bc1 |
|
BLAKE2b-256 | 91099205786de75e83be179d9584637ead3b51d52982f65fd9e50331e967448a |