Notebooks & Reproducibility

Cells re-run automatically when dependencies change; notebooks are plain .jl files with embedded package environments (fully reproducible).

38.1 Pluto.jl — reactive notebooks

Cells re-run automatically when dependencies change; notebooks are plain .jl files with embedded package environments (fully reproducible). Interactivity with PlutoUI (@bind n Slider(1:100)).

using Pluto
Pluto.run()

38.2 Jupyter & Quarto

Quarto renders .qmd documents with Julia code chunks (via IJulia or the native QuartoNotebookRunner.jl).

using Pkg; Pkg.add("IJulia")
using IJulia; notebook()

38.3 Reproducibility checklist

One environment per project (Project.toml + Manifest.toml committed).

DrWatson.jl for scientific project structure (@quickactivate, datadir(), savename, produce_or_load).

Set random seeds and record versioninfo().

Use relative paths (joinpath(@__DIR__, "data")).

Literate.jl to turn scripts into notebooks/documents.