github: Access to the Github API, v3.

[ bsd3, library, network ] [ Propose Tags ]

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.

[Skip to Readme]


[Last Documentation]

  • Github
    • Github.Data
      • Github.Data.Definitions
    • Github.Gists
      • Github.Gists.Comments
    • GitData
      • Github.GitData.Blobs
      • Github.GitData.Commits
      • Github.GitData.References
      • Github.GitData.Trees
    • Github.Issues
      • Github.Issues.Comments
      • Github.Issues.Events
      • Github.Issues.Labels
      • Github.Issues.Milestones
    • Github.Organizations
      • Github.Organizations.Members
    • Github.PullRequests
    • Github.Repos
      • Github.Repos.Collaborators
      • Github.Repos.Commits
      • Github.Repos.Forks
      • Github.Repos.Watching
    • Github.Users
      • Github.Users.Followers


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 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.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
Dependencies aeson, attoparsec, base (>=4.0 && <5.0), bytestring, containers, failure, HTTP, http-enumerator, http-types, network, old-locale, text, time, uri, vector [details]
License BSD-3-Clause
Copyright Copyright 2011 Mike Burns
Author Mike Burns
Category Network APIs
Source repo head: git clone git://
Uploaded by MikeBurns at 2011-12-27T16:56:38Z
Distributions Debian:0.23, LTSHaskell:0.29, NixOS:, Stackage:0.29
Reverse Dependencies 11 direct, 0 indirect [details]
Downloads 35928 total (95 in the last 30 days)
Rating 2.0 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-26 [all 6 reports]

Readme for github-0.1

[back to package description]


The Github API v3 for Haskell.

This is currently a read-only API. There is a read-write branch with ideas on how this can work for writing to Github, but I need ideas on how authentication should work. You can help if you let me know how you are using this library or how you would like to use it, and which authentication method is best for you (HTTP basic, OAuth).

Some functions which do not require authentication are also 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. Later.

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 Github.Users.Followers
import Data.List (intercalate)
main = do
  possibleUsers <- usersFollowing "mike-burns"
  putStrLn $ either (\error -> "Error: " ++ $ show error)
                    (intercalate "\n" . map githubUserLogin)


Copyright 2011 Mike Burns.

Available under the BSD 3-clause license.