Pluto is great. I use it all the time. If you like the reactivity/reproducibility but are wedded to Python, you might want to check out Marimo, which is also great. [https://marimo.io/]
It too puts the output of a cell above the code so if you're unable to adapt to things that are different it's also probably not for you.
FWIW, Observable's Notebooks (Javascript) work the same way: output above the code that produces it. [https://observablehq.com/]
I too did not like having the output above the code but got over it pretty quickly. For plots, it's arguably better: usually, I want to see the plot before I see the 15 line invocation of some plot command. The thing that bugs me the most about Pluto now is that it really wants you to only have a single evaluating statement per cell. You have to wrap stuff in "block......end" if you want to e.g. define more than one variable in a cell.
Hello from the original creator of marimo. We now default to putting outputs below cells (feedback heard!). Pluto.jl was a significant inspiration in marimo’s original design.
I've still never tried Marimo (I avoid Python when I can), but I definitely do often find myself wishing Pluto would take some ideas from you guys.
Pluto is very focused on educational uses, and tends to be very opinioned in trying to present as little 'configuration' and optionality to users as possible, which I think makes it quite hard to use as an actual tool. It's so close to being something that I really love, but it's just not quite there for me.
Oh, cool! I couldn't remember which way Marimo did it so just checked the homepage. The gif there still seems to show it the old way, just FYI.
Anyway, keep up the awesome work! I haven't used Jupyter at all since I started running marimo from uvx.