התחל במצב לא מקוון עם האפליקציה Player FM !
marimo: Reactive Notebooks and Deployable Web Apps in Python
Manage episode 452616859 series 2637014
What are common issues with using notebooks for Python development? How do you know the current state, share reproducible results, or create interactive applications? This week on the show, we speak with Akshay Agrawal about the open-source reactive marimo notebook for Python.
Before writing any code, Akshay wrote a 2,500-word design document. He wanted to create a maintainable and reproducible tool that avoided the hidden state of traditional notebooks. We discuss solving the hidden state problem by building the notebook as a directed acyclic graph (DAG).
Akshay shares how marimo notebooks are stored as pure Python files, which makes them easy to read, importable, and git-friendly. We discuss serializing package requirements using PEP 723 inline metadata to create standalone reproducible notebooks. We also cover how marimo notebooks can be deployed as a web app or dashboard using Pyodide.
Course Spotlight: Navigating Namespaces and Scope in Python
In this course, you’ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope.
Topics:
- 00:00:00 – Introduction
- 00:02:06 – Akshay’s background and studies
- 00:04:14 – Work at Google and PhD program
- 00:06:29 – Sharing notebooks
- 00:08:18 – Starting work on marimo 2 years ago
- 00:12:48 – Avoiding notebook issues and building a DAG
- 00:18:39 – The difference of reactivity
- 00:20:39 – What is a marimo notebook?
- 00:23:39 – Video Course Spotlight
- 00:24:50 – Reproducibility and managing package requirements
- 00:27:49 – Using decorators for cells
- 00:30:23 – Writing a design document before any coding
- 00:34:08 – Interactivity and UI widgets
- 00:38:20 – Design decisions and built-in widgets
- 00:42:05 – Creating a deployable web application
- 00:44:34 – Exploring examples and tutorials
- 00:46:13 – Supporting DataFrame libraries with narwhals
- 00:48:00 – Migrating from a Jupyter notebook
- 00:52:02 – Working with cells and not running code
- 00:54:30 – A couple favorite tutorials
- 00:56:17 – What are you excited about in the world of Python?
- 00:57:39 – What do you want to learn next?
- 00:59:34 – How can people follow the project and yourself?
- 01:00:12 – Thanks and goodbye
Show Links:
- marimo - a next-generation Python notebook
- marimo: an open-source reactive notebook for Python - Akshay Agrawal (Nbpy2024) - YouTube
- TensorFlow
- Made with marimo - marimo
- FAQ - marimo
- Pluto.jl — interactive Julia programming environment
- Observable: Build expressive charts and dashboards with code
- We Downloaded 10,000,000 Jupyter Notebooks From Github – This Is What We Learned - The Datalore Blog
- A Large-scale Study about Quality and Reproducibility of Jupyter Notebooks
- Lessons learned reinventing the Python notebook - marimo
- Episode #226: PySheets: Spreadsheets in the Browser Using PyScript
- PEP 723 – Inline script metadata
- Inline script metadata - Python Packaging User Guide
- Serializing package requirements in marimo notebooks - marimo
- uv: Unified Python packaging
- marimo Newsletter 7 - Jupyter to marimo
- Custom UI elements - marimo
- anywidget - anywidget
- Interactive elements - marimo
- Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries
- Calmcode - marimo: Introduction
- Join the marimo Discord
- marimo newsletter
- marimo on Twitter
- marimo on LinkedIn
- Akshay Agrawal’s website
- Aksahy on Twitter
Level up your Python skills with our expert-led courses:
264 פרקים
Manage episode 452616859 series 2637014
What are common issues with using notebooks for Python development? How do you know the current state, share reproducible results, or create interactive applications? This week on the show, we speak with Akshay Agrawal about the open-source reactive marimo notebook for Python.
Before writing any code, Akshay wrote a 2,500-word design document. He wanted to create a maintainable and reproducible tool that avoided the hidden state of traditional notebooks. We discuss solving the hidden state problem by building the notebook as a directed acyclic graph (DAG).
Akshay shares how marimo notebooks are stored as pure Python files, which makes them easy to read, importable, and git-friendly. We discuss serializing package requirements using PEP 723 inline metadata to create standalone reproducible notebooks. We also cover how marimo notebooks can be deployed as a web app or dashboard using Pyodide.
Course Spotlight: Navigating Namespaces and Scope in Python
In this course, you’ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope.
Topics:
- 00:00:00 – Introduction
- 00:02:06 – Akshay’s background and studies
- 00:04:14 – Work at Google and PhD program
- 00:06:29 – Sharing notebooks
- 00:08:18 – Starting work on marimo 2 years ago
- 00:12:48 – Avoiding notebook issues and building a DAG
- 00:18:39 – The difference of reactivity
- 00:20:39 – What is a marimo notebook?
- 00:23:39 – Video Course Spotlight
- 00:24:50 – Reproducibility and managing package requirements
- 00:27:49 – Using decorators for cells
- 00:30:23 – Writing a design document before any coding
- 00:34:08 – Interactivity and UI widgets
- 00:38:20 – Design decisions and built-in widgets
- 00:42:05 – Creating a deployable web application
- 00:44:34 – Exploring examples and tutorials
- 00:46:13 – Supporting DataFrame libraries with narwhals
- 00:48:00 – Migrating from a Jupyter notebook
- 00:52:02 – Working with cells and not running code
- 00:54:30 – A couple favorite tutorials
- 00:56:17 – What are you excited about in the world of Python?
- 00:57:39 – What do you want to learn next?
- 00:59:34 – How can people follow the project and yourself?
- 01:00:12 – Thanks and goodbye
Show Links:
- marimo - a next-generation Python notebook
- marimo: an open-source reactive notebook for Python - Akshay Agrawal (Nbpy2024) - YouTube
- TensorFlow
- Made with marimo - marimo
- FAQ - marimo
- Pluto.jl — interactive Julia programming environment
- Observable: Build expressive charts and dashboards with code
- We Downloaded 10,000,000 Jupyter Notebooks From Github – This Is What We Learned - The Datalore Blog
- A Large-scale Study about Quality and Reproducibility of Jupyter Notebooks
- Lessons learned reinventing the Python notebook - marimo
- Episode #226: PySheets: Spreadsheets in the Browser Using PyScript
- PEP 723 – Inline script metadata
- Inline script metadata - Python Packaging User Guide
- Serializing package requirements in marimo notebooks - marimo
- uv: Unified Python packaging
- marimo Newsletter 7 - Jupyter to marimo
- Custom UI elements - marimo
- anywidget - anywidget
- Interactive elements - marimo
- Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries
- Calmcode - marimo: Introduction
- Join the marimo Discord
- marimo newsletter
- marimo on Twitter
- marimo on LinkedIn
- Akshay Agrawal’s website
- Aksahy on Twitter
Level up your Python skills with our expert-led courses:
264 פרקים
כל הפרקים
×
1 Exploring Mixin Classes in Python 50:15

1 Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python 1:11:20

1 Selecting Inheritance or Composition in Python 46:02

1 Harnessing the Power of Python Polars 1:14:59

1 Design Patterns That Don't Translate to Python 49:12

1 Supporting the Python Package Index 49:49

1 Comparing Real-World Python Performance Against Big O 45:01

1 Solving Problems and Saving Time in Chemistry With Python 1:13:10

1 Structuring Python Scripts & Exciting Non-LLM Software Trends 54:07

1 Scaling Python Web Applications With Kubernetes and Karpenter 1:04:47

1 Starting With marimo Notebooks & Python App Config Management 51:41

1 Rodrigo Girão Serrão: Python Training, itertools, and Idioms 1:02:49

1 Python Thread Safety & Managing Projects With uv 34:48

1 DjangoCon Europe 2025: Live Recording From Dublin 57:19

1 Going Beyond requirements.txt With pylock.toml and PEP 751 1:31:46
ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.