Running Python ASGI apps in the browser via Pyodide + a service worker
Simon Willison рассказывает о Datasette Lite — версии Datasette, которая целиком работает в браузере через Pyodide и WebAssembly. В исходной реализации четырёхлетней давности он использовал Web Workers, перехватывающие навигацию, но при этом JavaScript внутри тегов <script> не выполнялся, что ломало часть функций Datasette и множество плагинов. Утром 30 мая 2026 года автор поручил Claude Opus 4.8 (в Claude Code for web) разобраться, как запускать Python ASGI-приложения в Pyodide с помощью Service Workers, и это сработало. В качестве примеров приведены базовое ASGI-демо и демо с Datasette 1.0a31. Автор ещё разбирается в деталях работы, но планирует затем обновить и сам Datasette Lite.
30th May 2026
30 мая 2026
Datasette Lite is my version of Datasette that runs entirely in the browser using Pyodide in WebAssembly.
Datasette Lite — это моя версия Datasette, которая работает целиком в браузере с использованием Pyodide на WebAssembly.
When I first built it four years ago I used Web Workers and code that intercepts navigation operations and fetches the generated HTML by running the Python app.
Когда я впервые создал её четыре года назад, я использовал Web Workers и код, который перехватывает операции навигации и получает сгенерированный HTML, запуская Python-приложение.
This worked, but had the disadvantage that any JavaScript in <script> tags would not be executed - breaking some Datasette functionality and a whole lot of Datasette plugins.
Это работало, но имело недостаток: любой JavaScript в тегах не выполнялся, что ломало часть функциональности Datasette и огромное число плагинов Datasette.
This morning I set Claude Opus 4.8 the task (in Claude Code for web) of figuring out how to run Python ASGI apps in Pyodide using Service Workers instead, and it seems to work! Here's a basic ASGI FastCGI demo and here's a demo that runs Datasette 1.0a31.
Сегодня утром я поставил Claude Opus 4.8 задачу (в Claude Code for web) разобраться, как вместо этого запускать Python ASGI-приложения в Pyodide с помощью Service Workers, и, похоже, это работает! Вот базовое демо ASGI FastCGI, а вот демо, в котором работает Datasette 1.0a31.
I'm still getting my head around exactly how it works, but once I've done that I plan to upgrade Datasette Lite itself.
Я всё ещё разбираюсь, как именно это работает, но как только разберусь, планирую обновить и сам Datasette Lite.
Recent articles
Недавние статьи
Claude Opus 4.8: «скромное, но ощутимое улучшение» — 28 мая 2026 Я думаю, что Anthropic и OpenAI нашли product-market fit — 27 мая 2026 Заметки об энциклике папы Льва XIV об ИИ — 25 мая 2026
This is a beat by Simon Willison, posted on 30th May 2026.
Это заметка от Simon Willison, опубликованная 30 мая 2026.
Monthly briefing
Ежемесячный дайджест
Sponsor me for $10/month and get a curated email digest of the month's most important LLM developments.
Поддержите меня на $10/месяц и получайте подобранную email-подборку самых важных событий в мире LLM за месяц.
Pay me to send you less!
Платите мне за то, чтобы я присылал вам меньше!
Раскрытие информации Колофон © 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026