Skip to main content

A collection of useful GitHub commands

Project description

# ghb

This is a small set of scripts for working with github. Unlike hub or gh the purpose of this is not to override git and add functionality on top of that. Instead this uses a git like method of looking for executables named ghb-* and nesting them under the ghb command. This allows you to create simple single purpose scripts in any language.

## Commands

  • [approve](ghb/approve.py), quickly approve a PR with a GitHub review

  • [assignme](ghb/assignme.py), assign yourself to a PR

  • [block](ghb/block.py), block users on GitHub

  • [clear-comments](ghb/clear_comments.py), delete all comments on a pull request

  • [close-prs](ghb/close_prs.py), close multiple PRs from a certain author targeting a specific branch

  • [comment](ghb/comment.py), comment on a list of issues / PRs

  • [contributions](ghb/contributions.py), view the number of contributions you’ve made today

  • [create](ghb/create.py), create github repos.

  • [delete-branches](ghb/delete_branches.py), delete stale branches matching some prefix

  • [download-release](ghb/download_release.py), download the most recent release from a repo

  • [get-blocks](ghb/get_blocks.py), get the users you’ve blocked

  • [greenify](ghb/greenify.py), force all statuses on a PR to be gren

  • [langs](ghb/langs.py), get the language breakdown for a repo

  • [ls-notifications](ghb/ls_notifications.py), list your unread notifications

  • [me](ghb/me.py), open your GitHub profile

  • [notifications](ghb/notifications.py), open your unread notifications in the browser

  • [pr](ghb/pr.py), open a PR from the current branch

  • [protect](ghb/protect.py), enable/disable branch protection for a specific repo and branch

  • [unblock](ghb/unblock.py), unblock a GitHub user

  • [unwatch](ghb/unwatch.py), bulk unwatch repos

  • [watch](ghb/watch.py), watch a repo

See the header comment in each individual file for specific usage.

### Installation

` brew install keith/formulae/ghb `

Or:

` pip install ghb `

(and install zsh/_ghb if you want zsh completions)

### Configuration

To setup authentication for ghb you must add a personal access token to your ~/.netrc file. You can generate a token [here](https://github.com/settings/tokens). You should enable the repo, workflow, notifications, and user scopes (you maybe be able to omit some of those depending on which subcommands you plan to use).

Then in your ~/.netrc file add:

` machine api.github.com login GITHUB_USERNAME password TOKEN `

And restrict permissions with chmod 0600 ~/.netrc (this is required)

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

ghb-1.12.0.tar.gz (17.0 kB view hashes)

Uploaded Source

Built Distribution

ghb-1.12.0-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

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