Skip to content

clouserw/PyGithub

 
 

Repository files navigation

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 (except recent additions, see "What's missing" bellow), 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.

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 2 is comming

As of December 15th, 2013, I plan to spend more time on version 2. I'll continue to maintain version 1, investigating and fixing bugs, but I'm not going to actively implement missing features. I'll still be glad to accept pull requests.

More info on version 2 in the comming weeks, and here is an issue to discuss the topic: PyGithub#217

Version 1.23.0 (December 23th, 2013)

  • Fix all that is based on headers in Python 3 (pagination, conditional request, rate_limit...), huge thanks to cwarren-mw for finding the bug
  • Accept strings for assignees and collaborators, thanks to farrd
  • Ease two-factor authentication by adding 'onetime_password' to AuthenticatedUser.create_authorization, thanks to cameronbwhite

Twitter

Starting with version 1.21.0, I'm going to twitt each new release. I rarelly twitt, and always about software development, so you might want to follow me to stay informed.

What's missing?

We now have automated ways to list URLs documented in the reference of Github API v3 and not covered by PyGithub.

Github API v3 URLs not (yet) covered by PyGithub

  • /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)
  • /search/code (GET)
  • /search/issues (GET)
  • /search/repositories (GET)
  • /search/users (GET)

Documentation

All the documentation is here: http://jacquev6.github.com/PyGithub.

About

Python library implementing the full Github API v3

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%