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

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.1
File Size Uploaded
pio_robo-0.5.1.tar.gz 28.7 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

This release

0.5.1 This release

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