Skip to main content

Github API v2 library for Python

Project description

Authors:

Ask Solem (askh@opera.com)

Version:
0.1.2

This is an experimental python library implementing all of the features available in version 2 of the Github API.

Note This software is not finished. And is likely to change in the near future.

Introduction

You should read the developer documentation for the Github API first.

Installation

You can install python-github2 either via the Python Package Index (PyPI) or from source.

To install using pip,:

$ pip install python-github2

To install using easy_install,:

$ easy_install python-github2

If you have downloaded a source tarball you can install it by doing the following,:

$ python setup.py build
# python setup.py install # as root

Creating a request

>>> from github2.client import Github
>>> github = Github(username="ask", api_token=".......")

Users

Searching

>>> results = github.users.search("foo")

Getting User Information

>>> user = github.users.show("ask")
>>> user.name
"Ask Solem"

Getting User Network

>>> github.users.followers("ask")
['greut', 'howiworkdaily', 'emanchado', 'webiest']
>>> github.users.following("ask")
['sverrejoh',
'greut',
'jezdez',
'bradleywright',
'ericflo',
'howiworkdaily',
'emanchado',
'traviscline',
'russell']

Following Network

>>> github.users.follow("jezdez")
>>> github.users.unfollow("jezdez")

Issues

List a Projects Issues

>>> github.issues.list("ask/chishop", state="open")
>>> github.issues.list("ask/chishop", state="closed")

View an Issue

>>> issue = github.issues.show("ask/chishop", 1)
>>> issue.title
'Should not be able to upload same version twice.'

Open and Close Issues

>>> new_issue = github.issues.open("ask/chishop", title="New bug",
...                                body="This is a test bug")
>>> new_issue.number
2
>>> github.issues.close("ask/chishop", new_issue.number)

Add and Remove Labels

>>> github.issues.add_label("ask/chishop", 2, "important")
>>> github.issues.remove_label("ask/chishop", 2, "important")

Network

Network Meta

>>> github.get_network_meta("ask/chishop")

Network Data

>>> github.get_network_data("schacon/simplegit",
...     nethash="fa8fe264b926cdebaab36420b6501bd74402a6ff")

Repository

Searching Repositories

>>> repositories = github.repos.search("django")

Show Repo Info

>>> repo = github.repos.show("schacon/grit")
>>> repo.homepage
"http://grit.rubyforge.org/"

List All Repositories

# By default lists all repos for the current user. >>> repos = github.repos.list()

>>> repos = github.repos.list("schacon")

Watching Repositories

>>> github.repos.watch("schacon/grit")
>>> github.repos.unwatch("schacon/grit")

Forking Repositories

>>> fork = github.repos.fork("schacon/grit")

Creating and Deleting Repositories

>>> new_repo = github.repos.create(name, description, homepage,
...                                 public=True)
>>> github.repos.delete(name)

Repository Visibility

>>> github.repos.set_private("ask/chishop")
>>> github.repos.set_public("ask/chishop")

Collaborators

>>> collabs = github.repos.list_collaborators("ask/chishop")
>>> github.repos.add_collaborator("ask/chishop", "schacon")
>>> github.repos.remove_collaborator("ask/chishop", "schacon")

Network

>>> github.repos.network("ask/chishop")

Repository Refs

Get a list of tags

>>> tags = github.repos.tags("ask/chishop")

Get a list of remote branches

>>> branches = github.repos.branches("ask/chishop")

Commit

Listing Commits on a Branch

>>> commits = github.commits.list("mojombo/grit", "master")

Listing Commits for a File

>>> commits = github.commits.list("mojombo/grit", "master",
...                               file="grit.gemspec")

Showing a Specific Commit

>>> commit = github.commits.show("mojombo/grit",
...             sha="5071bf9fbfb81778c456d62e111440fdc776f76c")

Object

Trees

>>> tree = github.get_tree(project, tree_sha)

Blobs

>>> blob = github.get_blob_info(project, tree_sha, path)

License

This software is licensed under the New BSD License. See the LICENSE file in the top distribution directory for the full license text.

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

github2-0.1.2.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file github2-0.1.2.tar.gz.

File metadata

  • Download URL: github2-0.1.2.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for github2-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1861d801c9b31254c63a0723cf756bb6ba9a337b2081e5f06f0fe97bdac1f0b5
MD5 7983d7f24f2fbf9b4f18cef6bb101053
BLAKE2b-256 c4b20bd802efabbe3c6f0b88063f9b10241ef8ae5e75535c1dcc5b345ac11c7c

See more details on using hashes here.

Provenance

Supported by

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