examples(teleop_session_manager): package under isaacteleop_examples - #1036
examples(teleop_session_manager): package under isaacteleop_examples#1036jiwenc-nv wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (12)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughThe teleoperation examples now use a package-based installation layout with Hatchling metadata and updated documentation links. The simple teleoperation helper provides state reporting, observation composition, and frame output. Runtime examples resolve plugin paths from repository or installation layouts. A new message-channel example manages a CloudXR-backed Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The examples are reorganized under the intended package layout and their documentation and import paths are updated; no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant message_channel_example.py
participant TeleopSession
participant CloudXR
message_channel_example.py->>TeleopSession: configure message channel and retargeting nodes
TeleopSession->>CloudXR: launch CloudXR-backed session
CloudXR-->>TeleopSession: deliver inbound messages
TeleopSession-->>message_channel_example.py: provide decoded messages
message_channel_example.py->>TeleopSession: send timestamped messages while connected
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 36.36% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 6 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
f55e293 to
9ed441b
Compare
9ed441b to
c94f360
Compare
c94f360 to
f9ff279
Compare
f9ff279 to
86936bb
Compare
86936bb to
3a8102e
Compare
ivany-nv
left a comment
There was a problem hiding this comment.
Read the diff line by line: pure move plus the teleop_controls_simple_helper relative-import fix, no logic change.
Verified the install tree lands correctly at the stack tip (pyproject.toml at the example root, no doubled python/python/, no isaacteleop_examples/__init__.py), and python -m isaacteleop_examples.teleop_session_manager.teleop_session_example --help runs from install/examples/teleop_session_manager/.
3a8102e to
ccf79fe
Compare
ccf79fe to
1b3cc90
Compare
1b3cc90 to
a84b51a
Compare
teleop_controls_simple_example.py imported its helper as a top-level module, which resolved only because the invoked script's own directory landed on sys.path -- so it broke under `python -m`, broke when copied into another project, and claimed the bare name `teleop_controls_simple_helper`. Move the tree to the layout in examples/README.md. The four demos here are co-equal, so there is no __main__.py to pick: each is its own submodule and the README lists them. Inventing a default would have made one of the four look privileged. The README moves up beside the pyproject and now documents all four, rather than only teleop_session_example. Part of #985. Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
a84b51a to
450d0c1
Compare
Description
Part of #985. Stacked on #1034.
teleop_controls_simple_example.pyimported its helper as a top-level module, which resolved only because the invoked script's own directory landed onsys.path. It broke underpython -m, broke when copied into another project, and claimed the bare nameteleop_controls_simple_helper. This moves the tree to the layout inexamples/README.md.The four demos here are co-equal, so there is no
__main__.py: each is its own submodule and the README lists them. Picking one as the default would have made it look privileged over the other three.The README moves up beside the pyproject and now documents all four — it previously described only
teleop_session_example, and its run instructions pointed into the install tree.Type of change
Testing
x86_64/ Ubuntu, Python 3.12. Wheel shipsisaacteleop_examples/teleop_session_manager/with no namespace__init__.py.uv pip install -e ./examples/teleop_session_managerinto a clean venv, then imported all four demo modules with the CWD outside the repo;import teleop_controls_simple_helperfails, so the flat name is gone rather than relocated.pre-commitclean on the changed files.Not covered: a live run — that needs a headset.
Checklist
SKIP=check-copyright-year pre-commit run --all-filesgit commit -s) per the DCONo tests: this is a move, and this example has no automated coverage. Verification is the wheel-layout and import checks above plus a human run.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation