Skip to content

examples(lerobot): package under isaacteleop_examples - #1043

Open
jiwenc-nv wants to merge 1 commit into
jiwenc-nv/examples-oglo-tactilefrom
jiwenc-nv/examples-lerobot
Open

examples(lerobot): package under isaacteleop_examples#1043
jiwenc-nv wants to merge 1 commit into
jiwenc-nv/examples-oglo-tactilefrom
jiwenc-nv/examples-lerobot

Conversation

@jiwenc-nv

@jiwenc-nv jiwenc-nv commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Description

Part of #985. Stacked on #1042.

No flat sibling imports here — the three scripts are independent — but the example had no pyproject.toml, so its dependencies amounted to a README line saying pip install lerobot with nothing declaring the rest. This moves it to the layout in examples/README.md so it installs and runs like every other example.

uv pip install -e ./examples/lerobot      # add [viz] for the rerun viewer
python -m isaacteleop_examples.lerobot.record

The dist deliberately does not claim a bare top-level lerobot — it would land in site-packages beside the real one. rerun-sdk is a viz extra, since only visualize needs it.

One inconsistency fixed in passing. record.py wrote its dataset next to __file__ while visualize.py and analyze.py read local_datasets/ from the working directory — the three only agreed when run from the example directory. record.py now uses the working directory too, which is also the only choice that survives installation.

The README also notes that the SO-101 example the docs reference lives in the LeRobot repo, not here — an easy thing to go looking for in the wrong place.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Testing

x86_64 / Ubuntu, Python 3.12. Wheel ships the three modules under isaacteleop_examples/lerobot/ with no namespace __init__.py. pre-commit clean.

Not covered: recording needs a headset and a lerobot install. No references to this example exist anywhere else in the repo, so the blast radius is the example itself.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the linter and formatter with SKIP=check-copyright-year pre-commit run --all-files
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix/feature works (or explained why not)
  • I have signed off all my commits (git commit -s) per the DCO

No tests: this is a move, and this example has no automated coverage.

@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 490b925f-d093-4fa7-bcf4-99bcc1144a03

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from 45a4b4c to fcac985 Compare August 28, 2026 05:01
@jiwenc-nv
jiwenc-nv changed the base branch from jiwenc-nv/examples-deviceio-live-view to jiwenc-nv/examples-oglo-tactile August 28, 2026 05:01
@jiwenc-nv
jiwenc-nv requested a review from ivany-nv August 28, 2026 05:11
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from fcac985 to ec63e91 Compare August 28, 2026 05:23
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from ec63e91 to 45e4ec3 Compare August 28, 2026 05:32
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from 45e4ec3 to 6098702 Compare August 28, 2026 05:44
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from 6098702 to fba88c9 Compare August 28, 2026 05:49
@ivany-nv

Copy link
Copy Markdown
Contributor

Same as #1038: Path(__file__).parent -> Path.cwd() / "local_datasets/..." is right for an installed copy, but examples/lerobot/.gitignore: local_datasets/ only covers the example directory, and the README says to run from the repo root:

$ git check-ignore -v local_datasets/x
(not ignored)

Needs a root .gitignore entry.

@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from fba88c9 to 875ea87 Compare August 28, 2026 14:46
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from 875ea87 to b9dffa7 Compare August 28, 2026 16:11
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from b9dffa7 to ee68ef3 Compare August 28, 2026 23:49
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from ee68ef3 to 0a3f91a Compare August 29, 2026 00:21
No flat sibling imports here -- the three scripts are independent -- but the
example had no pyproject.toml, so its dependencies lived in a README line
telling you to `pip install lerobot` and nothing declared the rest. Move it to
the layout in examples/README.md so it installs and runs like every other
example.

The dist deliberately does not claim a bare top-level `lerobot`: it would sit
in site-packages beside the real one.

record.py wrote its dataset next to __file__ while visualize.py and analyze.py
read `local_datasets/` from the working directory, so the three only agreed
when run from the example directory. record.py now uses the working directory
too, which is also the only choice that survives being installed.

Part of #985.

Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
@jiwenc-nv
jiwenc-nv force-pushed the jiwenc-nv/examples-lerobot branch from 0a3f91a to 77f8958 Compare August 29, 2026 01:19
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