🎉 We've raised a $5M seed led by AIX Ventures!

Read more

Newsletter 9

Newsletter 9

To get updates like this one delivered to your inbox, subscribe to our newsletter.

This is your monthly reminder that at marimo, we’re on a mission to make the world’s best programming environment for working with data, and it’s all free and open source. Just pip install marimo or uv add marimo to get started!

You’re reading the ninth marimo newsletter.

Since the last newsletter was mailed a month ago, we’ve had 15 new releases. Our latest release, marimo 0.10.0, includes a big new feature that many of you have asked for: it’s now possible to export your marimo notebooks as self-contained, WebAssembly-powered HTML files. This lets you host interactive notebooks on GitHub Pages or other HTTP servers, no backend required!

We’ll get into this and other new features, as well as highlight some awesome content from the marimo community. But first --- we need your feedback!

📝 Take our two-minute survey

marimo is built for humans like you, and we need your feedback to make it better. We’d really appreciate it if you could take just a couple minutes to fill out a brief survey: https://marimo.io/feedback.

Help shape our roadmap

On the road to marimo 1.0, we’re focusing on six primary goals for marimo:

  1. Rapid data manipulation with Python and SQL
  2. Excellent developer experience in the marimo editor
  3. Excellent developer experience working with notebook files
  4. Seamless embedding of notebooks in web pages and sharing notebooks as applications
  5. Working with data and compute at any scale
  6. Enterprise-readiness

We’ve posted a rough sketch of how we plan to make progress on these goals over the next year on GitHub --- please let us know if we’ve missed anything, what you’re most excited for, and please share any other feedback you may have!

️ New features

Publish interactive notebooks on GitHub Pages

Starting with marimo 1.0, it is now possible to export marimo notebooks as self-contained “executable” HTML files, powered by WebAssembly. These exported notebooks can be hosted on GitHub Pages or other HTTP servers, letting you share interactive notebooks on the web without paying for servers or infrastructure. Thanks to Pyodide and WebAssembly, the web browser itself executes the notebook file’s contained code.

To get started, first export your notebook at the command-line. You can choose whether to make the notebook editable or readonly (with code hidden).

# export in a readonly mode, with code hidden
# use --mode edit to make the notebook editable
marimo export html-wasm notebook.py -o output_directory --mode run

To view your HTML file, you’ll need to host it on GitHub Pages or another HTTP server, like this example of a readonly notebook, hosted on GitHub Pages. This example was published using a GitHub Actions Workflow; read our docs to learn more.

If you do publish a WebAssembly notebook, please share it with us over email (just hit reply) or on Discord. (Interactive blog posts? Papers and code, implemented as marimo notebooks? Executable tools? Tutorials?)

We know you all have asked for this ability ever since we announced marimo’s support for WebAssembly back in April; thank you for your patience. We’re excited to see what you’ll build and share!

Finally, note that WebAssembly notebooks do have some limitations, such as on the packages that can be used; learn more at Pyodide’s docs.

Other highlights

We’ve released many other new features and improvements. Here are just a few:

  • Export marimo notebooks to ipynb files with outputs included, from the command-line (marimo export ipynb --sort top-down --include-outputs), and snapshot notebooks to ipynb via notebook settings. This lets you view outputs on GitHub and use existing the large ecosystem of tools already built for ipynb files.
  • Improved rendering of hidden markdown code, with no visual clutter
  • Improved performance of interactive dataframes, letting you page through and filter millions of rows
  • Experimental chat sidebars and multi-column layouts; enable in the notebook settings.

Check out our release notes for a full list.

🍃 Community

We have over 70 contributors pushing code to marimo, up from 59 last month, and over 1k marimonauts (mossballers?) hanging out with us on Discord — come chat! Also, a small celebratory note: we’ve crossed 8k stars on GitHub!

Community Roundup

Here’s a roundup of inspiring things the marimo community has been up to in the past few weeks:

For more awesome projects from our community, check out our awesome-marimo repo. Feel free to submit your own project via a PR!

By the marimo team

  • 🌱 Our seed fundraise: We announced marimo’s seed fundraise; our list of investors includes the founder of Kaggle Anthony Goldbloom, the head of Google AI Jeff Dean, the CEO of HuggingFace Clem Delangue, and more.
  • 🦆 Visualizing text embeddings with MotherDuck: In this blog by Myles, see how to use marimo plus duckdb and motherduck to compute and visualize text embeddings in just a few lines of code.
  • 🐍 Real Python podcast: Listen to Akshay nerd out about Python and marimo on the Real Python podcast.
  • 🛜 Deploying marimo notebooks from GitHub: Learn how to serve your collection of Python notebooks as data apps directly from a GitHub repository using marimo.
  • 🤗 Sharing notebooks on HuggingFace: We’ve made it easy to deploy notebooks on HuggingFace Spaces; check out this video for an overview.

P.S. Find us on 🦋: https://bsky.app/profile/marimo.io

-Akshay & Myles