Skip to content

PyGithub/PyGithub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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?

Version 1.7 (September 12th, 2012)

  • Be able to clear the assignee and the milestone of an Issue. Thank you quixotique for the merge request
  • Fix an AssertionFailure in Organization.get_xxx when using Github Enterprise. Thank you mnsanghvi for pointing that
  • Expose pagination to users needing it (PaginatedList.get_page). Thank you kukuts for asking
  • Improve handling of legacy search APIs
  • Small refactoring (documentation, removal of old code generation artifacts)

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.

Tutorial

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():
    print repo.name
    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

Licensing

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)

  • Upverter is a web-based schematic capture and PCB layout tool for people who design electronics. Designers can attach a Github project to an Upverter project.
  • Tratihubis converts Trac tickets to Github issues