Github search from the cli
Project description
gh-search
GitHub code search from your cli
Features
- Filters the search results (eg. ignore archived repositories or search for additional text in matched content)
- View search results grouped by org/repository
- Checks your core API rate limit (prevent accidentally consuming your entire core api quota)
- Uses GitHub's Rest API (and therefore works with GitHub Enterprise)
Installation
pip install gh-search
Authentication
A valid GitHub personal access token, with the repo
scope, is required to retrieve search results.
It can be set on a GITHUB_TOKEN
envvar or passed to the script via the --github-token
option.
Usage
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. See GitHub's searching code documentation to see what other qualifiers are available.
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
: include results with content that matches against a string (TEXT
). A lot more flexible than specifying an additional search term in the search query, which relies on how GitHub has indexed a file for searching.-e TEXT
/--regex-content-filter TEXT
: Just like--content-filter
but matches against a regular expression (TEXT
).-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://github.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.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1bed0fa68309d47a7c7e64374390c9ebae3888c038b24dac61c9592bd1c9ee1 |
|
MD5 | cf29057e854daff478577ac9d9c8f0d5 |
|
BLAKE2b-256 | 45ece8bbce417250ca42bfbc4fedac152f688f351abd02c8abf96a61df94ec18 |