This file describes ideas how the labbook works and which commands are available. At the center of the labbook commands is a configuration file defining pipelines and dependencies
labbook init project <template>Create a new project from template. Comparable to
git initwith some extras like adding:- a
.gitignorefile; - a
.labbook.jsonfile; - a
resultsfolder for archived results.
- a
labbook init campaign <name>Creates a new campaign folder with specified name and sets metadata, if folder exists subfolders are added to version control
base name results .gitignore .archive .config
- =labbook init campaign parameter_foo
base parameter_foo results .gitignore .archive .config
labbook init new_base [parameter_foo/1] -m "Use parameter 1 for new base case"base results .archive/old_base_id
labook execute <pipeline> <campaign/case>Execute the pipeline for a full campaign or a specific case. There are four different pipeline types:
- preprocessing:
Brings a campaign or a case into an executable state.
- execution:
Runs a simulation and sets the state to started. If copy flag is set the case is copied to a dedicated folder with the hash of the transforming function, otherwise only a simlink is created.
- postprocessing
Extracts results from the cases and sets the state to complete. Initially, results are non-final, meaning they are added to the repo but flaged as non-final. Non final results can be purged easily or finallised and archived.
- archive
A pipeline might be of multiple types
- preprocessing:
labook rebase <campaign/case>Sets
campaign/caseas new base case, archives all other cases
labbook checkout <revision>Go back to revision
labbook logShows a full log of the current project
labbook log [done/started/waiting]Shows cases which are
completed/started/waiting
labbook commit -m <message>Commit state to version control. TODO Specify when it needed
base results .gitignore .archive .config