Minor announcement of a package I recently updated which could be of general use: GitHub - marius311/ParameterizedNotebooks.jl: Parameterize Jupyter notebooks in Julia
Its a tool that lets you parameterize Jupyter notebooks over some values and call the notebook from other (or the same) notebooks, or from scripts.
The idea is just that you mark parameters in any cell with
@nbparam param = val then from anywhere you call
nb = ParameterizedNotebook("mynotebook.ipynb") which gives you a Julia function you can call as
nb(param=other_val), etc… There’s some advanced features such as picking out only certain sections of the notebook to run, which you can read about in the readme.
Its somewhat similar to stevengj/NBInclude.jl although that doesn’t you let parameterize, and takluyver/nbparameterise, tritemio/nbrun, and nteract/papermill (for Python), although those don’t let you pass/return arbitrary objects, just strings representations (conversely, this doesn’t generate “reports”).
Happy to take any feedback or ideas, this was something I kind of quickly did for myself and don’t claim everything is the best thought-out choice. Here’s an example from the readme if curious: