The geojson package

[Tags:bsd3, library, test]

A thin GeoJSON Layer above the aeson library.

It currently conforms to version 1.0 of the GeoJSON spec which can be found here:

[Skip to Readme]


Versions 0.0.1, 0.0.2, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.3.0, 1.3.1
Change log
Dependencies aeson (>=0.8 && <1.0), base (==4.*), lens (>=4.11 && <4.13), semigroups (==0.16.*), text (==1.2.*), transformers (>=0.3 && <0.5), validation (==0.5.*), vector (==0.10.*) [details]
License BSD3
Copyright Copyright (C) 2013-2014
Author Dom De Re
Maintainer Dom De Re
Category Data
Home page
Bug tracker
Source repository head: git clone
this: git clone 1.3.0)
Uploaded Sun Mar 6 10:05:31 UTC 2016 by domdere
Distributions NixOS:1.3.1
Downloads 1634 total (7 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-11-27 [all 2 reports]


  • Data
    • Data.Geospatial
    • Data.LineString
    • Data.LinearRing


small_baseChoose the new, split-up base package.EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for geojson

Readme for geojson-1.3.1

geojson Build Status Hackage Gitter chat

A thin GeoJSON Layer above the aeson library

Building the project

Install the dependencies with:

cabal install --only-dependencies

Optionally add --enable-tests if you intend to run the unit tests

The project must be "configured" at least once everytime geojson.cabal changes, this can be done with:

cabal configure

If you wish to run the unit tests you will have to run:

cabal configure --enable-tests

Then finally build it with:

cabal build

See cabal build --help for more build options.

Running Unit Tests

After running cabal build, you can run the unit tests with the command:

cabal test

Adding Unit tests

Unit tests are written with doctest, for instructions on how to add unit tests see the doctest User Guide.

Currently only files in the src/ directory are searched for tests, it is assumed that the code in main/ is a thin layer of code that uses modules from src/.

Development: Cabal Dependency Hell?

Cabal's great, but when you are developing a few different projects with their own dependency chains, sometimes installing all your libraries to the same place causes problems,

Consider trying cabal-dev. In terms of using it, all thats required is replacing cabal with cabal-dev in all the above command lines.

It will download and install all the dependencies for your project and install them in a cabal-dev/ directory in your project directory, and they will only be used for this project.

Those with newer versions of cabal (>= 1.18 I think) can skip cabal-dev and instead run cabal sandbox init, and just start runnign the above instructions as is from cabal install --only-dependencies