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

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.6.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.6.0
File Size Uploaded
pio_robo-0.6.0.tar.gz 49.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pio-robo 0.6.0
File Interpreter ABI Platform
pio_robo-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 124.9 kB

Release files / pio_robo-0.6.0.tar.gz

Download URL pio_robo-0.6.0.tar.gz
Size 49.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fe3ee9d44059df3e618ef59f4ae608573cdf687de4fc09a79d05cfc23ab4c64e
BLAKE2b-256 checksum
How to use checksums
d6a1fec4a4335016798be27fb844c2f7c70151765a26151c217447ca5bf1d611
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.6.0-py3-none-any.whl

Download URL pio_robo-0.6.0-py3-none-any.whl
Size 75.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56b75d331a86ba80c2f81f23e6981a81690597d8242961614d4457757e8bf694
BLAKE2b-256 checksum
How to use checksums
25daacad7ebd394bcfa32d31fdf2278a0930a03fa9d0647d7213519f0414a71f
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

This release

0.6.0 This release

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