Monthly Downloads: 189
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Network     API     GitHub    
Latest version: v0.26

github alternatives and similar packages

Based on the "GitHub" category.
Alternatively, view github alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of github or a related project?

Add another 'GitHub' Package



Haskell-CI Hackage

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:

Build-depends:       github

Or from the command line:

cabal v1-install github

Example Usage

See the samples in the samples/ directory.

Note: some samples might be outdated.


For details see the reference documentation on Hackage.

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

Request functions (ending with R) construct a data type which can be executed in IO by executeRequest functions. They are all listed in the root GitHub module.

IO 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:

Many function have samples under samples/ directory.

{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}

import Prelude.Compat

import Data.Text         (Text, pack)
import Data.Text.IO as T (putStrLn)
import Data.Monoid       ((<>))

import GitHub (github')
import qualified GitHub

main :: IO ()
main = do
    possibleUsers <- github' GitHub.usersFollowingR "phadej"
    T.putStrLn $ either (("Error: " <>) . pack . show)
                        (foldMap ((<> "\n") . formatUser))

formatUser :: GitHub.SimpleUser -> Text
formatUser = GitHub.untagName . GitHub.simpleUserLogin


Please see CONTRIBUTING.md for details on how you can help.


Copyright 2011-2012 Mike Burns. Copyright 2013-2015 John Wiegley. Copyright 2016-2019 Oleg Grenrus.

Available under the BSD 3-clause license.


Library github-rest also provides an interface to the GitHub API. It compares itself to github here: https://github.com/LeapYear/github-rest#comparison-to-other-libraries

*Note that all licence references and agreements mentioned in the github README section above are relevant to that project's source code only.