Pyplet¶
Python everywhere¶
Serve interactive web applications entirely in Python. Pyplet couples a Tornado backend with a Pyodide-powered (via PyScript) client runtime, so you can write browser code, DOM manipulation, plotting, and real‑time messaging without leaving Python.
Resources¶

Key capabilities:
- Pure Python on both sides: Tornado on the server, Pyodide in the browser
- Simple micro app structure and packaging model
- WebSockets for real-time, async interactions
- Works with scientific Python packages in the browser (e.g., NumPy, Matplotlib)
Get started in minutes:
# Create a virtual environment (Python 3.12+)
uv venv --python 3.12
source .venv/bin/activate
# Install Pyplet
pip install pyplet
# Create a new micro app
pyplet init my_app
# Run the server and serve apps under ./apps
pyplet start
Then open http://127.0.0.1:8080 to browse available apps.
Next steps:
- Follow Getting Started to configure assets and explore the example apps
- See Examples to clone the examples repo and tour the available micro-apps
- See Micro Apps for app structure and packaging details
- Try the Tutorials (Frontend-only, WebSocket) to build your first apps end to end
- Browse the API Reference for the DOM DSL, client bootstrap, and server internals