| I see this a lot, but I disagree, at least in their current form. They miss a variety of very key parts for reproducibility (which, to be fair, was not their original goal). * Dependencies like libraries are not specified anywhere. * Dependencies on local code are not bundled. * Dependencies on local data are not bundled. * Underlying requirements like LLVM (which needs to be specifically 3.9.X for llvmlite in python as I discovered recently). * Perhaps most dangerously, you can run the code sections out of order, and deleted sections will leave their variables around which can interfere with the run. I've been caught out by this in my own notebooks. I really like jupyter notebooks, but I think some of the design decisions (correct for some ways of working) actively work against reproducible reports. There was a recent writeup here: > we were able to successfully execute only one of the ~25 notebooks that we downloaded. https://markwoodbridge.com/2017/03/05/jupyter-reproducible-s... |
> Technologies such as Jupyter and Docker present great opportunities to make digital research more reproducible, and authors who adopt them should be applauded.