Python library implementing the full Github API v3
Python Shell
Pull request Compare This branch is 3 commits ahead, 716 commits behind PyGithub:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This is a Python library to access the Github API v3.

With it, you can manage your Github resources (repositories, user profiles, organizations, etc.) from Python scripts.

It covers the full API, and all methods are tested against the real Github site.

Should you have any question, 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.

PyGithub is stable. I will maintain it up to date with the API, and fix bugs if any, but I don't plan new heavy developments.

What's new?

Build Status

Version 1.8.0 (September 30th, 2012)

  • Enable Travis CI
  • Fix error 500 when json payload contains percent character (%). Thank you again quixotique for pointing that and reporting it to Github
  • Enable debug logging. Logger name is "github". Simple logging can be enabled by github.enable_console_debug_logging(). Thank you quixotique for the merge request and the advice
  • Publish tests in the PyPi source archive to ease QA tests of the FreeBSD port. Thank you koobs for maintaining this port
  • Switch to Semantic Versioning
  • Respect pep8 Style Guide for Python Code

Previous versions

See ChangeLog.

Download and install

This package is in the Python Package Index, so easy_install PyGithub or pip install PyGithub should be enough. You can also clone it on Github.


First create a Gihtub instance:

from github import Github

g = Github( "user", "password" )

Then play with your Github objects:

for repo in g.get_user().get_repos():
    repo.edit( has_wiki = False )

You can also create a Github instance with an OAuth token:

g = Github( token )

Or without authentication:

g = Github()

Reference documentation

You need to use a Github API and wonder which class implements it? Reference of APIs

You want all the details about PyGithub classes? Reference of classes


PyGithub is distributed under the GNU Lesser General Public Licence. See files COPYING and COPYING.LESSER, as requested by GNU.

Projects using PyGithub

(Open an issue if you want to be listed here, I'll be glad to add your project)

They talk about PyGithub