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.

Installation

$ pip install github3.py

Dependencies

Every-day Use

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-09-06), coverage_auth reports 85% covered.

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 (accomplished)

    • Now also includes the Statuses API

  • 85% 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.1a7.tar.gz (42.5 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for github3.py-0.1a7.tar.gz
Algorithm Hash digest
SHA256 af8b4074d8ce88a5762783445a184a20c247ebc64a934623361b9bd96b99a622
MD5 b01618ed14af0cc687033f8c94ffe18c
BLAKE2b-256 d572fff67590d5fb563eebbd744b5287c2182d61ddd6b0538830756adda5228e

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