cabal-version:  1.22
name:           epi-sim
version:        0.2.2.0
synopsis:       A library for simulating epidemics as birth-death processes.
description:
  A library for simulating epidemics, with a focus on phylodynamics and
  observation models.
  .
  /Available models/
  .
  * Birth-Death (see `Epidemic.BirthDeath`)
  .
  * Birth-Death-Sampling (see `Epidemic.BirthDeathSampling`)
  .
  * Birth-Death-Sampling-Occurrence (see `Epidemic.BirthDeathSamplingOccurrence`)
  .
  * Birth-Death-Sampling-Catastrophe-Occurrence (see `Epidemic.BirthDeathSamplingCatastropheOccurrence`)
  .
  * Birth-Death-Sampling-Catastrophe-Occurrence-Disaster (see `Epidemic.BDSCOD`)
  .
  * Inhomogeneous Birth-Death (see `Epidemic.InhomogeneousBD`)
  .
  * Inhomogeneous Birth-Death-Sampling (see `Epidemic.InhomogeneousBDS`)
  .
  /Output format/
  .
  The output is a CSV with a header encoding which events occurred when and to
  whom: @event,time,primaryPerson,secondaryPerson@. The @primary person@ is either
  the infecting person or the person who has been removed in some manner, the
  @secondary person@ is the person who was infected, or this is a missing value.
  There are functions to assist in extracting observations from a full simulation:
  @birthDeathSamplingOccurrenceObservedEvents@. In the case of a catastrophe event
  where multiple individuals may be removed, they are represented as a colon
  separated list of identifiers in the @primaryPerson@ field.
  .
homepage:       https://github.com/aezarebski/epi-sim#readme
bug-reports:    https://github.com/aezarebski/epi-sim/issues
author:         Alexander Zarebski
maintainer:     aezarebski@gmail.com
copyright:      2020 Alexander Zarebski
license:        MIT
license-file:   LICENSE
build-type:     Simple
category:       Simulation
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
  type: git
  location: https://github.com/aezarebski/epi-sim

library
  exposed-modules:
      Epidemic
      Epidemic.BDSCOD
      Epidemic.BirthDeath
      Epidemic.BirthDeathSampling
      Epidemic.BirthDeathSamplingCatastropheOccurrence
      Epidemic.BirthDeathSamplingOccurrence
      Epidemic.InhomogeneousBD
      Epidemic.InhomogeneousBDS
      Epidemic.Types.Events
      Epidemic.Types.Observations
      Epidemic.Types.Parameter
      Epidemic.Types.Population
      Epidemic.Utility
  other-modules:
      Paths_epi_sim
  hs-source-dirs:
      src
  build-depends:
                aeson                       >= 1.4.0 && < 1.5,
                base                        >= 4.8.2 && < 4.14,
                bytestring                  >= 0.10.6 && < 0.11,
                primitive                   >= 0.6.1 && < 0.8,
                vector                      >= 0.11.0 && < 0.13,
                cassava                     >= 0.5.2 && < 0.6,
                hspec                       >= 2.7.4 && < 2.8,
                mwc-random                  >= 0.14.0 && < 0.15,
                statistics                  >= 0.15.0 && < 0.16,
                trifecta                    >= 2.1 && < 2.2
  default-language: Haskell2010
  ghc-options: -Wincomplete-patterns

test-suite epi-sim-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Paths_epi_sim
  hs-source-dirs:
      test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
                aeson,
                base,
                bytestring,
                epi-sim,
                primitive,
                vector,
                cassava,
                hspec,
                mwc-random,
                statistics,
                trifecta
  default-language: Haskell2010