~/talk

How to port a Python kernel to Pyodide for a blazingly fast in-browser coding...

Talkat PyCon US 2026 · 2026-05-13..05-19· [python, web-platform]
slides:none on file

Claim: a Python kernel and notebook run entirely in the browser by porting to Pyodide and keeping a single codebase with only ~5% runtime-specific code. Kernel semantics move from processes/threads to an async event loop in a web worker; interrupts use a shared buffer via set interrupt buffer; installs use awaitable micropip.install. The deployed marimo playground serves ~50,000 Pyodide kernels/week (~2.5M yearly). Workarounds include Pyodide HTTP and Polars patches, a custom Pyodide build, custom lockfile, background dependency loading, and multiple web workers.

AI-written summary · about

  1. 0:00Pyodide and Marimo intro
  2. 1:48Python in the browser
  3. 2:36Marimo demo in Pyodide
  4. 4:21Pyodide & WebAssembly terms
  5. 5:22Pyodide history
  6. 6:04Marimo’s Pyodide migration
  7. 7:47Kernel without processes
  8. 9:56Async event loop
  9. 10:59Fully async Pyodide
  10. 12:47Handling interrupts
  11. 14:11HTTP and package issues
  12. 15:14Native vs Pyodide Python
  13. 16:39Cross-runtime utilities
  14. 17:44Pyodide performance
  15. 20:55Migration takeaways
  16. 22:19Pyodide caveats
  17. 24:06Pyodide accessibility
  18. 25:12Q&A: Compatible packages
  19. 26:14Q&A: Python vs JavaScript
  20. 27:16Q&A: Signal handling
  21. 28:17Q&A: Private packages
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.