Streamlit-Lite = In-browser Streamlit
Run an interactive Streamlit app entirely on the visitor's device, powered by Pyodide and WebAssembly.
Streamlit turns a Python script into a web app
Behind the scenes, Streamlit starts a Python server, serves the frontend SPA, and maintains continuous network communication between them to power interactivity.
Stlite moves the Python server into the browser
Stlite replaces native CPython with Pyodide, a WebAssembly build of CPython, so the Streamlit server can run inside the browser while its familiar Python programming model remains intact.

Nearly the same Streamlit stack.
The app and Streamlit stay; the supporting layers adapt.Standard Streamlit
Stlite
Choose where Python runs
Target a browser SPA, desktop package, or experimental edge worker.
Browser SPA
Python runs on each visitor's device.
Runtime: each visitor's browser
Desktop
Package the browser runtime as an installable app.
@stlite/desktopRuntime: the user's computer
Cloudflare Workers
ExperimentalJust as V8 brought browser-born JavaScript to the server, Cloudflare Workers bring Stlite’s browser-native stack full circle, running it server-side at the edge.
@stlite/cloudflareRuntime: Cloudflare's edge
When browser-run Stlite makes sense
Use it when running Python on the visitor's device is part of the solution.
- Private data tools
- Process selected files locally instead of sending them to an application server.
- Offline apps
- Keep working after the runtime, packages, and app resources have loaded.
- Scale with visitors
- Serve static files while each visitor supplies the Python compute.
- New delivery formats
- Place the same Streamlit experience in a web page, React app, or Electron shell.