factual-api: A driver for the Factual API

[ api, bsd3, library, web ] [ Propose Tags ]
Versions [RSS] 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 (>=0.6.0.0), attoparsec (>=0.10.1.0), base (>=4 && <5), bytestring, containers, dataenc (>=0.14.0.3), hoauth (>=0.3.5), HTTP, MissingH (>=1.0.0), text (>=0.11.1.5), unordered-containers (>=0.1.4.6), utf8-string (>=0.3.7), vector (>=0.9.1) [details]
License BSD-3-Clause
Copyright (c) 2012 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 2012-08-30T20:29:47Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 10369 total (32 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for factual-api-0.5.2

[back to package description]

Introduction

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

Features

  • Read Queries
    • Places US
    • Restaurants US
    • Hotels US
    • Global Places
    • Crosswalk
    • Healthcare Providers
    • World Geographies
    • Products CPG
    • Products Crosswalk
    • Monetize
    • Custom Tables
  • Facets Queries
  • Geocode Queries
  • Geopulse Queries
  • Resolve Queries
  • Match Queries
  • Schema Queries
  • Diffs Queries
  • Multi Queries
  • Raw Read Queries
  • Parametric Search
  • Geo Filters
  • Query Debugging

Installation

Prerequisites

This driver targets ghc 7.4.1 and The Haskell Platform 2012.2.0.0. Please follow the installation instructions for your specific platform to install ghc and The Haskell Platform.

You'll need a Factual account to use this driver. If you don't have one yet, it's free and easy to get one.

Installation from cabal

$ cabal install factual-api

Installation from git

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

Tests

Load the tests file into ghci to run the tests:

$ ghci test/Tests.hs

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

*Main> runUnitTests
Cases: 53  Tried: 53  Errors: 0  Failures: 0
Counts {cases = 53, tried = 53, errors = 0, failures = 0}
*Main> runIntegrationTests "mykey" "mysecret"
Cases: 11  Tried: 11  Errors: 0  Failures: 0
Counts {cases = 11, tried = 11, errors = 0, failures = 0}

Documentation

You can read library documentation by visiting the Hackage page.

The github wiki also provides thorough documentation and examples for each feature.

Examples

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.

Notes

Writes

Although there is code in the current version to support API writes, these features have not yet been implemented in the Factual API. Please refrain from attempting to use these features until they have been officially announced.

Crosswalk deprecation

The Crosswalk API endpoint has been migrated into a regular read table. For more information see the Factual V3 documentation.