Datasette Lite can now run Python ASGI apps in the browser using a Service Worker instead of Web Workers, and it fixes a four-year-old limitation. The original 2022 implementation intercepted navigation and fetches but silently dropped all JavaScript in script tags, breaking Datasette plugins and core functionality.
Simon Willison tasked Claude Opus 4.8, running inside Claude Code for web, with solving the Service Worker approach. The result is two live demos: a basic ASGI proof-of-concept and a full Datasette 1.0a31 instance, both running entirely client-side via Pyodide in WebAssembly. The research pull request is public and shows the full working session.
The upgrade to Datasette Lite itself has not shipped yet. Willison says he is still working through how the Service Worker plumbing functions before applying it to the production build. That gap, between a working demo and a production deployment, is exactly what makes the research thread worth reading.
[READ ORIGINAL →]