The Real Python Podcast cover image

The Real Python Podcast

marimo: Reactive Notebooks and Deployable Web Apps in Python

Nov 29, 2024
Akshay Agrawal, creator of the innovative marimo notebook, discusses enhancing the Python notebook experience for data scientists. He tackles common issues with traditional notebooks, such as hidden state and reproducibility, proposing a directed acyclic graph (DAG) structure for better organization. Akshay reveals how marimo notebooks are both readable and git-friendly, utilizing PEP 723 for standalone notebooks. He also illuminates their capability to be deployed as interactive web apps, revolutionizing how data scientists collaborate and share their work.
01:00:58

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • The marimo notebook addresses hidden state issues common in traditional notebooks by utilizing a Directed Acyclic Graph (DAG) structure for better reproducibility.
  • Designed as pure Python files, marimo notebooks enhance readability and compatibility with version control systems, simplifying collaboration and code management.

Deep dives

Common Notebook Issues and Hidden State

Using traditional notebooks for Python development often leads to significant problems, primarily the phenomenon of hidden state, where the execution order can affect variable definitions. This hidden state issue can result in discrepancies when sharing notebooks, where code might produce different outputs based on its running sequence, thus complicating reproducibility. For instance, if a cell containing variable definitions is deleted, it can prevent other cells from functioning correctly without indicating that the underlying variable was lost. This can lead to frustration and inefficiencies for users trying to replicate analyses, as they struggle to ascertain the exact execution history of the notebook.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode