Artwork

Real Python에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Real Python 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.
Player FM -팟 캐스트 앱
Player FM 앱으로 오프라인으로 전환하세요!

marimo: Reactive Notebooks and Deployable Web Apps in Python

1:00:58
 
공유
 

Manage episode 452616859 series 2637014
Real Python에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Real Python 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

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:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

  continue reading

264 에피소드

Artwork
icon공유
 
Manage episode 452616859 series 2637014
Real Python에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Real Python 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

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:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

  continue reading

264 에피소드

Minden epizód

×
 
Loading …

플레이어 FM에 오신것을 환영합니다!

플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.

 

빠른 참조 가이드

탐색하는 동안 이 프로그램을 들어보세요.
재생