Python wrapper for the GitHub API (http://developer.github.com/v3)
Project description
github3.py
Eventually this will be a python module to access the GitHub v3 API.
This is not stable yet and there is no backwards compatibility yet. There will likely be some changes which change behavior in the near future.
Installation
$ pip install github3.py
Dependencies
Every-day Use
requests by Kenneth Reitz
Testing
License
Modified BSD license
Examples
See the docs for more detailed examples.
>>> from github3 import login >>> gh = login(username, password) >>> issue = gh.issue('sigmavirus24', 'Todo.txt-python', 17) >>> issue.html_url u'https://github.com/sigmavirus24/Todo.txt-python/issues/17' >>> issue.state u'open' >>> events = issue.list_events() >>> events [<Issue Event [#17 - subscribed - sigmavirus24]>, <Issue Event [#17 - assigned - sigmavirus24]>, <Issue Event [#17 - referenced - sigmavirus24]>] >>> events[0].actor <User [sigmavirus24:None]> >>> events[0].issue <Issue [sigmavirus24/Todo.txt-python #17]> >>> events[0].closed_at >>> events[0].event u'subscribed'
>>> from github3 import login >>> g = login(username, password) >>> repo = g.repository('sigmavirus24', 'Todo.txt-python') >>> sha = repo.create_blob('Testing blob creation', 'utf-8') >>> sha u'57fad9a39b27e5eb4700f66673ce860b65b93ab8' >>> blob = repo.blob(sha) >>> blob.content u'VGVzdGluZyBibG9iIGNyZWF0aW9u\n' >>> blob.decoded u'Testing blob creation' >>> blob.encoding u'base64'
>>> from github3 import login >>> g = login(username, password) >>> repo = g.repository('sigmavirus24', 'github3.py') >>> tag = repo.tag('cdba84b4fede2c69cb1ee246b33f49f19475abfa') >>> tag <Tag [cdba84b4fede2c69cb1ee246b33f49f19475abfa]> >>> tag.object.sha u'24ea44d302c6394a0372dcde8fd8aed899c0034b' >>> tag.object.type u'commit'
Contributing
Please see the section of the documentation pertaining to this.
Testing
If you want to run the unittests with authentication, simply run:
make alltests
From the root of the repository. If you would rather see what will take place on Travis, run:
make travis # or make tests
To test how much of the library is covered:
make coverage_auth # equivalently make coverage_all # or without authentication make coverage
Depending on which you run, you will see different percentages reported by coverage. As of this writing (2012-10-05), coverage_auth reports 98% of the library is covered and every module has coverage >= 93%.
coverage report Name Stmts Miss Cover ---------------------------------------- github3/__init__ 8 0 100% github3/api 52 0 100% 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 361 0 100% github3/issues 201 0 100% github3/legacy 97 0 100% github3/models 186 0 100% github3/orgs 177 0 100% github3/pulls 134 6 96% github3/repos 780 52 93% github3/users 160 0 100% ---------------------------------------- TOTAL 2516 58 98%
Contact Options
You may contact (via email) the author directly with questions/suggestions
You may send your email to github3.py@librelist.com
History/Changelog
0.1: 2012-11-xx
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.
92% 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.