Newsletter 6

Newsletter 6

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

Hi! 👋 You’re reading the sixth marimo 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!

Since the last newsletter was mailed last month, we’ve had 22 new releases. In this newsletter, we’ll highlight a few features from these releases that we’re particularly excited about.

📦 Sandboxed notebooks

We’re excited to announce a new feature called sandboxed notebooks. Sandboxed notebooks carry their own package environment in them: no requirements.txt required!

To create or edit a sandboxed notebook, just pass the --sandbox flag to whatever marimo command you’re using; for example,

marimo edit --sandbox notebook.py

This runs your notebook in a temporary Python virtual environment, or “sandbox”. When running in a sandbox, marimo automatically tracks the packages used by your notebook and serializes them as a top-level comment in the notebook file. Before starting your notebook, marimo populates the sandbox the packages listed in the top-level comment.

This opt-in feature, inspired by Pluto.jl, makes notebooks much easier to share — just send the notebook.py file! It also helps prevent obscure bugs arising from environment pollution.

Sandboxed notebooks are powered by the uv package manager and its support for modern Python standards, specifically PEP 723. They’re only possible because marimo stores notebooks as Python, not JSON.

Check out our latest blog to learn more about sandboxed notebooks.

🤖 An AI assistant that knows your data

marimo has built-in support for AI assistants that help you code, including any OpenAI-compatible assistant, Anthropic, and local models via Ollama. In marimo, these assistants don’t just understand your code --- they also understand your data! When you use our “Generate with AI” feature to write code, you can now give the AI context about your dataframe and table schemas by tagging them in your query with @<dataframe-name>.

This is just the first of several steps we’re taking to make our AIs deeply aware of your data. Have an idea on how we can improve our AI integration? Let us know!

🌟 Spotlight on “Haleshot” Srihari Thyagarajan!

Each week on our socials and Discord, we put the spotlight on a member of the marimo community — we’re so inspired by everything you all are creating!

This newsletter, we’re putting the spotlight on “Haleshot” Srihari Thyagarajan! Haleshot has contributed so much to the marimo community — ranging from pull requests, feedback in Discord, example notebooks and tutorials, and more. This spotlight is a bit meta: most recently, Haleshot started the marimo spotlight GitHub repo. This repo is an incredibly well-curated collection of all our marimo spotlights.

Haleshot is an exemplary member of our community, contributing so much to support other marimo contributors. Thanks Haleshot! 🙏

Community

We have over 50 contributors pushing code to marimo, up from 40 last month, and many more contributors reporting bugs, sharing feedback, and hanging with us on Discord — come chat with us!

Before we sign off, we’d like to share a new community initiative we’ve started: the marimo ambassador program. Our ambassador program helps you build a dedicated AI/ML data science audience, and connects you with a community other ambassadors that share your passion for all things data. The ambassador program is new and still evolving; apply today to help shape what it becomes.

-Akshay & Myles