Skip to main content

Python wrapper for the GitHub API (http://developer.github.com/v3)

Project description

github3.py

Build Status

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.

Easy Cloning

Assuming you have git 1.7.x (although I’m not entirely certain what version it was introduced in) you can perform git clone --recursive git://github.com/sigmavirus24/github3.py.git github3.py to clone this and the submodule at the same time. Otherwise you have to do:

$ git clone git://github.com/sigmavirus24/github3.py.git
$ cd github3.py
$ git submodule init
$ git submodule update

Dependencies

In Progress

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:

./unittests.py

From the root of the repository. If you would rather see what will take place on Travis, run:

CI=true ./unittests.py

Author

Ian Cordasco (sigmavirus24)

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-09-xx

  • Support for the complete GitHub API

  • Partial coverage (unittests)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github3.py-0.1a4.tar.gz (40.3 kB view details)

Uploaded Source

File details

Details for the file github3.py-0.1a4.tar.gz.

File metadata

  • Download URL: github3.py-0.1a4.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for github3.py-0.1a4.tar.gz
Algorithm Hash digest
SHA256 4e641c0abfcbb0d5c889e761af926bf2e90a59b481a01a9ed305ae28c90a04bb
MD5 1d4131b8f2d8f182ff28ac5ee3804231
BLAKE2b-256 3009c091a5ecd38b37d71f50751561de8b45822dd8edeef91b7e37e35e3252aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page