marimo as a Papermill alternative
marimo provides reactive notebooks with built-in parameterization and app deployment. It's a modern alternative to Papermill for parameterized notebook execution.

marimo offers a modern approach to parameterized notebook execution, providing interactive and reproducible workflows without the need for external orchestration tools.
Interactive parameterization
Papermill allows you to inject parameters into Jupyter notebooks. Itâs considered a feature on top of the notebook format because Jupyter does not enable parameterized execution by default. Papermill does not support marimo notebooks, but thatâs because marimo already supports this feature natively.
marimo notebooks are stored as Python files, youâre always able to run them as a Python script as you see fit. It comes with utilities for parsing arguments but you can also use your favourite command-line argument parsing library like click or typer.
Mixing parameters with UI
You can design a marimo notebook to accept parameters from the command line or from a UI. This way, you can re-use the same code in multiple situations. The notebook could be used as a workbook thatâs shared as a webapp or as a CLI tool thatâs used as a batch job. This is especially useful when you want to share your notebook with others who may not have access to the command line.
Another benefit of marimo is that it is designed to work seamlessly with UV. marimo notebooks can declare all dependencies as metadata, making them fully reproducible and easy to sandbox.
Still just Jupyter
Papermill builds on top of Jupyter notebooks. That means that any bugs in the notebook will propagate to the papermill experience. Papermill is an extra feature for making Jupyter notebooks more executable in production use-cases, rather than a fundamental reimagining of what notebooks should be.
For a more in-depth comparison between marimo and Jupyter, see this guide.