Running Python ASGI apps in the browser via Pyodide + a service worker

Disclosure: Some links in this article are affiliate links. AI Maestro may earn a commission if you make a purchase, at no…

By AI Maestro May 30, 2026 1 min read
Running Python ASGI apps in the browser via Pyodide + a service worker

Research: Running Python ASGI apps in the browser via Pyodide + a service worker

Datasette Lite is my version of Datasette that runs entirely in the browser using Pyodide in 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.

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.

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.

I’m still getting my head around exactly how it works, but once I’ve done that I plan to upgrade Datasette Lite itself.

Tags: javascript, python, datasette, asgi, service-workers, pyodide, datasette-lite, claude-code

Stay ahead of AI. Get the most important stories delivered to your inbox — no spam, no noise.

Name
Scroll to Top