This API is deprecated. Check out API v3 for the latest documentation.

API Libraries

Libraries for accessing the GitHub API from your favorite language.

C Sharp

GitHubSharp looks pretty slick - hot off the press.

Java

ghapi is a Java library implementing much of v2 API and is constantly being developed.

github-java-sdk is a type-safe Java implementation of the whole v2 API and has some additional support for OAuth authentication and reading ATOM feeds. Its actively under development.

Javascript

github-api is a Javascript library with no dependencies for interop with the github API. Currently supports a large portion of V2, with more to come. Tries to map directly to the HTTP API, but in a JS style.

The node-github library is a port of php-github-api to JavaScript for node.js. It provides an asynchronous object oriented API and is fully tested.

Perl

The Net::GitHub library for Perl encapsulates much of the functionality of the GitHub v2 API. You can also download it from CPAN.

PHP5

The php-github-api is fully tested and documented.

Python

Dustin Sallings' py-github project was the first third-party implementation of the v1 API and is tracking the v2 API in a branch as new API endpoints are published. Fork it it and help keep it awesome.

There is alo a new Python library for the GitHub v2 API called python-github2. It has nearly the full API feature list.

Kenneth Reitz's GistAPI.py is a Python wrapper for the Gist API. New Gist API features will be introduced as the API endpoints are published.

Ruby

API Version 1

The github-control library is currently doing work using the v1 API. The aim is to build a library which others can build on top of.

It currently has features which need to be enabled on the v2 API as they were in pre-release when developed.

The github-party library is also using the v1 API.

API Version 2

There are several active GitHub API v2 wrappers for Ruby: octokit, octopi, and hubruby.

However, if you want to save GitHub's bandwith and cache things locally, there is (under development) github-api-client.

Web scraping

halorgium built a wrapper around the current post-receive hooks UI. It is called github-post-receive-hooks Based on a gist by tekkub.

Cocoa/Objective-C

Clint Shryock's fork of CocoaREST extended the base CocoaREST library, a set of Cocoa classes to interact with RESTful services, to support Github's v1 API.

GitHubObjC is an Objective-C library implementing most of the GET requests of v2 API.

UAGithubEngine is a Cocoa wrapper around version 2 of the Github API, written in Objective-C. It includes all functionality except the Network Graph and Gist APIs.