2019-02-17 14:43:50 +00:00
|
|
|
cabal-version: 1.12
|
|
|
|
Name: cassava
|
|
|
|
Version: 0.5.1.0
|
2019-07-29 15:34:47 +00:00
|
|
|
x-revision: 2
|
2019-02-17 14:43:50 +00:00
|
|
|
Synopsis: A CSV parsing and encoding library
|
|
|
|
Description: {
|
|
|
|
|
|
|
|
@cassava@ is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180)
|
|
|
|
compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data,
|
|
|
|
which is a textual line-oriented format commonly used for exchanging tabular data.
|
|
|
|
.
|
|
|
|
@cassava@'s API includes support for
|
|
|
|
.
|
|
|
|
- Index-based record-conversion
|
|
|
|
- Name-based record-conversion
|
|
|
|
- Typeclass directed conversion of fields and records
|
|
|
|
- Built-in field-conversion instances for standard types
|
|
|
|
- Customizable record-conversion instance derivation via GHC generics
|
|
|
|
- Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder")
|
|
|
|
- Incremental decoding and encoding API (see "Data.Csv.Incremental")
|
|
|
|
- Streaming API for constant-space decoding (see "Data.Csv.Streaming")
|
|
|
|
.
|
|
|
|
Moreover, this library is designed to be easy to use; for instance, here's a
|
|
|
|
very simple example of encoding CSV data:
|
|
|
|
.
|
|
|
|
>>> Data.Csv.encode [("John",27),("Jane",28)]
|
|
|
|
"John,27\r\nJane,28\r\n"
|
|
|
|
.
|
|
|
|
Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples.
|
|
|
|
|
|
|
|
}
|
|
|
|
Homepage: https://github.com/hvr/cassava
|
|
|
|
License: BSD3
|
|
|
|
License-file: LICENSE
|
|
|
|
Bug-reports: https://github.com/hvr/cassava/issues
|
|
|
|
Copyright: (c) 2012 Johan Tibell
|
|
|
|
(c) 2012 Bryan O'Sullivan
|
|
|
|
(c) 2011 MailRank, Inc.
|
|
|
|
Author: Johan Tibell
|
|
|
|
Maintainer: hvr@gnu.org
|
|
|
|
Category: Text, Web, CSV
|
|
|
|
Build-type: Simple
|
|
|
|
Extra-source-files: examples/*.hs,
|
|
|
|
CHANGES.md,
|
|
|
|
README.md
|
|
|
|
Tested-with: GHC ==8.2.1, GHC ==8.0.2, GHC ==8.0.1, GHC ==7.10.3, GHC ==7.8.4, GHC ==7.6.3, GHC ==7.4.2
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
source-repository head
|
|
|
|
type: git
|
|
|
|
location: https://github.com/hvr/cassava.git
|
|
|
|
|
|
|
|
flag bytestring--LT-0_10_4
|
|
|
|
description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4
|
|
|
|
|
|
|
|
Library
|
|
|
|
default-language: Haskell2010
|
|
|
|
other-extensions:
|
|
|
|
BangPatterns
|
|
|
|
CPP
|
|
|
|
DataKinds
|
|
|
|
DefaultSignatures
|
|
|
|
DeriveFunctor
|
|
|
|
FlexibleContexts
|
|
|
|
FlexibleInstances
|
|
|
|
KindSignatures
|
|
|
|
MultiParamTypeClasses
|
|
|
|
OverloadedStrings
|
|
|
|
PolyKinds
|
|
|
|
Rank2Types
|
|
|
|
ScopedTypeVariables
|
|
|
|
TypeOperators
|
|
|
|
UndecidableInstances
|
|
|
|
|
|
|
|
if impl(ghc >= 8.0)
|
|
|
|
other-extensions:
|
|
|
|
DataKinds
|
|
|
|
PolyKinds
|
|
|
|
|
|
|
|
Exposed-modules:
|
|
|
|
Data.Csv
|
|
|
|
Data.Csv.Builder
|
|
|
|
Data.Csv.Incremental
|
|
|
|
Data.Csv.Parser
|
|
|
|
Data.Csv.Streaming
|
|
|
|
|
|
|
|
Other-modules:
|
|
|
|
Data.Csv.Conversion
|
|
|
|
Data.Csv.Conversion.Internal
|
|
|
|
Data.Csv.Encoding
|
|
|
|
Data.Csv.Types
|
|
|
|
Data.Csv.Util
|
|
|
|
|
|
|
|
Build-depends:
|
|
|
|
array >= 0.4 && < 0.6,
|
|
|
|
attoparsec >= 0.11.3.0 && < 0.14,
|
|
|
|
base >= 4.5 && < 5,
|
|
|
|
bytestring >= 0.9.2 && < 0.11,
|
|
|
|
containers >= 0.4.2 && < 0.7,
|
|
|
|
deepseq >= 1.1 && < 1.5,
|
2019-07-29 15:34:47 +00:00
|
|
|
hashable < 1.4,
|
2019-02-17 14:43:50 +00:00
|
|
|
scientific >= 0.3.4.7 && < 0.4,
|
|
|
|
text < 1.3,
|
|
|
|
unordered-containers < 0.3,
|
|
|
|
vector >= 0.8 && < 0.13,
|
|
|
|
Only >= 0.1 && < 0.1.1
|
|
|
|
|
|
|
|
if flag(bytestring--LT-0_10_4)
|
|
|
|
build-depends: bytestring < 0.10.4
|
|
|
|
, bytestring-builder >= 0.10.8 && < 0.11
|
|
|
|
else
|
|
|
|
build-depends: bytestring >= 0.10.4
|
|
|
|
, text-short == 0.1.*
|
|
|
|
|
|
|
|
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
|
|
|
|
if impl(ghc < 7.6)
|
|
|
|
build-depends: ghc-prim == 0.2.*
|
|
|
|
|
|
|
|
-- For Numeric.Natural
|
|
|
|
if impl(ghc < 7.10)
|
|
|
|
build-depends: nats >= 1 && < 1.2
|
|
|
|
|
|
|
|
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
|
|
|
|
if impl(ghc >= 8.0)
|
|
|
|
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
|
|
|
|
else
|
|
|
|
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
|
2019-07-29 15:34:47 +00:00
|
|
|
build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20
|
2019-02-17 14:43:50 +00:00
|
|
|
|
|
|
|
if impl(ghc >= 8.2)
|
|
|
|
ghc-options: -Wcpp-undef
|
|
|
|
|
|
|
|
ghc-options: -Wall -O2
|
|
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Test-suite unit-tests
|
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
|
|
Type: exitcode-stdio-1.0
|
|
|
|
Main-is: UnitTests.hs
|
|
|
|
-- dependencies with version constraints inherited via lib:cassava
|
|
|
|
Build-depends: attoparsec
|
|
|
|
, base
|
|
|
|
, bytestring
|
|
|
|
, cassava
|
|
|
|
, hashable
|
|
|
|
, scientific
|
|
|
|
, text
|
|
|
|
, unordered-containers
|
|
|
|
, vector
|
|
|
|
-- extra dependencies not already used by lib:cassava
|
|
|
|
build-depends: HUnit < 1.7
|
|
|
|
, QuickCheck == 2.10.*
|
|
|
|
, quickcheck-instances >= 0.3.12 && < 0.4
|
|
|
|
, test-framework == 0.8.*
|
|
|
|
, test-framework-hunit == 0.3.*
|
|
|
|
, test-framework-quickcheck2 == 0.3.*
|
|
|
|
|
|
|
|
hs-source-dirs: tests
|
|
|
|
|
|
|
|
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
|
|
|
|
if impl(ghc < 7.6)
|
|
|
|
build-depends: ghc-prim == 0.2.*
|
|
|
|
|
|
|
|
-- For Numeric.Natural
|
|
|
|
if impl(ghc < 7.10)
|
2019-07-29 15:34:47 +00:00
|
|
|
build-depends: nats
|
2019-02-17 14:43:50 +00:00
|
|
|
|
|
|
|
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
|
|
|
|
if impl(ghc >= 8.0)
|
|
|
|
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
|
|
|
|
else
|
|
|
|
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
|
2019-07-29 15:34:47 +00:00
|
|
|
build-depends: fail, semigroups
|
2019-02-17 14:43:50 +00:00
|
|
|
|
|
|
|
if impl(ghc >= 8.2)
|
|
|
|
ghc-options: -Wcpp-undef
|
|
|
|
|
|
|
|
ghc-options: -Wall
|