Externum โ Browser Playground
How It Worksโ
The Externum playground executes entirely in your browser โ no server, no API keys, no network requests.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser โ
โ โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Externum โ โ Pyodide โ โ
โ โ Playground โโโโโบโ (Python โ WASM) โ โ
โ โ (React UI) โ โ โ โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โผ โผ โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Code Editor โ โ Externum Transpiler โ โ
โ โ (textarea) โ โ (runs in WASM) โ โ
โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Output Panel โ โ
โ โ (stdout / stderr / errors) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Tech Stackโ
- Pyodide โ Python runtime compiled to WebAssembly
- Externum transpiler โ the Python-based transpiler runs inside Pyodide
- React โ UI components (editor, output, controls)
- No server โ everything runs client-side
Usageโ
- Write Externum code in the editor
- Click โถ Run
- The transpiler converts to Python
- Pyodide executes the Python output
- stdout/stderr displayed in the output panel
Limitationsโ
- Shell integration (
`cmd`,%% ... %%) โ not available in browser - File I/O โ browser sandboxed, no real filesystem
- Binary compilation โ not available (Python transpilation only)
- Module imports โ limited to built-in modules
Running Locallyโ
# The playground is part of the Docs site
cd docs-site
npm install
npm run start
# Navigate to /externum/playground
Why WebAssembly?โ
Pyodide brings the full Python runtime to the browser via WebAssembly. This means:
- Zero server costs โ no backend to maintain
- Instant execution โ no network latency
- Offline capable โ works without internet (after initial load)
- Privacy โ code never leaves the user's browser