github: Access to the Github API, v3.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


The Github API provides programmatic access to the full Github Web site, from Issues to Gists to repos down to the underlying git data like references and trees. This library wraps all of that, exposing a basic but Haskell-friendly set of functions and data structures.

For more of an overview please see the README:

[Skip to Readme]


Versions 0.1, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.4.1, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.8, 0.9, 0.10.0, 0.11.0, 0.11.1, 0.12, 0.12, 0.13, 0.13.1, 0.13.2, 0.14.0, 0.14.1, 0.15.0, 0.16.0, 0.17.0, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28,, 0.29
Change log None available
Dependencies aeson (>=, attoparsec (>=, base (>=4.0 && <5.0), base16-bytestring (>=, byteable (>=0.1.0), bytestring, case-insensitive (>=, conduit, containers, cryptohash (>=0.11), data-default, failure, hashable, HTTP, http-conduit (>=1.8), http-types, network, old-locale, text, time, unordered-containers (>=0.2 && <0.3), vector [details]
License BSD-3-Clause
Copyright Copyright 2012-2013 Mike Burns, Copyright 2013 John Wiegley
Author Mike Burns, John Wiegley
Category Network APIs
Home page
Source repo head: git clone git://
Uploaded by cesar_nataren at 2014-11-09T04:37:21Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for github-0.12

[back to package description]


The Github API v3 for Haskell.

Some functions are missing; these are functions where the Github API did not work as expected. The full Github API is in beta and constantly improving.


In your project's cabal file:

-- Packages needed in order to build this package.
Build-depends:       github

Or from the command line:

cabal install github

Example Usage

See the samples in the samples/ directory.


For details see the reference documentation on Hackage.

Each module lines up with the hierarchy of documentation from the Github API.

Each function has a sample written for it.

All functions produce an IO (Either Error a), where a is the actual thing you want. You must call the function using IO goodness, then dispatch on the possible error message. Here's an example from the samples:

import qualified Github.Users.Followers as Github
import Data.List (intercalate)

main = do
  possibleUsers <- Github.usersFollowing "mike-burns"
  putStrLn $ either (("Error: "++) . show)
                    (intercalate "\n" . map formatUser)

formatUser = Github.githubOwnerLogin


Please see for details on how you can help.


Copyright 2011, 2012 Mike Burns. Copyright 2013-2014 John Wiegley.

Available under the BSD 3-clause license.