Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Python library implementing the GitHub API v3

Merge pull request #309 from beugley/master

Connect through a proxy with authentication
latest commit 8f8e1adc79
@jzelinskie jzelinskie authored


This is a Python (2 and 3) library to access the Github API v3. With it, you can manage Github resources (repositories, user profiles, organizations, etc.) from Python scripts.

It covers almost the full API (see "What's missing" below), and all methods are tested against the real Github site.

Should you have any question, any remark, or if you find a bug, or if there is something you can do with the API but not with PyGithub, please open an issue.

Here is the references documentation.

Looking for maintainers (February 22nd, 2015)

My current priorities are not compatible with doing a good job maintaining PyGithub, so I'm looking for volunteers to take over. Please see #297.

What's new?

Version 1.25.2 (October 7th, 2014)

  • Work around the API v3 returning null in some paginated responses, thanks erichaase for the bug report

Version 1.25.1 (September 28th, 2014)

  • Fix two-factor authentication header, thanks to tradej for the pull request

Version 1.25.0 (May 4th, 2014)

What's missing? Github API v3 URLs not covered by PyGithub

A lot of things including the following URLs, and every new things published by GitHub recently.

  • /applications/:client_id/tokens/:access_token (GET)
  • /authorizations/clients/:client_id (PUT)
  • /feeds (GET)
  • /meta (GET)
  • /notifications (PUT)
  • /notifications/emails (GET)
  • /notifications/emails (PATCH)
  • /notifications/global/emails (GET)
  • /notifications/global/emails (PUT)
  • /notifications/organization/:org/emails (GET)
  • /notifications/organization/:org/emails (PUT)
  • /notifications/settings (GET)
  • /notifications/settings (PATCH)
  • /notifications/threads/:id (PATCH)
  • /notifications/threads/:id/subscription (DELETE)
  • /notifications/threads/:id/subscription (GET)
  • /notifications/threads/:id/subscription (PUT)
  • /repos/:owner/:repo/contents/:path (DELETE)
  • /repos/:owner/:repo/contents/:path (PUT)
  • /repos/:owner/:repo/notifications (GET)
  • /repos/:owner/:repo/notifications (PUT)
  • /repos/:owner/:repo/releases (GET)
  • /repos/:owner/:repo/releases (POST)
  • /repos/:owner/:repo/releases/:id (DELETE)
  • /repos/:owner/:repo/releases/:id (GET)
  • /repos/:owner/:repo/releases/:id (PATCH)
  • /repos/:owner/:repo/releases/:id/assets (GET)
  • /repos/:owner/:repo/releases/assets/:id (DELETE)
  • /repos/:owner/:repo/releases/assets/:id (GET)
  • /repos/:owner/:repo/releases/assets/:id (PATCH)
  • /repos/:owner/:repo/subscription (DELETE)
  • /repos/:owner/:repo/subscription (GET)
  • /repos/:owner/:repo/subscription (PUT)
Something went wrong with that request. Please try again.