Marimo is a reactive notebook system in Python. Here are some thoughts on it:

  1. Reactivity is implemented by re-writing Python expressions in the cells by means of (it appears) static analysis. The on-disk format is the rewritten expression.
  2. The rewrite makes all inputs and outputs explicit parameters/return values. This rewrite turns global variables into function parameters/returns
  3. This work well for the (simple) cases tested so far. Not sure it is a that big advantage for an experienced Python developer but perhaps it is for newcomers.
  4. A reactive notebook system “Pluto” has been available for the Julia ecosystem for some time.
  5. There is a nice two-dimensional notebook layout in Marimo
  6. The on-disk format is extremely easy to read, and automatic watch functions means editing outside of Marimo works very well
  7. The usual IDE assists seem to work well in the notebook
  8. And in the time it has taken me to put together these notes and some experiments I seen they’ve been bought by Corewave: https://marimo.io/blog/joining-coreweave !