Python wrapper for the GitHub API(http://developer.github.com/v3)
Project description
github3.py
github3.py is a comprehensive, actively developed and extraordinarily stable wrapper around the GitHub API (v3).
See HISTORY.rst for any “breaking” changes.
Installation
$ pip install github3.py
Dependencies
requests by Kenneth Reitz
Testing
License
Modified BSD license
Examples
See the docs for more examples.
Testing
make tests
These coverage numbers are from the old-style tests and still apply to master.
Name Stmts Miss Cover ---------------------------------------- github3/__init__ 8 0 100% github3/api 54 1 98% github3/auths 50 0 100% github3/decorators 27 0 100% github3/events 89 0 100% github3/gists 101 0 100% github3/git 93 0 100% github3/github 374 0 100% github3/issues 204 0 100% github3/legacy 97 0 100% github3/models 189 0 100% github3/orgs 177 0 100% github3/pulls 138 6 96% github3/repos 790 22 97% github3/users 160 0 100% ---------------------------------------- TOTAL 2551 29 99%
Contact Options
It is preferred that you send an email to github3.py@librelist.com
You may also contact (via email) the author directly with questions/suggestions/comments
History/Changelog
0.3: 2013-01-01
In github3.repos.Repository
is_fork() and fork return the same thing
is_private() and private return the same thing as well
has_downloads, has_issues, has_wiki are now straight attributes
In github3.repos.Hook
is_active() and active return the same value
In github3.pulls.PullRequest
is_mergeable() and mergeable are now the same
repository now returns a tuple of the login and name of the repository it belongs to
In github3.notifications.Thread
is_unread() and unread are now the same
In github3.gists
GistFile.filename and GistFile.name return the same information
Gist.history now lists the history of the gist
GistHistory is an object representing one commit or version of the history
You can retrieve gists at a specific version with GistHistory.get_gist()
github3.orgs.Organization.iter_repos now accepts all types
list_* methods on Organization objects that were missed are now deleted
Some objects now have __str__ methods. You can now do things like:
import github3 u = github3.user('sigmavirus24') r = github3.repository(u, 'github3.py')
And
import github3 r = github3.repository('sigmavirus24', 'github3.py') template = """Some kind of template where you mention this repository {0}""" print(template.format(r)) # Some kind of template where you mention this repository # sigmavirus24/github3.py
Current list of objects with this feature:
github3.users.User (uses the login name)
github3.users.Key (uses the key text)
github3.users.Repository (uses the login/name pair)
github3.users.RepoTag (uses the tag name)
github3.users.Contents (uses the decoded content)
60% test coverage with mock
Upgrade to requests 1.0.x
0.2: 2012-11-21
MAJOR API CHANGES:
GitHub.iter_subscribed –> GitHub.iter_subscriptions
Broken list_* functions in github3.api have been renamed to the correct iter_* methods on GitHub.
Removed list_* functions from Repository, Gist, Organization, and User objects
Added zen of GitHub method.
More tests
Changed the way Repository.edit works courtesy of Kristian Glass (@doismellburning)
Changed Repository.contents behaviour when acting on a 404.
50% test coverage via mock tests
0.1: 2012-11-13
Add API for GitHub Enterprise customers.
0.1b2: 2012-11-10
Handle 500 errors better, courtesy of Kristian Glass (@doismellburning)
Handle sending json with % symbols better, courtesy of Kristian Glass
Correctly handle non-GitHub committers and authors courtesy of Paul Swartz (@paulswartz)
Correctly display method signatures in documentation courtesy of (@seveas)
0.1b1: 2012-10-31
unit tests implemented using mock instead of hitting the GitHub API (#37)
removed list_* functions from GitHub object
Notifications API coverage
0.1b0: 2012-10-06
Support for the complete GitHub API (accomplished)
Now also includes the Statuses API
Also covers the auto_init parameters to the Repository creation methodology
Limited implementation of iterators in the place of list functions.
98% coverage by unit tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.