Skip to main content

A GitHub release helper

Project description


Stefan Eletzhofer


This is a little tool to help me with releasing stuff to GitHub.


ghrelease - a GitHub release helper

    ghrelease --version
    ghrelease [options] list <reponame>
    ghrelease [options] create --tag=TAG [--name=RELEASE_NAME] [--body=FILE] [--draft | --prerelease] <reponame> [<file>...]
    ghrelease [options] upload --tag=TAG <reponame> <file>...
    ghrelease [options] open (--tag=TAG | --latest) <reponame>

The `list` command lists available releases.

The `create` command creates new releases, optionally uploading some assets.

The `upload` command uploads assets to a existing release.  It's not possible to
replace assets -- the command will complain if you're trying to upload an existing

The `open` command opens the release's web page in the system default browser.

    -h --help           show this help
    -u --user=USER      github login name
    -p --password=PASS  github password
    --password-env=ENV  read password from system environment [default: GHRELEASE_PASS]
    --user-env=ENV      read user name from system environment [default: GHRELEASE_USER]
    --owner=OWNER       github owner [defaults to the user name]
    --debug             debug logging
    -v, --verbose       print more text


Listing all releases of a given repository:

$ ghrelease --user fred --pass s3kr17 list some-repo
RELEASE    release-name (v0.3) @
PRERELEASE release-name (v0.2) @
PRERELEASE release-name (v0.1) @

Passing credentials via command line is insecure and ugly:

$ export GHRELEASE_USER=fred
$ export GHRELEASE_PASS=s3kr71
$ ghrelease list some-repo
RELEASE    release-name (v0.3) @
PRERELEASE release-name (v0.2) @
PRERELEASE release-name (v0.1) @

Creating a new release for tag v0.4 named super-duper, using the local file docs/changelog.rst as release notes, uploading some zip file:

$ ghrelease create some-repo v0.4 --name super-duper --body docs/changelog.rst
Release created:
RELEASE    super-duper (v0.4) @
uploading (application/octet-stream) ...

Open the web page of that release:

$ ghrelease open --tag v0.4 some-repo

Uploading assets to an existing release:

$ ghrelease upload some-repo --tag v0.4 LICENSE
uploading file (application/octet-stream) ...
uploading file LICENSE (application/octet-stream) ...

Project details

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ghrelease-0.1.2-py2.7.egg (2.4 kB view hashes)

Uploaded Source

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