opam-version: "2.0"
maintainer: "Philippe Veber <philippe.veber@gmail.com>"
authors: "Philippe Veber <philippe.veber@gmail.com>"
homepage: "https://github.com/pveber/bistro/"
bug-reports: "https://github.com/pveber/bistro/issues"
license: "GPL-1.0-or-later"
dev-repo: "git+https://github.com/pveber/bistro.git"
build: [
  ["./configure" "--prefix=%{prefix}%"]
  [make]
]
install: [make "install"]
remove: [
  ["ocamlfind" "remove" "bistro"]
  ["ocamlfind" "remove" "ppx_bistro"]
]
depends: [
  "ocaml" {>= "4.03.0"}
  "oasis" {build & >= "0.4"}
  "ocamlfind" {build}
  "core" {< "v0.9.0"}
  "lwt" {< "4.0.0"}
  "ocamlgraph" {>= "1.8.7"}
  "ppx_tools"
  "pvem"
  "rresult"
  "sexplib" {>= "113.24.00" & < "v0.15"}
  "ppx_deriving"
  "tyxml" {>= "4.0"}
]
synopsis: "A library to build and run distributed workflows"
description: """
bistro is an OCaml library to build and run computations represented
by a collection of interdependent scripts, as is often found in
data analysis (especially computational biology).

Features:
- build complex and composable workflows declaratively
- simple and lightweight wrapping of new components
- resume-on-failure: if something fails, fix it and the workflow will
  restart from where it stopped
- parallel workflow execution (locally or over a PBS cluster)
- development-friendly: when a script is modified, bistro
  automatically finds out what needs to be recomputed
- automatic naming of generated files
- static typing: detect file format errors at compile time!

The library provides a datatype to represent scripts (including
metadata and dependencies), an engine to run workflows and a standard
library providing components for popular tools (although mostly
related to computational biology and unix for now)."""
flags: light-uninstall
url {
  src: "https://github.com/pveber/bistro/archive/v0.2.0.tar.gz"
  checksum: "md5=43320edd9517b8c93cbe78a45261038d"
}
