PyBlocks
Scratch-style visual programming IDE with a real Python engine.
Drag-and-drop blocks that compile to real Python and run instantly in the browser — powered by Pyodide (CPython in WebAssembly). No server, no accounts, no install.
Live: pyblocks-drab.vercel.app
Features
- Block-to-Python: snap blocks together, see the equivalent Python code update live
- Real execution: runs on Pyodide (full CPython 3.x compiled to WASM) — not a simulator
- Save / restore: workspace persists to localStorage, survives page refresh
- Clay theme: warm paper-white palette, rounded blocks, friendly fonts (Fredoka + Baloo 2)
- Zero backend: 100 % client-side — works offline once loaded
Blocks
| Category | Example blocks |
|---|---|
| Events | when key pressed |
| Control | repeat, forever, if / else |
| Looks | say Hello |
| Sensing | ask |
| Operators | +, -, *, /, random |
| Variables | set, change, show variable |
| Input | Input block (connects to a text field) |
Tech stack
- Vite (build tool)
- Pyodide (CPython in WebAssembly)
- Vanilla JS (no framework)
Run locally
npm install
npm run dev
# open http://localhost:5173
Build
npm run build
# output in dist/
License
MIT
Built With
- css
- html
- javascript
- powershell
Log in or sign up for Devpost to join the conversation.