🤖 Robo – Classroom Programming Environment
A simple Python-based learning environment for teaching programming functions-first through grid-based robot challenges.
Setup
Install from PyPI
pip install pio-robo
Development install
git clone <repo>
cd robo
pip install -e .
Run a world
From a student project folder:
python -m robo world1.0
Student solution files live in:
exercises/
world1_0.py
Check progress
python -m robo summary
summary also shows the local submission status. World results are recorded
in the project's hidden .robo/ folder.
Before creating projects, each pupil registers the pseudonymous ID supplied by their teacher once:
python -m robo register PUPIL-1042
The ID is stored in the user's local Robo configuration and is reused for future projects:
python -m robo new loops-practice
python -m robo register --show
Use a school-controlled ID, not a pupil's name or email address. Robo does
not ask pupils for names or email addresses. Registration refuses to replace
an existing ID unless --force is used. The new command also accepts
--student-id as an explicit override for testing or administration.
To submit recorded results, use:
python -m robo submit
The package includes the school's submission endpoint. Teachers can override
it for testing by setting the ROBO_SUBMIT_ENDPOINT environment variable.
Results remain local and are not lost when submission is unavailable.
Run tests
From the project root:
python -m pytest
Run tests when you:
- add new worlds
- change commands
- change runner/display behaviour
Contribute
- Create or edit code.
- Run the test suite.
- Check that student worlds still run.
- Open a pull request.
See the docs/ folder for pupil-facing command guides and teacher/developer notes.
Metadata
Release files for pio-robo 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pio_robo-0.5.0.tar.gz | 28.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pio_robo-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.7 kB
Release files / pio_robo-0.5.0.tar.gz
| Download URL | pio_robo-0.5.0.tar.gz |
|---|---|
| Size | 28.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64cbdbd117813c1a09309d6790e675fec3d0154bb79f467d3741d4dd866ea03c
|
|
BLAKE2b-256 checksum How to use checksums |
8d4634c34d7852bb00d49d8065feab0d9f8050e49410c62626a2f17d309282ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / pio_robo-0.5.0-py3-none-any.whl
| Download URL | pio_robo-0.5.0-py3-none-any.whl |
|---|---|
| Size | 35.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f47ef784a0414417be881208e0d738d357ec81d6d294b88b35363f3e02783004
|
|
BLAKE2b-256 checksum How to use checksums |
91b272a3936f98c4102c9f100b0e89050baf3933fce6530d2d708bb0e844cf9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|