package bistro

  1. Overview
  2. Docs
A library to build and run distributed scientific workflows

Install

Dune Dependency

Authors

Maintainers

Sources

bistro-0.6.0.tbz
sha256=146177faaaa9117a8e2bf0fd60cb658662c0aa992f35beb246e6fd0766050e66
sha512=553fe0c20f236316449b077a47e6e12626d193ba1916e9da233e5526dd39090e8677277e1c79baace3bdc940cb009f25431730a8efc00ae4ed9cc42a0add9609

Description

bistro is an OCaml library to build and run computations represented by a collection of interdependent scripts or OCaml functions, as is often found in data analysis.

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
  • 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

Published: 15 Nov 2021

README

bistro: build and run distributed workflows

bistro is an OCaml library to build and run computations represented by a collection of interdependent scripts, as is often found in applied research (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

  • distributed workflow execution

  • 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).

Questions, suggestions or contributions are welcome, please file an issue as needed.

Documentation

A manual is available, but feel free to file issues if something is unclear or missing. There is also a generated API documentation.

Installation

Detailed instructions are available in the manual. In a nutshell, bistro can be installed using opam. You need a recent (at least 4.03.0) installation of OCaml. Once this is done, simply type

opam install bistro

to install the library, or:

opam pin add -y bistro --dev-repo

to get the current development version.

Dependencies (13)

  1. tyxml >= "4.3.0"
  2. sexplib >= "113.24.00"
  3. rresult
  4. ppx_sexp_conv
  5. ppxlib >= "0.23.0"
  6. ocaml >= "4.08.0"
  7. ocamlgraph >= "1.8.7"
  8. lwt_react
  9. lwt >= "3.2.0"
  10. core >= "v0.12.0" & < "v0.15"
  11. dune > "1.11"
  12. bos
  13. base64 >= "3.0.0"

Dev Dependencies

None

Used by (1)

  1. bistro-bio

Conflicts

None