on 0.9.x help sign in
typeable/aeson/aeson.cabal
175 lines 4.3 kB history raw
1name: aeson
2version: 0.9.0.1
3license: BSD3
4license-file: LICENSE
5category: Text, Web, JSON
6copyright: (c) 2011-2015 Bryan O'Sullivan
7 (c) 2011 MailRank, Inc.
8author: Bryan O'Sullivan <bos@serpentine.com>
9maintainer: Bryan O'Sullivan <bos@serpentine.com>
10stability: experimental
11tested-with: GHC == 7.4, GHC == 7.6, GHC == 7.8
12synopsis: Fast JSON parsing and encoding
13cabal-version: >= 1.8
14homepage: https://github.com/bos/aeson
15bug-reports: https://github.com/bos/aeson/issues
16build-type: Simple
17description:
18 A JSON parsing and encoding library optimized for ease of use
19 and high performance.
20 .
21 To get started, see the documentation for the @Data.Aeson@ module
22 below.
23 .
24 Parsing performance on an early 2011 MacBook Pro (2.2GHz Core i7),
25 running 64-bit GHC 7.6.3, for mostly-English tweets from Twitter's
26 JSON search API:
27 .
28 * 0.8 KB: 34124 msg\/sec (27.8 MB\/sec)
29 .
30 * 6.4 KB: 6833 msg\/sec (43.0 MB\/sec)
31 .
32 * 11.8 KB: 3410 msg\/sec (39.2 MB\/sec)
33 .
34 * 31.2 KB: 1157 msg\/sec (35.3 MB\/sec)
35 .
36 * 61.5 KB: 542 msg\/sec (32.5 MB\/sec)
37 .
38 Handling heavily-escaped text is a little more work. Here is
39 parsing performance with Japanese tweets, where much of the text
40 is entirely Unicode-escaped.
41 .
42 * 14.6 KB: 2101 msg\/sec (30.0 MB\/sec)
43 .
44 * 44.1 KB: 667 msg\/sec (28.7 MB\/sec)
45 .
46 * 82.9 KB: 360 msg\/sec (29.2 MB\/sec)
47 .
48 Encoding performance on the same machine and data:
49 .
50 * English, 0.8 KB: 109697 msg\/sec (89.3 MB\/sec)
51 .
52 * English, 6.4 KB: 18517 msg\/sec (116.4 MB\/sec)
53 .
54 * Engish, 61.5 KB: 1963 msg\/sec (118.0 MB\/sec)
55 .
56 * Japanese, 14.6 KB: 12140 msg\/sec (173.5 MB\/sec)
57 .
58 * Japanese, 44.1 KB: 3980 msg\/sec (171.3 MB\/sec)
59 .
60 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
62extra-source-files:
63 README.markdown
64 benchmarks/*.cabal
65 benchmarks/*.hs
66 benchmarks/*.py
67 benchmarks/Makefile
68 benchmarks/json-data/*.json
69 changelog.md
70 examples/*.hs
72flag developer
73 description: operate in developer mode
74 default: False
75 manual: True
77flag old-locale
78 description: If false then depend on time >= 1.5.
79 .
80 If true then depend on time < 1.5 together with old-locale.
81 default: False
83library
84 exposed-modules:
85 Data.Aeson
86 Data.Aeson.Encode
87 Data.Aeson.Generic
88 Data.Aeson.Parser
89 Data.Aeson.Types
90 Data.Aeson.TH
92 other-modules:
93 Data.Aeson.Encode.ByteString
94 Data.Aeson.Functions
95 Data.Aeson.Parser.Internal
96 Data.Aeson.Types.Class
97 Data.Aeson.Types.Generic
98 Data.Aeson.Types.Instances
99 Data.Aeson.Types.Internal
101 build-depends:
102 attoparsec >= 0.13.0.0,
103 base == 4.*,
104 bytestring >= 0.10.4.0,
105 containers,
106 deepseq,
107 dlist >= 0.2,
108 ghc-prim >= 0.2,
109 hashable >= 1.1.2.0,
110 mtl,
111 scientific >= 0.3.1 && < 0.4,
112 syb,
113 template-haskell >= 2.4,
114 text >= 1.1.1.0,
115 transformers,
116 unordered-containers >= 0.2.5.0,
117 vector >= 0.7.1
119 if flag(old-locale)
120 build-depends: time < 1.5, old-locale
121 else
122 build-depends: time >= 1.5
124 if flag(developer)
125 ghc-options: -Werror
126 ghc-prof-options: -auto-all
128 ghc-options: -O2 -Wall
129 cpp-options: -DGENERICS
131test-suite tests
132 type: exitcode-stdio-1.0
133 hs-source-dirs: tests
134 main-is: Properties.hs
135 other-modules:
136 Encoders
137 Functions
138 Instances
139 Options
140 Properties.Deprecated
141 Types
143 ghc-options: -Wall -threaded -rtsopts
144 cpp-options: -DGHC_GENERICS
146 build-depends:
147 HUnit,
148 QuickCheck,
149 aeson,
150 attoparsec,
151 base,
152 bytestring,
153 containers,
154 ghc-prim >= 0.2,
155 template-haskell,
156 test-framework,
157 test-framework-hunit,
158 test-framework-quickcheck2,
159 text,
160 time,
161 unordered-containers,
162 vector
164 if flag(old-locale)
165 build-depends: time < 1.5, old-locale
166 else
167 build-depends: time >= 1.5
169source-repository head
170 type: git
171 location: git://github.com/bos/aeson.git
173source-repository head
174 type: mercurial
175 location: https://bitbucket.org/bos/aeson