Research data management inspired by git
dat records scientific code runs and syncs their data between the
working directory (RUN) and long-term storage (DATA) using
rclone. Run metadata is stored in metadata.json
using the eLabFTW metadata standard and mirrored
as an experiment entry in the eLabFTW database.
- (optional) Pull required inputs and templates from DATA to RUN:
dat pull <path> - Start the run, e.g.
slurm <run_code>. - Commit the started run to the database:
dat commit -m <message> - When the run finished, push results from RUN to DATA:
dat push
DAT_DATA— root of long-term DATA storage (file system path or an rclone remote, e.g.nextcloud:data). Defaults to/proj/plasma.ELAB_URL,ELAB_KEY— eLabFTW API endpoint and token used to create and update the experiment entry.
dat pull <path>— unidirectional copy ofDATA/<path>into the current directory (RUN).dat commit -m <message>— write the title (and optional body after a newline) plus automatically retrieved information tometadata.jsonand create a database entry with statusrunning.dat push— unidirectionally copy the current directory from RUN to DATA (immutable; existing files are never overwritten), then push the finalmetadata.jsonwith statusfinishedand update the database.