factual-api: A driver for the Factual API

[ api, bsd3, library, web ] [ Propose Tags ]

This is a driver for the Factual API. It provides a typesafe way to generate queries, an easy way to setup OAuth authentication and a simple way to send queries to the API.

[Skip to Readme]
Versions [faq] 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1
Dependencies aeson (>=, attoparsec (>=, base (==4.*), hoauth (>=0.3.3), text (>=, unordered-containers (>=, vector (>=0.9.1) [details]
License BSD-3-Clause
Copyright (c) 2011 Rudiger Lippert
Author Rudiger Lippert <rudy@factual.com>
Maintainer Rudiger Lippert <rudy@factual.com>
Category API, Web
Home page https://github.com/rudyl313/factual-haskell-driver
Bug tracker https://github.com/rudyl313/factual-haskell-driver/issues
Source repo head: git clone git://github.com/rudyl313/factual-haskel-driver.git
Uploaded by RudigerLippert at Fri Feb 10 18:07:41 UTC 2012
Distributions NixOS:0.6.1
Downloads 5396 total (40 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for factual-api-0.1.2

[back to package description]


This is a Haskell driver for Factual's public API.



This driver was developed on ghc 7.0.4 and The Haskell Platform 2011.4.0.0. Please follow the installation instructions for your specific platform to install ghc and The Haskell Platform.

Installation from git

$ git clone git@github.com:rudyl313/factual-haskell-driver.git
$ cabal install hoauth
$ cabal install aeson

Note you may require libcurl to install hoauth. On lucid you can run:

$ sudo apt-get install libcurl4-openssl-dev

Installation from cabal

$ cabal install factual-api


Load the tests file into ghci to run the tests:

$ ghci test/Tests.hs

To run the response tests you'll need an API key and secret, but you can always run the query tests:

*Main> runQueryTests
Cases: 33  Tried: 33  Errors: 0  Failures: 0
Counts {cases = 33, tried = 33, errors = 0, failures = 0}
*Main> runResponseTests "mykey" "mysecret"
Cases: 4  Tried: 4  Errors: 0  Failures: 0
Counts {cases = 4, tried = 4, errors = 0, failures = 0}


You can read library documentation by opening docs/index.html in your browser.


See the examples directory for examples of each query type. To run an example go to the project root and execute these commands:

$ ghc -o example examples/ReadExample.hs --make
$ ./example mykey mysecret

In this example replace mykey with your key and mysecret with your secret. Note that compiling the source code generates .o and .hi files in the source directories.