🤖 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.1
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.1.tar.gz | 28.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pio_robo-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.8 kB
Release files / pio_robo-0.5.1.tar.gz
| Download URL | pio_robo-0.5.1.tar.gz |
|---|---|
| Size | 28.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db68e9c7213c91cd1de4b8f0a8bb963339a0db3e2790837904545c5f26cf190a
|
|
BLAKE2b-256 checksum How to use checksums |
ed578bf97f0b9482d55454ae99ba4e76f83c115ec6512180f7a96eef96c8e8b6
|
| 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.1-py3-none-any.whl
| Download URL | pio_robo-0.5.1-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
512b3687c334d263e230eb2193daa4bf08d13f95d065d8e8eac3b490efc79005
|
|
BLAKE2b-256 checksum How to use checksums |
1b06caa50104c80ea90d2dc363b6b37d9016fcf97dd33fc23097092d759350d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|