Date: October 10 2020
Summary: DrWatson is a strong tool for encouraging reproducible science and enforces good project management.
Keywords: ##zettel #julialang #project #management #reproducible #science #archive
Not Available
Today, I spent some time learning about DrWatson.jl. I have always wanted to use the project and now I finally have a reason to work with it! I enjoyed the default layout provided by DrWatson - here are some general thoughts on the matter.
The project directory provided by DrWatson is automatically setup. The defaults are quite nice and I did not change anything except for ignoring the data files:
βprojectdir <- Project's main folder. It is initialized as a Git
β repository with a reasonable .gitignore file.
β
βββ _research <- WIP scripts, code, notes, comments,
β | to-dos and anything in an alpha state.
β βββ tmp <- Temporary data folder.
β
βββ data <- **Immutable and add-only!**
β βββ sims <- Data resulting directly from simulations.
β βββ exp_pro <- Data from processing experiments.
β βββ exp_raw <- Raw experimental data.
β
βββ plots <- Self-explanatory.
βββ notebooks <- Jupyter, Weave or any other mixed media notebooks.
β
βββ papers <- Scientific papers resulting from the project.
β
βββ scripts <- Various scripts, e.g. simulations, plotting, analysis,
β β The scripts use the `src` folder for their base code.
β βββ intro.jl <- Simple file that uses DrWatson and uses its greeting.
β
βββ src <- Source code for use in this project. Contains functions,
β structures and modules that are used throughout
β the project and in multiple scripts.
β
βββ README.md <- Optional top-level README for anyone using this project.
βββ .gitignore <- by default ignores _research, data, plots, videos,
β notebooks and latex-compilation related files.
β
βββ Manifest.toml <- Contains full list of exact package versions used currently.
βββ Project.toml <- Main project file, allows activation and installation.
Includes DrWatson by default.
I started DrWatson up in my Julia REPL and ran the following as I already had a git repo set-up and files in the repo:
using DrWatson
initialize_project("NeuriViz"; authors = ["Jacob Zelko", "Zachary P Christensen"], force = false, git = false, placeholder = true)
It set up the structure I needed and was quite easy to use. DrWatson was created by George Datseris.
Zelko, Jacob. DrWatson.jl. https://jacobzelko.com/10262020033701-drwatson-pkg. October 10 2020.