HTML
Drop editable Python cells into any plain HTML page — from a static tutorial to a full course site.

Live, serverless computing
Free, open-source packages that put editable, runnable Python cells in your HTML, React, Vue or MyST documents.
The idea
Most technical content is static — the reader has to leave the page to try the code. Pyodide Editable changes that by running real Python in the browser, so a tutorial, a course or a documentation page becomes something you can experiment with on the spot.
It is the same runtime that powers Root's interactive lessons, released as free, open-source packages for anyone to use.

One core, four integrations
Drop editable Python cells into any plain HTML page — from a static tutorial to a full course site.
A clean <PyCell> component for React apps, dashboards and documentation sites.
The same component, native to Vue — reactive, themeable and at home in any Vue project.
A {pyodide} directive for MyST and JupyterBook — your documentation becomes something readers can run.
What it does
Actual Python via WebAssembly — not a simulation. Readers write and run genuine code without leaving your document.
Run, run all, clear and restart on every cell, with Shift+Enter to execute. It behaves the way your readers already expect.
A single shared core with thin HTML, React, Vue and MyST adapters — identical everywhere your work lives.
Everything executes in the reader's browser. No backend to host, no kernel to maintain, no cold starts to apologize for.
numpy, pandas and matplotlib come preloaded, and figures render right in the page. Load any package per cell.
MIT-licensed and published to npm — the same runtime that powers Root's lessons, released for everyone.
Try it live
The full demo is live — HTML, React, Vue and MyST integrations running on one page, with nothing installed and nothing sent to a server. Open it and press Run.
Free, MIT-licensed and on npm — the same runtime that powers Root's interactive lessons.