This is a great idea. I'd been planning to create something similar where cells are topologically ordered based on their dependency structure; although I was thinking perhaps to integrate with Jupyter more, eg use their existing kernel web sockets infrastructure. In my mind, one would be able to zoom out and see a graph view where hovering over a node would show its corresponding cell with content / output. Each node…
Show HN: Marimo – an open-source reactive notebook for Python
31–40 of 110 posts
Re: Show HN: Marimo – an open-source reactive notebook for Python
#32Earlier quoted context omitted.
There are several problems with this approach, notably you don't get information about specific platform stuff. You don't get information on how these package are installed (conda, mamba..etc). And it does not account for dependincies version conflicts which life very hard.
I don’t understand the platform thing, is that something to do with running on Windows? Why wouldn’t you just pip install? Why bring conda etc into the mix? If you have conflicts then you have to reconcile those at point of initial install - pip deals with that for you. I’ve never had a situation in 15 years of Python packages where there wasn’t a working combination of versions. These are genuine questions btw. I se…
1- pip freeze will miss packages not installed by pip (i.e. Conda).
2- It does include all packages, even not used in the project.
3- It just dumps all packages, their dependencies and sub-dependencies. Even without conflicts, if you happen to change a package, then it is very hard to keep track of dependencies and sub-dependencies that need to be removed. At some point, your file will be a hot mess.
4. If you install specific platform package version then this information will not be tracked
Re: Show HN: Marimo – an open-source reactive notebook for Python
#33Re: Show HN: Marimo – an open-source reactive notebook for Python
#34Re: Show HN: Marimo – an open-source reactive notebook for Python
#35Re: Show HN: Marimo – an open-source reactive notebook for Python
#36This is amazing. I'm a big user of both Jupyter notebooks and Observable notebooks ( https://observablehq.com/ ) and the thing I miss most from Observable when I'm using Jupyter is the lack of cell reactivity. You've solved that incredibly well! I also really like that the Marimo file format is just Python. Here's an example saved file from playing around with the intro: https://gist.github.com/simonw/e6e6e4b45d1bed9…
We are thrilled to see you have such a strong positive reaction. It means a lot coming from you - I initially learned web development using Django and landed my first contracting gig with Django.
I drifted away from writing Python and towards Typescript - but marimo has brought me back to writing Python.
Re: Show HN: Marimo – an open-source reactive notebook for Python
#37Re: Show HN: Marimo – an open-source reactive notebook for Python
#38Re: Show HN: Marimo – an open-source reactive notebook for Python
#39Earlier quoted context omitted.
Yeah, having worked on alternative notebooks before, one of the big implicit features of Jupyter notebooks is that long-running cells (downloading data, training models) don't get spuriously re-run. Having an excellent cache might reduce spurious re-running of cells, but I wonder if it would be sufficient.
We've thought briefly about cell-level caching; or at least it's a topic that's come up a couple times now with our users. Perhaps we could add it as a configuration option, at the granularity of individual cells. Our users have found that `functools.cache` goes a long way. We also let users disable cells (and their descendants), which can be useful if you're iterating on a cell that's close to the root of your noteb…
Would be cool if we could come up with a standard that works across notebooks / libraries!