Backend runtime for Moldo — a visual educational programming language.
Project description
Moldo
Visual educational programming - block-based, Python-powered, extensible.
Moldo is the backend runtime for a visual block-based programming environment. Learners drag and connect blocks in the mflow-editor desktop app to build programs. The editor compiles the visual graph to a JSON program tree and sends it to this backend, which executes it and streams the output back.
The system is extensible through molds - self-contained .zip.mold packages that add new block types to the editor. The 7 built-in capabilities (variables, I/O, control, math, text, collections, functions) are themselves molds.
Installation
pip install moldo
moldo serve
Or from source:
git clone https://github.com/GracePeterMutiibwa/moldo
cd moldo
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
moldo serve
The backend runs at http://127.0.0.1:8000. Open mflow-editor and the green dot in the toolbar confirms the connection.
API
| Endpoint | Description |
|---|---|
GET /health |
Health check |
POST /run |
Execute a JSON program tree |
GET /molds |
List installed molds |
POST /molds/install |
Upload and install a .zip.mold |
DELETE /molds/{name} |
Uninstall a community mold |
Full API docs → docs/api.md or run mkdocs serve for the rendered site.
Molds
A mold adds new block types to the editor. Install any .zip.mold from the editor toolbar - no restart required.
To build your own mold:
- Download the mold-template from this repository
- Follow the mold developer guide
- Pack and attach to a GitHub Release
Documentation
pip install mkdocs-material
mkdocs serve
Then open http://127.0.0.1:8000 to browse the full documentation site.
License
MIT - see LICENSE
Author
Grace Peter Mutiibwa · gracepeter.clearnique.com · GitHub
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moldo-0.5.0.tar.gz.
File metadata
- Download URL: moldo-0.5.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f667c3ddb0a739a16ddb2c91049047ef0a3a1622a6233cedb3e6c4c8abb6d1d
|
|
| MD5 |
126edb5610a31235963fac0ac1974c59
|
|
| BLAKE2b-256 |
ee5449a20603f9cc2ebf74dd01cbd31b2a39f3ff1bba1e844b014e8e89eec6b5
|
File details
Details for the file moldo-0.5.0-py3-none-any.whl.
File metadata
- Download URL: moldo-0.5.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44bf1c697e07798c77ccc5ed3b1984cfd205879ace0c5b603993615374de6da2
|
|
| MD5 |
dbbf4095c1ac0c8bdafb79d33ece7abe
|
|
| BLAKE2b-256 |
648e3aa63e90b57e84ed99d4626cc990af569c2821962aae0e4e43bf22e4cf03
|