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 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

  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.8.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.8.0
File Size Uploaded
pio_robo-0.8.0.tar.gz 55.2 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

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