package bistro
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=146177faaaa9117a8e2bf0fd60cb658662c0aa992f35beb246e6fd0766050e66
sha512=553fe0c20f236316449b077a47e6e12626d193ba1916e9da233e5526dd39090e8677277e1c79baace3bdc940cb009f25431730a8efc00ae4ed9cc42a0add9609
doc/bistro/Bistro/index.html
Module Bistro
Source
A library to build scientific workflows.
This module introduces a type 'a workflow
that describes a set of inter-dependent steps that will eventually generate a value of type 'a
. Steps may be either command lines to be executed, or OCaml expressions to be evaluated.
To build shell-based workflows, use the Shell_dsl
module, that provides a set of combinators to write shell scripts easily. For instance, the following function shows how to create a gzipped file using the output of another workflow:
let gzip (x : 'a pworkflow) : 'a gz pworkflow =
Workflow.shell ~descr:"unix.gzip" [
cmd "gzip" [ string "-c" ; dep x ; string ">" dest ]
]
Base types
Representation of a computational pipeline. Constructors are provided in the Workflow
module. Note that a workflow is just a recipe to build some result. Building the workflow won't actually generate anything. In order to run the workflow, you have to run it using an execution engine like the one provided by bistro.engine
.
Abstract representation of a path in the filesystem. The type parameter can be used to provide information on the format of a file (this is an instance of phantom-typing).
Base class for files when typing a path
Base class for directories when typing a path
Type alias for workflows that produce a regular file
Type alias for workflows that produce a directory
Building shell-based workflow
Representation of scripts