Skip to main content

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

Project description

github3.py

Build Status

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

Testing

License

Modified BSD license

Examples

See the docs for more detailed examples.

Create a git blob:

>>> 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'

Create a tag on a commit:

>>> 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'

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%

Author

Ian Cordasco (sigmavirus24)

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.1: 2012-xx-xx

  • 100% unit test coverage

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 documentatio

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


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.1b2.tar.gz (50.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for github3.py-0.1b2.tar.gz
Algorithm Hash digest
SHA256 cff7e9c76ff2686156ed800b14ba714f110d367d145a7c2cc1a616f411d17d04
MD5 1f95fa1b186824dfac38c0c4108b1ed8
BLAKE2b-256 e38d5bed2f7eb2ed060198c0322b578f7d57360ffb0542c2a01c24043fda3e05

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