🤖 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 run world1.0
For guided setup that checks the package version, helps create or choose a project, and opens it in VS Code, run this from your Computer Science folder:
python -m robo start
Teachers can also share the standalone pio-robo.py bootstrap script; it
provides the same launcher and installs the package if needed. See
the student launcher guide for details.
Student solution files live in:
exercises/
world1/
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.8.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.8.0.tar.gz | 55.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pio_robo-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 137.7 kB
Release files / pio_robo-0.8.0.tar.gz
| Download URL | pio_robo-0.8.0.tar.gz |
|---|---|
| Size | 55.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51e6f95e8ae689c7403887b63e966e45e26e18eb85b8eb29e956295fb8dca614
|
|
BLAKE2b-256 checksum How to use checksums |
0d0a719c17880a140b9dcafe3db75c2d058b251c94810b537bb53e155d9f18a0
|
| 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.8.0-py3-none-any.whl
| Download URL | pio_robo-0.8.0-py3-none-any.whl |
|---|---|
| Size | 82.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b92add1a9f1b70528fbe0f54a38f9f211088960e8c97e5ce6dc9eeb9af2a22a8
|
|
BLAKE2b-256 checksum How to use checksums |
6f3e47271e24f54d9d74f5dcbf773080619eda4f93d0fd51343817333e24352d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|