Gradio has quietly shipped something genuinely useful for ML developers who want to demo models without babysitting a server. The new @gradio/lite library bundles Pyodide — a WebAssembly-based Python runtime — so your standard Gradio apps execute entirely client-side. No backend, no Docker container, no cold starts. Just an HTML file with a few tags.

The setup is refreshingly minimal. You pull in the JavaScript and CSS from a CDN, wrap your Python code in tags, and that’s it. The browser handles the rest. Gradio’s own example shows a sentiment analysis pipeline running through transformers_js_py, with the model loading directly in the page. Hugging Face is hosting a demo as a static Space, which means the whole thing runs for free with zero compute costs on their side.

There are some real wrinkles worth knowing about. Multi-file apps require tags with an entrypoint attribute, and custom dependencies go inside tags where micropip installs them into the browser runtime. Debugging also gets a bit unusual — Python errors don’t surface in the UI. You have to open the browser inspector to see what went wrong.

The tradeoff is load time. Pyodide has to spin up before anything renders, so first paint isn’t instant. That’s a familiar cost for anyone who’s worked with PyScript or similar WebAssembly Python projects. But for sharing demos, teaching, or building lightweight internal tools, eliminating the server is a real shift. Gradio has been pushing hard on deployment friction — Spaces, hosted APIs, and now this. The direction is clear: they want the gap between writing a Python function and sharing an interactive app to be as close to zero as possible.