mailwal

Lessons learned reinventing the Python notebook

Akshay | marimo
This email is part of our "10 days of marimo" onboarding series, with tips to help you get started.
marimo is a reinvention of the Python notebook. There's a lot to explore, but Vincent from marimo team managed to condense a lot of it into just 100 seconds: watch his explainer on YouTube, then come back here for a deep dive.
Here are the main things that make marimo different.
Making notebooks reproducible, maintainable, and reusable
We designed marimo to make notebooks reproducible (Jupyter notebooks suffer from a reproducibility crisis), maintainable like regular Python files, and reusable as web apps or Python scripts. marimo blends the best parts of interactive computing with the rigor and reusability of traditional software. In fact, marimo was originally developed in collaboration with Stanford scientists, who felt limited by Jupyter's lack of reproducibility and interactivity.
Keeping code and outputs in sync
The biggest difference between marimo notebooks and Jupyter notebooks is that marimo understands the relationships between code cells. Run one cell, and marimo automatically runs dependent cells like a spreadsheet, keeping code and outputs in sync and enabling rapid data exploration. This is called "reactive execution", and is a core feature of next-generation notebooks for other languages as well. marimo lets you disable reactive execution for expensive notebooks, while still giving guarantees about state. If you're coming from Jupyter, make sure to check out our guide on adapting to marimo.
Explore data and build apps with interactive elements
Another big difference between marimo and Jupyter is that marimo comes bundled with interactive widgets like sliders, dropdown menus, and tables that make it easy to see how changing variables change results. Combined with reactive execution, this also lets you make and share interactive apps!
Lessons we learned along the way
marimo is fundamentally a reinvention of the Python notebook as a reproducible, interactive, and reusable Python program, instead of an error-prone JSON scratchpad. Today, marimo is used by scientists and engineers across the world, and has been developed by over 200 contributors. Read more about the lessons we learned reinventing the Python notebook at our blog.
You are receiving this email because you opted in to receive email from the list 10 Days of marimo from marimo
marimo, Planet Earth