Skip to content

Developer experience: editable-install story for pure-Python subpackages (+ aarch64 'retargeters' extra note) #735

Description

@johnnynunez

Context

The isaacteleop wheel ships compiled modules (oxr, schema, deviceio), so pip install -e does not work for library development. Iterating on pure-Python subpackages (e.g., retargeters/) currently requires an undocumented workaround.

What we do today

Symlink the pure-Python package from a source checkout into site-packages:

rm -rf $VENV/lib/python3.12/site-packages/isaacteleop/retargeters
ln -s ~/src/IsaacTeleop/src/retargeters $VENV/lib/python3.12/site-packages/isaacteleop/retargeters

Branch changes then run live against the installed wheel. It works (we developed and tested PR #727 this way, 99 tests against the real wheel) — but it's fragile, invisible to pip, and tribal knowledge.

Proposal

Any of:

  1. Document the symlink pattern in a CONTRIBUTING/dev-setup section (cheapest),
  2. Split pure-Python subpackages so they can be installed editable alongside the binary wheel,
  3. Provide a dev-install helper script that sets up the symlinks and verifies import resolution.

Related packaging note

The retargeters extra does not resolve on aarch64; retargeters-lite is the de-facto supported path there. Worth stating in the install docs — aarch64 is a first-class robotics target (Jetson/DGX-class devices).


Part of the field-integration feedback series (SO-101 + reBot DevArm, June 29 – July 6). Priority suggestion: P2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    TBD

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions