Skip to main content

Github search from the cli

Project description

gh-search

GitHub code search from your cli

Features

  • All features of GitHub Search API (eg. search qualifiers)
  • 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
  • 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 the path: 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 called mycat.json whereas path: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.
  • -v: 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 tests
  • make lint run linters

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gh-search-0.3.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

gh_search-0.3.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file gh-search-0.3.1.tar.gz.

File metadata

  • Download URL: gh-search-0.3.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for gh-search-0.3.1.tar.gz
Algorithm Hash digest
SHA256 520e924ed8ab04e01209ce9e53a3d00b34593633159cd4d00c5342bac4ddd44e
MD5 596484e6b7d2826b7f7e293976ad3329
BLAKE2b-256 7c975092b2390679aa80a703d3a0af9fdabbd09e31ff66899ec6e67e9269a74d

See more details on using hashes here.

Provenance

File details

Details for the file gh_search-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: gh_search-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for gh_search-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66201d8f2e4243892faf323e63281ede514db54992486db3fb1423e9bbd90c88
MD5 32a1ffc0cbafc7a0b669f16a3e25cc50
BLAKE2b-256 47973a9625b9b291d0faaf870a8a21aa85b24e8b13d65e21c00faed7ae73a5fd

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page