Skip to content

Python library implementing the full Github API v3

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

schmidt-fu/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 1.18.0 (August 21st, 2013) (Bénodet edition)

  • Issues' repository attribute will never be None. Thank you stuglaser for the pull request
  • No more false assumption on rate_limiting, and creation of rate_limiting_resettime. Thank you edjackson for the pull request
  • New parameters since and until to Repository.get_commits. Thank you apetresc for the pull request
  • Catch Json parsing exception for some internal server errors, and throw a better exception. Thank you MarkRoddy for the pull request
  • Allow reversed iteration of ``PaginatedList``s. Thank you davidbrai for the pull request

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)
  • /feeds (GET)
  • /gists/:id/forks (POST)
    • instead, Gist.create_fork calls the old URL /gists/:id/fork
  • /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)
  • /rate_limit (GET)
    • should be called in method Github.get_rate_limit. See also Github.rate_limiting
  • /repos/:owner/:repo/contents/:path (DELETE)
  • /repos/:owner/:repo/contents/:path (PUT)
  • /repos/:owner/:repo/hooks/:id/tests (POST)
    • instead, Hook.test calls the old URL /repos/:owner/:repo/hooks/:id/test
  • /repos/:owner/:repo/notifications (GET)
  • /repos/:owner/:repo/notifications (PUT)
  • /repos/:owner/:repo/stats/code_frequency (GET)
  • /repos/:owner/:repo/stats/commit_activity (GET)
  • /repos/:owner/:repo/stats/contributors (GET)
  • /repos/:owner/:repo/stats/participation (GET)
  • /repos/:owner/:repo/stats/punch_card (GET)
  • /repos/:owner/:repo/subscription (DELETE)
  • /repos/:owner/:repo/subscription (GET)
  • /repos/:owner/:repo/subscription (PUT)
  • /repositories (GET)
    • should be called in method Github.get_repos
  • /search/code (GET)
  • /search/issues (GET)
  • /search/repositories (GET)
  • /search/users (GET)
  • /users/:user/following/:target_user (GET)
    • should be called in method NamedUser.has_in_following

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