HNHacker News
TopNewBestAskShowJobs

akshayka

451 karma · joined July 21, 2013

https://www.akshayagrawal.com/
submissionscomments
akshayka··on Marimo now runs in PyCharm
Yes, but we might have bugs which we are prioritizing asap. If you run into issues please file a bug?

https://github.com/marimo-team/marimo-pair/issues

akshayka··on Marimo now runs in PyCharm
The reloading mechanism in the blog exercises the module reloader (https://docs.marimo.io/guides/editor_features/module_autorel...), to reload other files (not the notebook file), which is different from the watch flag.

The current version of the extension embeds the marimo user interface in PyCharm. We may in the near future have a more native-feeling embedding, but that's a little tbd.

Glad to hear you're enjoying marimo, and thanks for sharing the anecdote. I'll gladly accept the "thank you", but it's worth mentioning this extension was developed end-to-end by Kiran :)

akshayka··on Marimo now runs in PyCharm
Give it a shot, it's not in beta. It's much more powerful and fun to use than `--watch`. Works best with frontier models but is compatible with open source / local models too. If you have feedback please let me know!
akshayka··on Marimo now runs in PyCharm
You might like https://marimo.io/pair, it turns marimo into less of a notebook and more of a shared data/computational canvas for you and your agent
akshayka··on Pluto.jl 1.0 release – reactive notebook for Julia
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.
akshayka··on Show HN: Marimo pair – Reactive Python notebooks as environments for agents
Thanks for the kind words.

We've had the same thought, and are experimenting in this direction in the context of recursive language models.

Let us know if you have feedback!

akshayka··on People love to work hard
You have good timing. Earlier today we announced an agent skill that drops Claude into a running marimo notebook session, allowing it to run code in the marimo kernel (read variables, test logic, get feedback when errors like multiple definitions are hit, add and remove cells, manipulate UI elements ...):

https://news.ycombinator.com/item?id=47678844

akshayka··on Pyodide: a Python distribution based on WebAssembly
Hello from the original creator of marimo. Do you have teaching materials to share? I would love to see how one might teach Python with a reactive notebook
akshayka··on Marimo launches VS Code and Cursor extensions
See the corresponding Show HN from earlier today for a technical overview. There are some interesting components, such as the LSP-based implementation and the integration with uv

https://news.ycombinator.com/item?id=45982774

akshayka··on Deepnote, a Jupyter alternative, is going open source
This is Akshay, the original creator of marimo. Our whole team has come over to CoreWeave. We're building a whole lot more, not less, and our number one priority continues to be the open-source. We're also growing the open-source team, i.e. we're hiring.
akshayka··on Researchers Discover the Optimal Way to Optimize
Anecdotally it seems like most software engineers have heard of linear programming, but very few have heard of convex programming [1], and fewer still can apply it. The fixation on LPs is kind of odd ...

[1] https://github.com/cvxpy/cvxpy

akshayka··on Closer to production quality Python notebooks with `marimo check`
Hi! Thanks for your interest. marimo is much more than that — unlike traditional notebooks, marimo is "reactive", meaning it models notebooks as dataflow graphs and keeps code an outputs in sync. Moreover, marimo notebooks are not "just notebooks". They can be seamlessly run as interactive web apps or as Python scripts.

Here is our original ShowHN post that explains what marimo is all about: https://news.ycombinator.com/item?id=38971966

Blog that goes deeper: https://marimo.io/blog/lessons-learned

akshayka··on Closer to production quality Python notebooks with `marimo check`
You can not use the AI features, nothing is enabled by default (you have to bring your own keys)
akshayka··on Ask HN: How do you find early stage startups to join
For startups that have an open-source component, GitHub is a good channel. That's how our first hires came to marimo.
akshayka··on Representing Python notebooks as dataflow graphs
Thanks for the feedback. We decided early on against having a “non-reactive” mode. It would negate many of our core benefits (including importing from other notebooks), and it would also lead to a fragmented ecosystem — if someone shared a notebook with you, your experience with it would depend on whether it was executed in “reactive” or “non-reactive” mode. Still I appreciate the kind words about our editor and file format, and am sorry we can’t accommodate your use case.

We describe why we opted against “disabling” the graph at the end of this blog: https://marimo.io/blog/lessons-learned

akshayka··on Representing Python notebooks as dataflow graphs
Sorry I forgot the link. We have shortcuts for those as well. If any are missing please file an issue and we can consider adding them.

I forgot the link: https://docs.marimo.io/guides/editor_features/overview/#conf...

akshayka··on Representing Python notebooks as dataflow graphs
What kind of muscle memory is holding you back? We recently added support for Jupyter-style command mode in keyboard shortcuts [1]. We're currently rewriting our VS Code extension to feel native, similar to how Jupyter feels in VS Code.

Anything else we can help with?

akshayka··on Representing Python notebooks as dataflow graphs
Thanks for the shoutout!

We're committed to having an excellent experience for working with expensive notebooks [1]. At least for my own personal work, I find that there are many reasons to use marimo even when autorun is disabled — you still get guarantees on state, rich dataframe views, reusable functions [2], the Python file format, and more. If you have feedback on how we might improve the experience, we'd love to hear it.

[1] https://docs.marimo.io/guides/expensive_notebooks/

[2] https://docs.marimo.io/guides/reusing_functions/

akshayka··on Representing Python notebooks as dataflow graphs
Thanks for the comments. I'm the original creator of marimo.

Habitually running restart and run all works okay for very lightweight notebooks, but it's a habit you need to develop, and I believe our tools should work by default. It doesn't work at all for entire categories of work, where computation is heavy and the cost of a bug is high.

From the blog, you will see that reactive execution not only minimizes hidden state, it also enables rapid data exploration (far more rapid than a traditional notebook), reuse as data apps, reuse as scripts, a far more intelligent module autoreloader, and much more.

marimo is not just another Jupyter extension, it's a new kind of notebook. While it may not be for you, marimo has been open source for over a year and has strong traction at many companies and universities, including by many who you may not view to be "real devs". The question of whether marimo will catch on has already been resolved :)

https://github.com/marimo-team/marimo

akshayka··on Uv: Running a script with dependencies
Very nice. Here's a one liner for marimo notebooks:

uvx marimo edit

A one liner with marimo that also respects (and records) inline script metadata using uv:

uvx marimo edit --sandbox my_notebook.py

https://docs.astral.sh/uv/guides/integration/marimo/

akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
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.
akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
We've got you covered: https://www.youtube.com/live/cYtWzIaGvb4?si=ZbhWEQBBv15yo8eq
akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
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

akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
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
akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
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.
akshayka··on Show HN: Molab, a cloud-hosted Marimo notebook workspace
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.
akshayka··on A Python-first data lakehouse
Thanks for the kind words. Many of our users have switched entirely from Jupyter to marimo for experimentation (including the scientists at Stanford's SLAC alongside whom marimo was originally designed).

I have spent a lot of time in Jupyter notebooks for experimentation and research in a past life, and marimo's reactivity, built-in affordances for working with data (table viewer, database connections, and other interactive elements), lazy execution, and persistent caching make me far more productive when working with data, regardless of whether I am making an app-like thing.

But as the original developer of marimo I am obviously biased :) Thanks for using marimo!

akshayka··on A Python-first data lakehouse
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.
akshayka··on A Python-first data lakehouse
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

akshayka··on DuckLake is an integrated data lake and catalog format
It's indeed very easy to try locally! For example in a marimo notebook, just a few lines of code: https://www.youtube.com/watch?v=x6YtqvGcDBY

(Disclosure, I am a developer of marimo.)

Page 1 of 3Next →