Skip to main content

🤖 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

  1. Create or edit code.
  2. Run the test suite.
  3. Check that student worlds still run.
  4. 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)

Source distribution for pio-robo 0.5.0
File Size Uploaded
pio_robo-0.5.0.tar.gz 28.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pio-robo 0.5.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page