# \[ANN\] ParameterizedNotebooks.jl

**URL:** https://discourse.julialang.org/t/ann-parameterizednotebooks-jl/83207
**Category:** Package Announcements
**Created:** [June 22, 2022, 9:44pm UTC](https://discourse.julialang.org/t/ann-parameterizednotebooks-jl/83207 "2022-06-22T21:44:29Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![marius311](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marius311/32/3953_2.png) [@marius311](https://discourse.julialang.org/u/marius311)
#### Post date: [June 22, 2022, 9:44pm UTC](https://discourse.julialang.org/t/ann-parameterizednotebooks-jl/83207/1 "2022-06-22T21:44:29Z")

</div>

Minor announcement of a package I recently updated which could be of general use: [GitHub - marius311/ParameterizedNotebooks.jl: Parameterize Jupyter notebooks in Julia](https://github.com/marius311/ParameterizedNotebooks.jl)

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](https://github.com/stevengj/NBInclude.jl) although that doesn’t you let parameterize, and [takluyver/nbparameterise](https://github.com/takluyver/nbparameterise), [tritemio/nbrun](https://github.com/tritemio/nbrun), and [nteract/papermill](https://github.com/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:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/f/5/f5a56e01070d7b5abb7b4407b6e0365f1db4ffc0.png)
