Skip to content

feat(python): add Python Tasks TUI and ROS 2 quickstarts - #303

Closed
Steven Turner (steveturner) wants to merge 2 commits into
mainfrom
sturner/python-quickstarts
Closed

feat(python): add Python Tasks TUI and ROS 2 quickstarts#303
Steven Turner (steveturner) wants to merge 2 commits into
mainfrom
sturner/python-quickstarts

Conversation

@steveturner

Copy link
Copy Markdown

Overview

Two Python SDK quickstarts:

  • python-tui — the canonical cross-SDK "Tasks" console app (cloud + offline),
    matching go-tui / rust-tui / javascript-tui.
  • python-ros2 — three canonical ROS 2 demos bridged through Ditto, showing
    Ditto as a shared-state layer instead of DDS pub/sub:
    • talker/listener across separate ROS graphs joined only by Ditto;
    • teleop cmd_vel command/control over the mesh;
    • a fleet sharing one CRDT world model via a Ditto collection.

Both run with no ROS 2 install via an in-process rclpy shim (--sim); the
ROS 2 demos have a real-ROS 2 Docker path. just python-tui / just python-ros2 <demo> wire them in.

Testing

ditto-ros2 all --sim runs all three demos end-to-end; the smoke tests
(python-ros2/tests) assert each one actually synced via Ditto (3 passed with an
offline token). The Tasks app follows the shared quickstart schema.

Linked issues

Companion to the Python SDK work in getditto/ditto#24476.

AI assistance

AI-assisted (Claude Code), human-supervised. Examples + bridge were AI-written
and verified running in --sim; a human directed and reviewed. python-tui came
from the same effort — please give it a quick review before marking ready.

Three canonical ROS 2 demos bridged through Ditto — talker/listener across
separate ROS graphs, teleop cmd_vel command/control, and a fleet sharing one
CRDT-merged world model via a Ditto collection instead of DDS pub/sub. Runs with
no ROS 2 install via an in-process rclpy shim (--sim); real-ROS 2 path in docker/.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants