name:                ipynb
version:             0.1
synopsis:            Data structure for working with Jupyter notebooks (ipynb).
description:         ipynb defines a data structure for representing Jupyter
                     notebooks, along with ToJSON and FromJSON instances
                     for conversion to and from JSON .ipynb files.
license:             BSD3
license-file:        LICENSE
author:              John MacFarlane
maintainer:          jgm@berkeley.edu
copyright:           Copyright (C) 2019 John MacFarlane
category:            Text
build-type:          Simple
extra-source-files:  Changelog.md
                     test/rt-files/*.ipynb
cabal-version:       >=1.10
tested-with:         GHC == 7.10.3 || == 8.0.2 || == 8.2.2 || == 8.4.3 || == 8.6.3

source-repository    head
  type:              git
  location:          https://github.com/jgm/ipynb.git

library
  exposed-modules:   Data.Ipynb
  build-depends:     base >= 4.8 && < 5,
                     containers,
                     unordered-containers,
                     base64-bytestring,
                     aeson,
                     bytestring,
                     text
  if impl(ghc < 8.0)
    build-depends:   semigroups == 0.18.*
  hs-source-dirs:    src
  default-language:  Haskell2010

test-suite roundtrip
  type:              exitcode-stdio-1.0
  main-is:           roundtrip.hs
  build-depends:     base,
                     ipynb,
                     filepath,
                     directory,
                     tasty,
                     tasty-hunit,
                     aeson,
                     aeson-diff,
                     bytestring,
                     microlens-aeson,
                     microlens,
                     unordered-containers,
                     base64-bytestring,
                     text,
                     vector
  hs-source-dirs:    test
  default-language:  Haskell2010