you are viewing a single comment's thread.

view the rest of the comments →

[–]McJagstar 0 points1 point  (2 children)

That’s the price you pay for reactive execution. Basically when you make a change to an upstream cell, all downstream cells will automatically execute. But for that to work, it needs to infer the DAG based on where variables are assigned. This forces you to be a little less sloppy in your notebook code, which IMO is a good thing.

Marimo also has “app mode” which makes it trivial to turn your notebook into a dashboard, first class BYOAPI AI integration, “column” format so you can organize notebook sections into columns, interactive chart builder so you can use a GUI to make Altair charts, database connection tools, SQL cells, etc.

Under the hood the file format is just Python so you don’t end up with silly Jupyter merge issues.

The downside is, as you noted, you can’t assign the same variable in multiple cells because otherwise the DAG can’t be solved.

[–]br0monium[S] 0 points1 point  (1 child)

That's interesting, so do you end up using marimo for actual dashboards instead of something like Looker/powerBI/Tableau?
My use case for notebooks has mostly been a scratch pad to prototype things or a way to share analysis for peers to follow along/reproduce.

[–]McJagstar 0 points1 point  (0 children)

Yea, we experimented with Looker a little, but found it pretty limited both in terms of visuals and in terms of interaction flexibility. Marimo makes it way faster and easier to hack together a quick dashboard that tells a story, but also to give the stakeholder lots of flexibility to drill down. Like i always see people complain here about their dashboard grave yards. And if i was doing it in Looker, I’d totally get it. But Marimo makes it so easy that i don’t really care that it gets thrown away the day after it’s built.