packages feed

laborantin-hs-0.1.3.0: laborantin-hs.cabal

-- Initial laborantin-hs.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                laborantin-hs
version:             0.1.3.0
synopsis:            an experiment management framework
description:         
    Laborantin is a framework and DSL to run and manage results from scientific
    experiments. Good targets for Laborantin are experiments that you can
    run /offline/ such as benchmark and batch analytics.
    .
    Writing experiments with Laborantin has at least two advantages over
    rolling your own scripts.  First, Laborantin standardizes the workflow of your
    experimentations.  There is one-way to describe what a project can do, what
    experiments where already run, how to delete files corresponding to a specific
    experiment etc.  Second, Laborantin builds on years of experience running
    experiments. Using Laborantin    should alleviates common pain points such as
    querying for experiments, managing dependencies between results
    .
    Laborantin's DSL lets you express experiment parameters,
    setup, teardown, and recovery hooks in a systematic way.
    In addition, this DSL let you express dependencies on your
    experiments so that you can run prior experiments or data analyses.
    .
    Laborantin comes with a default backend that stores
    experiment results in a filesystem-hierarchy. Laborantin
    also comes with a default command-line that let you
    specify which experiments to run, analyze, or delete.
    .
    > ping :: ScenarioDescription EnvIO
    > ping = scenario "ping" $ do
    >   describe "ping to a remote server"
    >   parameter "destination" $ do
    >     describe "a destination server (host or ip)"
    >     values [str "example.com", str "probecraft.net"]
    >   parameter "packet-size" $ do
    >     describe "packet size in bytes"
    >     values [num 50, num 1500] 
    >   run $ do
    >     (StringParam srv) <- param "destination"
    >     (StringParam ps) <- param "packet-size"
    >     liftIO (executePingCommand srv ps) >>= writeResult "raw-result"
    >     where executePingCommand :: Text -> Rational -> IO (Text)
    >           executePingCommand host packetSize = ...
    >
    > main :: IO ()
    > main = defaultMain [ping]


homepage:            https://github.com/lucasdicioccio/laborantin-hs
license:             Apache-2.0
license-file:        LICENSE
author:              lucas dicioccio
maintainer:          lucas@dicioccio.fr
-- copyright:           
category:            Experiment
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

library
  exposed-modules:     Laborantin, Laborantin.DSL, Laborantin.Implementation, Laborantin.Types, Laborantin.CLI, Laborantin.Query
  other-modules:       Laborantin.Query.Parse, Laborantin.Query.Interpret
  other-extensions:    FlexibleContexts, OverloadedStrings, TupleSections
  build-depends:       base >=4.6 && <4.7, transformers >=0.3 && <0.4, mtl >=2.1 && <2.2, containers >=0.5 && <0.6, text >=0.11 && <0.12, bytestring >=0.10 && <0.11, aeson >=0.6 && <0.7, uuid >=1.2 && <1.3, directory >=1.2 && <1.3, random >=1.0 && <1.1, hslogger >=1.2 && <1.3, cmdlib >= 0.3.5, split >= 0.2.2, time >= 1.4.0.1, parsec >= 3.1.0, old-locale >=1.0.0.5
  -- hs-source-dirs:      
  default-language:    Haskell2010

executable labor-example
  main-is: main.hs
  ghc-options: -Wall
  hs-source-dirs: examples
  build-depends:       base >=4.6 && <4.7, transformers >=0.3 && <0.4, mtl >=2.1 && <2.2, containers >=0.5 && <0.6, text >=0.11 && <0.12, bytestring >=0.10 && <0.11, aeson >=0.6 && <0.7, uuid >=1.2 && <1.3, directory >=1.2 && <1.3, random >=1.0 && <1.1, hslogger >=1.2 && <1.3, cmdlib >= 0.3.5, split >= 0.2.2, laborantin-hs >= 0.1.1.2
  default-language:    Haskell2010