Hi @adafruit team,
Proposing a URML v0.1 capability-manifest mapping for CircuitPython over adafruit/CircuitPython. URML (Universal Robot Language, Apache-2.0) is an open spec for substrate-neutral robot intent.
CircuitPython runs on 400+ board variants spanning RP2040, SAMD21/51, nRF52, STM32, and ESP32. URML's microbit_edu manifest pattern (RFC-0018) implicitly covers CircuitPython-class boards, but the Python-on-MCU substrate is its own layer URML's manifest should declare explicitly. The natural URML integration shape is host-side: a Mu / Thonny / Code-with-Mu IDE-side bridge that emits validated URML primitives, with CircuitPython on the device dispatching them.
This is proposal-only, posted as part of URML's Move #13 outreach (15 engageable RFCs in this wave).
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0174-adafruit-circuitpython-outreach.md
Questions worth adafruit/CircuitPython maintainer input on:
- Python-on-MCU substrate manifest fields. Spec RFC queued (shared with MicroPython-on-MCU declarations). Manifest field expectations from the CircuitPython perspective?
- 400+ board-variant identifier scheme. Should URML's manifest use CircuitPython's existing board-id convention, or a separate URML identifier mapped to it?
- Drag-drop deploy-model declaration. Useful manifest field for educational deployments?
- Library-ecosystem declaration. Should URML's manifest declare which Adafruit_CircuitPython_* libraries are loaded?
- Adapter home. URML repo (
reference/edu-runtime/CircuitPythonAdapter), Adafruit-maintained adafruit/circuitpython-urml-bridge, or both?
- Conformance listing. Would Adafruit consider a README link to URML's compatible-runtimes registry once a working adapter ships?
- Anything else.
Ido Yahalomi (URML maintainer, urml.dev, greenvh@gmail.com)
AI-assisted prose, maintainer-reviewed before posting (see VIBE.md). Human-only correspondence available on request.
Hi @adafruit team,
Proposing a URML v0.1 capability-manifest mapping for CircuitPython over
adafruit/CircuitPython. URML (Universal Robot Language, Apache-2.0) is an open spec for substrate-neutral robot intent.CircuitPython runs on 400+ board variants spanning RP2040, SAMD21/51, nRF52, STM32, and ESP32. URML's
microbit_edumanifest pattern (RFC-0018) implicitly covers CircuitPython-class boards, but the Python-on-MCU substrate is its own layer URML's manifest should declare explicitly. The natural URML integration shape is host-side: a Mu / Thonny / Code-with-Mu IDE-side bridge that emits validated URML primitives, with CircuitPython on the device dispatching them.This is proposal-only, posted as part of URML's Move #13 outreach (15 engageable RFCs in this wave).
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0174-adafruit-circuitpython-outreach.md
Questions worth
adafruit/CircuitPythonmaintainer input on:reference/edu-runtime/CircuitPythonAdapter), Adafruit-maintainedadafruit/circuitpython-urml-bridge, or both?Ido Yahalomi (URML maintainer, urml.dev, greenvh@gmail.com)
AI-assisted prose, maintainer-reviewed before posting (see VIBE.md). Human-only correspondence available on request.