News for hackers. Stuff that matters.
Re:A Python-first data lakehouse by simonw on Friday June 20, 2025 @12:35PM (#44329455)
Marimo is very impressive. It's effectively a cross between Jupyter and https://observablehq.com/ - it adds "reactivity", which solves the issue where Jupyter cells can be run in any order which can make the behavior of a notebook unpredictable, whereas in Marimo (and Observable) updating a cell automatically triggers other dependent cells to re-execute, similar to a spreadsheet.

Marimo is pretty new (first release January 2025) but has a high rate of improvement. It's particularly good for WebAssembly stuff - that's been one of their key features almost from the start.

My notes on it so far are here: https://simonwillison.net/tags/marimo/

Re:A Python-first data lakehouse by akshayka on Friday June 20, 2025 @02:14PM (#44330375)
Thanks Simon for the kind words!

For those new to marimo, we have affordances for working with expensive (ML/AI/pyspark) notebooks too, including lazy execution that gives you guarantees on state without running automatically.

One small note: marimo was actually first launched publicly (on HN) in January 2024 [1]. Our first open-source release was in 2023 (a quiet soft launch). And we've been in development since 2022, in close consultation with Stanford scientists. We're used pretty broadly today :)

[1] https://news.ycombinator.com/item?id=38971966

Re:A Python-first data lakehouse by lvl155 on Friday June 20, 2025 @01:31PM (#44329946)
I think it’s safe to say Observable’s inability to properly price their services made people look elsewhere. Their new offering is interesting but also ridiculously priced.
Re:A Python-first data lakehouse by ayhanfuat on Friday June 20, 2025 @03:58PM (#44331442)
I was also wondering their pricing because Canvas seemed so cool at first. Now that I've seen your comment I checked and $900/month (includes 10 users) is indeed very high. I guess they are primarily targeting big enterprises.
Re:A Python-first data lakehouse by Peritract on Friday June 20, 2025 @04:55PM (#44332005)
> it adds "reactivity", which solves the issue where Jupyter cells can be run in any order

This is one of the key features of Jupyter to me; it encourages quick experimentation.

Re:A Python-first data lakehouse by sodality2 on Friday June 20, 2025 @05:01PM (#44332055)
Once you get to a certain complexity of notebooks, I find it only serves to complicate my mental model to “experiment” out of order. It makes me far more likely to forget to “commit” an ordering change.
Re:A Python-first data lakehouse by abdullahkhalids on Friday June 20, 2025 @05:40PM (#44332373)
Jupyter notebooks do store the execution order of the cells. Just enforce a pre-commit or pre-merge hook that doesn't allow adding notebooks that have out-of-order cells.
Re:A Python-first data lakehouse by akshayka on Friday June 20, 2025 @06:39PM (#44332767)
marimo still allows you to run cells one at a time (and has many built-in UI elements for very rapid experimentation). But the distinction is that in marimo, running a cell runs the subtree rooted at it (or if you have enabled lazy execution, marks its descendants as stale), keeping code and outputs consistent while also facilitating very rapid experimentation. The subtree is determined by statically parsing code into a dependency graph on cells.