package bistro

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

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

doc/bistro/Bistro/Workflow/index.html

Module Bistro.WorkflowSource

Workflow constructors

Sourceval input : ?version:int -> string -> 'a path workflow

Workflow constructor from an existing path

Sourceval shell : ?descr:string -> ?mem:int workflow -> ?np:int -> ?version:int -> ?img:container_image list -> Shell_dsl.command list -> 'a path workflow

Constructor for a workflow that execute a shell script. Its main argument is a list of Shell_dsl.cmd values. Other arguments are:

  • descr description of the workflow, used for logging
  • mem required memory
  • np maximum number of cores (could be given less at execution)
  • version version number, used to force the rebuild of a workflow
Sourceval select : _ directory -> string list -> 'a path workflow

Constructs a workflow from a directory workflow, by selecting a file in it

Sourceval plugin : ?descr:string -> ?np:int -> ?mem:int workflow -> ?version:int -> (unit -> 'a) workflow -> 'a workflow
Sourceval path_plugin : ?descr:string -> ?np:int -> ?mem:int workflow -> ?version:int -> (string -> unit) workflow -> 'a path workflow
Sourceval pure : id:string -> 'a -> 'a workflow

pure ~id x is a workflow that computes the value x. id should be a string identifying x, like a digest.

Sourceval data : 'a -> 'a workflow

Similar to pure, but computes a digest as identifier. Does not work with closures or objects.

Sourceval int : int -> int workflow

int i is pure_data i

Sourceval string : string -> string workflow

string s is pure_data s

Sourceval app : ('a -> 'b) workflow -> 'a workflow -> 'b workflow

Applicative structure

Sourceval both : 'a workflow -> 'b workflow -> ('a * 'b) workflow

Applicative structure, useful for parallel binds

Sourceval path : 'a path workflow -> string workflow
Sourceval path_list : 'a path workflow list -> string list workflow
Sourceval list : 'a workflow list -> 'a list workflow
Sourceval spawn : 'a list workflow -> f:('a workflow -> 'b workflow) -> 'b list workflow
Sourceval spawn2 : 'a list workflow -> 'b list workflow -> f:('a workflow -> 'b workflow -> 'c workflow) -> 'c list workflow
Sourceval glob : ?pattern:string -> ?type_selection:[ `File | `Directory ] -> _ directory -> 'a path list workflow
Sourceval trywith : 'a workflow -> 'a workflow -> 'a workflow
Sourceval ifelse : bool workflow -> 'a workflow -> 'a workflow -> 'a workflow
OCaml

Innovation. Community. Security.