api-tools: DSL for generating API boilerplate and docs

[ bsd3, cloud, distributed-computing, library, network, program, web ] [ Propose Tags ]

api-tools provides a compact DSL for describing an API. It uses Template Haskell to generate the corresponding data types and assorted tools for working with it, including Aeson and QuickCheck instances for converting between JSON and the generated types and writing unit tests.

Versions 0.2, 0.3, 0.4, 0.4.0.1, 0.5, 0.5.1, 0.5.2, 0.8.0.1, 0.8.0.2
Change log changelog
Dependencies aeson (>=0.10 && <1.5), aeson-pretty (>=0.1 && <0.9), api-tools, array (>=0.4 && <0.6), attoparsec (>=0.10.4 && <0.14), base (==4.*), base16-bytestring (==0.1.*), base64-bytestring (==1.0.*), bytestring (>=0.9 && <0.11), Cabal (>=1.4 && <2.5), case-insensitive (>=1.0 && <1.3), cborg (>=0.1.1.0 && <0.3), containers (>=0.5 && <0.7), deepseq (>=1.1 && <1.5), lens (>=3.8.7 && <4.18), old-locale (>=1 && <1.1), QuickCheck (>=2.5.1 && <2.13), regex-compat-tdfa (>=0.95.1 && <0.96), safe (>=0.3.3 && <0.4), safecopy (>=0.8.1 && <0.10), scientific (==0.3.*), semigroups (==0.18.*), serialise (>=0.1.0.0 && <0.3), template-haskell (>=2.7 && <2.15), text (>=0.11.3 && <1.3), time (>=1.1.4 && <1.5 || >=1.5.0 && <1.10), unordered-containers (>=0.2.3.0 && <0.3), vector (>=0.10.0.1 && <0.13) [details]
License BSD-3-Clause
Copyright (c) Iris Connect 2013-2018
Author Chris Dornan <chrisd@irisconnect.co.uk> and Adam Gundry <adam@well-typed.com>
Maintainer Chris Dornan <chrisd@irisconnect.co.uk> and Adam Gundry <adam@well-typed.com>
Category Network, Web, Cloud, Distributed Computing
Home page http://github.com/iconnect/api-tools
Source repo head: git clone git://github.com/iconnect/api-tools.git
this: git clone git://github.com/iconnect/api-tools.git(tag 0.8.0.2)
Uploaded by AdamGundry at Thu Nov 22 13:33:01 UTC 2018
Distributions NixOS:0.8.0.2
Executables perf-test, migration-tool
Downloads 3332 total (50 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-11-22 [all 2 reports]
Hackage Matrix CI

Modules

  • Data
    • API
      • Data.API.API
        • Data.API.API.DSL
        • Data.API.API.Gen
      • Data.API.Changes
        • Data.API.Changes.Types
      • Data.API.Doc
        • Data.API.Doc.Subst
      • Data.API.Error
      • Data.API.JSON
      • Data.API.JSONToCBOR
      • Data.API.Markdown
      • Data.API.NormalForm
      • Data.API.PP
      • Data.API.Parse
      • Data.API.TH
      • Data.API.Tools
        • Data.API.Tools.CBOR
        • Data.API.Tools.Combinators
        • Data.API.Tools.Datatypes
        • Data.API.Tools.DeepSeq
        • Data.API.Tools.Enum
        • Data.API.Tools.Example
        • Data.API.Tools.JSON
        • Data.API.Tools.JSONTests
        • Data.API.Tools.Lens
        • Data.API.Tools.QuickCheck
        • Data.API.Tools.SafeCopy
        • Data.API.Tools.Traversal
      • Data.API.Tutorial
      • Data.API.Types
      • Data.API.Utils
      • Data.API.Value
    • Binary
      • Serialise
        • CBOR
          • Data.Binary.Serialise.CBOR.Extra
          • Data.Binary.Serialise.CBOR.JSON

Flags

NameDescriptionDefaultType
time15EnabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees