Show HN: Molab, a cloud-hosted Marimo notebook workspace
122 points
12 days ago
| 8 comments
| molab.marimo.io
| HN
We launched marimo [1], an open-source reactive Python notebook, last year on HackerNews. Today, the most popular recent feature request in Google Colab’s issue tracker asks for marimo support in Colab [2].

Rather than try to convince Google to replace their notebook with marimo, we decided to just build our own cloud-hosted notebook service instead. We're calling this molab (mo for marimo), and we're launching it today.

You can try it at https://molab.marimo.io

Some features:

- Persistent storage

- Link sharing (notebooks are public but undiscoverable, like secret GitHub Gists)

- Download notebooks to your machine, reuse them as Python scripts or apps

- Upload local notebooks to the cloud from our CLI (coming soon)

- Real-time collaboration (coming soon)

- Configure computational resources to obtain more CPU or GPU (coming soon)

marimo is a modern notebook for modern data workflows; we also built molab on a modern tech stack:

- Notebook dependencies are managed by uv, enabling lighting-fast package installation (thanks to uv’s cache and more generally its performant implementation). uv makes it easy to run molab notebooks locally, too: uvx marimo edit <notebook-url> brings the notebook down to your machine.

- Persistent storage is powered by R2, Cloudflare’s zero-egress object store.

- We use Pydantic logfire to monitor our deployment.

- While our implementation is agnostic to the compute backend (stay tuned!), we’re currently running on Modal for fast startups (not to mention a slick developer experience). Modal sandboxes make it easy for us define containers at runtime, containing notebook code and their dependencies. (Shout out to Eric Zhang from Modal for helping us get started.)

molab is free to use, as long as usage is reasonable. Our goal is to make is as easy as possible for our community to use marimo notebooks.

Finally, learn more at our announcement blog: https://marimo.io/blog/announcing-molab

If this interests you, please give molab a shot and please share feedback — here or on Discord (https://marimo.io/discord).

P.S. This is not our commercial product, this is really just for our community.

[1] https://github.com/marimo-team/marimo [2] https://github.com/googlecolab/colabtools/issues?q=is%3Aissu...

lahuard
11 days ago
[-]
Marimo is the future of notebooks! This solves so many problems with collaboration using notebooks. Rooting for you guys!
reply
anilgulecha
11 days ago
[-]
Hi Akshay, it isn't clear from above writeup - is this open for self-hosting (I have an education usecase)? Couldn't find anything on this in the repo.
reply
akshayka
11 days ago
[-]
Hi! molab is not available for self-hosting. For self-hosting, you have a few options:

Use marimo open source. This can be self-hosted in the same way that Jupyter can. Repo: https://github.com/marimo-team/marimo

Use marimo's WebAssembly notebooks (exporting to WASM-powered HTML). For example, that's how Cloudflare is sharing marimo notebooks currently: https://notebooks.cloudflare.com/. Docs: https://docs.marimo.io/guides/exporting/#export-to-wasm-powe...

Use within JupyterHub: https://github.com/jyio/jupyter-marimo-proxy

reply
anilgulecha
10 days ago
[-]
Thanks. marimo is cool, but spinning up N backends for scale would not be tenable cost wise.

Currently looks like there's this very cool full-frontend notebook tool: https://github.com/gzuidhof/starboard-notebook , which can be tied to a small backend to save/load python scripts from. This is working well for edu usecases potentially with support for both js and python.

reply
elashri
11 days ago
[-]
This sounds like a good tool that would help ease the usage of adopting marimo for some of the tasks that people usually use colab for. It can be used for teaching and tutorials to share.

I just want to ask about Privacy Policy of the cloud version because I couldn't find it.

reply
akshayka
11 days ago
[-]
Thanks! Notebooks on molab are public (but undiscoverable, like public GitHub gists), and can be shared with links. This is described here: https://marimo.io/blog/announcing-molab.
reply
VoidWhisperer
11 days ago
[-]
Is there anything you are doing to prevent these notebooks from being indexed by Google/etc? Gists will show up in google search results if they've been linked from anywhere that google happens to find. The robots.txt just has 'Allow: /'.

I have no experience with Marimo so I guess I don't know the security model here.

reply
dmadisetti
11 days ago
[-]
I just turned off /notebooks in robots.txt

Our thoughts are the same as gists- Molab is built to share your work and give you a place to tinker. Please don't put your api keys in there

reply
jarofgreen
11 days ago
[-]
> I just turned off /notebooks in robots.txt

That doesn't actually stop pages being indexed.

https://developers.google.com/search/docs/crawling-indexing/...

reply
akshayka
11 days ago
[-]
If your notebooks need keys, use mo.ui.text(kind=“password”), similar to the example from Hugging Face: https://molab.marimo.io/notebooks/nb_jpcTRt2jckij9iujuZ6NuZ
reply
sheepy
11 days ago
[-]
TY for marimo! A realy well thought out project solving lots of jupiter pain points.
reply
matsonj
11 days ago
[-]
I was hopeful for Wasm to make this work better but it just didn't. really cool to see this available - i was wondering what the next step was.
reply
countfeng
11 days ago
[-]
I think it would be better if there was a videotutorial to explain it.
reply
akshayka
11 days ago
[-]
reply
dcreater
10 days ago
[-]
I guess this is a persistent version of marimo.app ?
reply
akshayka
10 days ago
[-]
More than that. marimo.app runs in the browser with WASM. That makes for a snappy experience but is limited in RAM and what kinds of packages can be run. This runs Python on a traditional backend, letting you use any package and any more resources.
reply
cantdutchthis
12 days ago
[-]
Everyone: don't push live on a Friday. marimo: ... hold my beer
reply
hmartin
11 days ago
[-]
Its completely failed several times in the course of an hour for me :'(
reply
akshayka
11 days ago
[-]
Sorry! Did the notebook not connect to the runtime? Notebooks usually start quickly but there is variance, which we are working to tighten. If you have a notebook link/ID, we can look into it.
reply
dmadisetti
9 days ago
[-]
Hey, if your name had an accent, workspace creation should have failed

Not sure how we missed that in testing. But it should be good to go now

reply
dmadisetti
12 days ago
[-]
Everyone knows prod doesn't break on the weekends
reply