This is a Python (2 and 3) 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.
Version 1.11.1 (February 9th, 2013) (London edition)
Version 1.11.0 (February 7th, 2013)
- Fix bug in PaginatedList without url parameters. Thank you llimllib for the contribution
- Publish the oauth scopes in Github.oauth_scopes, thank you bilderbuchi for asking
Download and install
First create a Github 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()
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.
Please see Contributing.md.
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.
- Notifico receives messages (such as commits and issues) from services and scripts and delivers them to IRC channels. It can import/sync from Github.
- Tratihubis converts Trac tickets to Github issues
- https://github.com/natduca/quickopen uses PyGithub to automaticaly create issues