fix(packaging): drop Newton/Warp backend to match Isaac-only re-scope (closes #89)#92
Conversation
…closes strands-labs#89) The docs, README, and umbrella roadmap (strands-labs#8) present strands-robots-sim as Isaac-Sim-only (Newton/Warp was dropped from strands-labs#8 and all Newton issues were closed), but the code and packaging still shipped a full Newton/Warp backend. This commits to Option A: make packaging + code match the Isaac-only docs/roadmap. Changes: - pyproject.toml: drop the `[newton]` extra and remove it from `[all]` (kept `[all]` as an alias of `[isaac]` so existing invocations work); remove the `newton`/`warp` `strands_robots.backends` entry points; drop the `newton`/`warp` keywords and the "Newton" mention from the description; collect only `strands_robots_sim/isaac/tests/` in the `hatch run test` script. - Delete the `strands_robots_sim/newton/` package (simulation stub + tests). - strands_robots_sim/__init__.py: drop the NewtonSimulation reference. - isaac/{loaders,procedural,config}.py: remove stale comments pointing at the deleted newton module. - isaac/tests/test_entrypoint.py: correct the `[isaac]` dep description (isaacsim/isaaclab/usd-core, not warp-lang). - docs/getting-started/installation.md: describe the actual `[isaac]` deps instead of claiming warp-lang is pulled in. - tests/README.md, examples/MIGRATION.md, examples/mujoco_gs/README.md, examples/libero/libero_backend_matrix.py: drop Newton rows/examples. - .github/workflows/test-lint.yml: drop the Newton CI comment. After this, pyproject, the package layout, README/docs, and strands-labs#8 all tell the same Isaac-only story; no "ships in docs but absent in packaging" (or vice-versa) gaps remain.
…p-isaac-only # Conflicts: # docs/getting-started/installation.md # strands_robots_sim/isaac/tests/test_entrypoint.py
|
Merged |
|
Heads-up: #89 was just closed by #94, which landed the same Option A direction this PR takes (delete Before recommending closure I diffed the two change sets and they cover the same surface (pyproject extras/entry-points/keywords/description, The one genuinely-distinct follow-up both PRs flagged as out of scope — the docs claiming an Suggest closing this as superseded by #94 unless there's a delta I missed; happy to be corrected if so. |
…p-isaac-only # Conflicts: # .github/workflows/test-lint.yml # docs/getting-started/installation.md # examples/MIGRATION.md # examples/libero/libero_backend_matrix.py # examples/mujoco_gs/README.md # pyproject.toml # strands_robots_sim/__init__.py # strands_robots_sim/isaac/config.py # strands_robots_sim/isaac/procedural.py
|
Merged |
|
Thanks for the careful diff — your read is correct and I confirmed it independently against current What I checked:
So there's no delta worth a forward-fix here. Agreed this is superseded by #94, with the one genuinely-distinct follow-up (docs claiming an |
|
Closing as superseded by #94, which landed the same Isaac-only re-scope (Newton/Warp removal, |
What
Commits the repo to Isaac-Sim-only by removing the Newton/Warp backend
from code + packaging, so they match the docs, README, and umbrella
roadmap (#8). This is Option A from #89 (the likely maintainer intent,
since #8 + the README/docs were deliberately re-scoped to Isaac-only and
all Newton issues — #18–#21, #34, #37–#41 — were closed).
Why
The docs/roadmap said Isaac-only, but the code and packaging still shipped a
full Newton/Warp backend: a reader following the docs would be surprised that
pip install 'strands-robots-sim[newton]'worked andcreate_simulation("newton")resolved. The two disagreed; this makes themagree.
Changes
Packaging (
pyproject.toml)[newton]extra (warp-lang/newton-physics).newtonfrom the[all]extra; kept[all]as an alias of[isaac]so existingpip install 'strands-robots-sim[all]'invocationskeep working.
newtonandwarpstrands_robots.backendsentry points.newton/warpfromkeywordsand the "Newton" mention from thepackage
description.hatch run testnow collects onlystrands_robots_sim/isaac/tests/.Package layout
strands_robots_sim/newton/(theNewtonSimulationstub +tests/).strands_robots_sim/__init__.py: dropped theNewtonSimulationmention.isaac/{loaders,procedural,config}.py: removed stale comments pointing atthe deleted
newtonmodule.Docs / examples (Newton mentions + a docs↔packaging gap)
isaac/tests/test_entrypoint.py+docs/getting-started/installation.md:corrected the
[isaac]dependency description — it pinsisaacsim/isaaclab/usd-core, notwarp-lang(the docspreviously claimed
warp-langwas pulled in, which was a docs-ships /packaging-absent gap).
tests/README.md,examples/MIGRATION.md,examples/mujoco_gs/README.md,examples/libero/libero_backend_matrix.py: dropped Newton rows / examples /driver references.
.github/workflows/test-lint.yml: dropped the Newton CI comment.Test surface
hatch run lint— passes (black / isort / flake8 acrossstrands_robots_sim+examples).hatch run test— 184 passed, 31 skipped (skips are GPU-gated Isaactests). No new failures introduced; the Newton stub-shape suite is removed
along with the package it pinned.
import strands_robots_simsmoke — OK.Acceptance criteria (from #89)
pyproject.toml(description, extras, entry points,hatchtestpaths), the
strands_robots_sim/package layout, the README/docs, and Umbrella: re-scope robots-sim as the heavy NVIDIA simulation backends for strands-robots #8all tell the same Isaac-only story about Newton/Warp scope.
(also fixed the
warp-lang-in-[isaac]doc claim that had no packagingbacking).
Out of scope (follow-ups)
isaac_simentry-point alias(
docs/api-reference.md,docs/architecture.md,docs/backends/isaac.md,docs/getting-started/installation.md,isaac/tests/test_entrypoint.pydocstring) but
pyproject.tomlonly declares theisaacentry point. Thatis a separate Isaac-aliasing docs↔packaging discrepancy, unrelated to
Newton/Warp — worth its own issue rather than expanding this PR.
examples/so101_curobo/*references towarpare about the Warplibrary version conflict with cuRobo (Isaac kit bundles warp 1.5 vs
cuRobo needing >=1.14), not the Newton backend — intentionally left alone.
Project board
Please move #89 to In review on the
Strands Labs - Robots board
if it isn't moved automatically.