Skip to content
This repository was archived by the owner on Aug 6, 2026. It is now read-only.

docs(readme): add deprecation banner + migration guide (closes #169) - #172

Merged
cagataycali merged 1 commit into
strands-labs:mainfrom
yinsong1986:docs/readme-deprecation-notice
Aug 6, 2026
Merged

cagataycali merged 1 commit into
strands-labs:mainfrom
yinsong1986:docs/readme-deprecation-notice

Conversation

@yinsong1986

@yinsong1986 yinsong1986 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

What

Adds a prominent top-of-README deprecation banner (GitHub [!WARNING]
callout) plus a short migration guide to README.md.

Why

robots-sim is being deprecated and archived (deprecation epic #167). The
Isaac Sim backend now lives in
strands-labs/robots as an
in-tree builtin backend (absorb epic
strands-labs/robots#1144),
so there is no longer a separate plugin package to install. Users landing on
this README need an unmissable notice and a clear migration path.

The banner:

  • States the package is deprecated and the repo will be archived.
  • Gives the new install string: pip install 'strands-robots[isaac]'.
  • Clarifies that application code is unchanged
    create_simulation("isaac", ...) still resolves the Isaac backend, now
    from the builtin registry in strands-robots instead of this plugin
    package.
  • Links the absorb epic (robots#1144) and the deprecation epic (#167).

Test surface

Docs-only change; no code paths touched.

  • hatch run lint — passes (black / isort / flake8, 52 files unchanged).
  • hatch run test — 264 passed, 40 skipped, 0 failed.
  • The 7 pre-existing environmental failures in test_rendering.py /
    test_policy_runner.py (no X11/OpenGL on the dev box) are not in the
    unit-test suite hatch run test runs and are unaffected by this change.

Acceptance criteria (from #169)

  • Top-of-README deprecation banner.
  • States backend moved to strands-labs/robots.
  • Install string strands-robots[isaac].
  • Links the absorb epic https://github.com/strands-labs/robots/issues/1144.

Out of scope (siblings under epic #167, not this PR)

  • DeprecationWarning on import.
  • Final release + PyPI deprecation.
  • Archive repository.

Project board

Issue #169 is not currently tracked on the
Strands Labs - Robots board
(only #8, #14, #139, #166 from this repo are on it). If it should be tracked,
add it and move to In review manually.

Closes #169

…s-labs#169)

robots-sim is being deprecated and archived; the Isaac Sim backend now
lives in strands-labs/robots as an in-tree builtin backend (absorb epic
strands-labs/robots#1144, deprecation epic strands-labs#167).

Add a prominent top-of-README GitHub `[!WARNING]` callout that:
- states the package is deprecated and the repo will be archived
- points users to the new install string `pip install 'strands-robots[isaac]'`
- clarifies application code is unchanged (create_simulation("isaac") still
  resolves the Isaac backend, now from the builtin registry)
- links the absorb epic (robots#1144) and the deprecation epic (strands-labs#167)

Docs-only change; no code paths touched.

@cagataycali cagataycali left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

The banner is well-placed and the framing is right: a [!WARNING] callout above the fold, the archive intent stated plainly, and the reassurance that create_simulation("isaac", ...) is unchanged. I verified that last claim and it holds - strands-robots' own pyproject.toml documents the selector at the sim-isaac extra ("Selected via create_simulation("isaac") / Robot(..., backend="isaac"); the vendored in-tree backend lives at strands_robots.simulation.isaac"), so application code genuinely does not change.

But the one command a migrating user will copy is wrong, and wrong in the silent direction.

Blocking: strands-robots[isaac] is not an extra that exists

README.md, in the new banner:

# New - Isaac extra on the main package:
pip install 'strands-robots[isaac]'

There is no isaac extra on strands-robots. I enumerated [project.optional-dependencies] at strands-labs/robots@main: 26 extras, and the Isaac one is named sim-isaac:

groot-service, cosmos3-service, cosmos3-diffusers, cosmos3-sim, moveit2, curobo,
wbc, motionbricks, lerobot, lerobot-async, molmoact2, sim, sim-mujoco,
sim-newton, sim-isaac, sim-gs, benchmark-libero, mesh, mesh-iot,
device-connect, ros2, vera-sim, ollama, inference, all, dev

isaac is absent; sim-isaac is present. Nor does the plain sim extra cover it - sim = ["robot_descriptions>=1.11.0,<2.0.0"] and nothing else.

Why this is blocking rather than a typo to sweep up later: pip does not fail on an unknown extra. pip install 'strands-robots[isaac]' exits 0, prints a single WARNING: strands-robots does not provide the extra 'isaac', and installs the base package with no Isaac dependencies at all. The user reads a successful install, follows the very next code block in this banner, and create_simulation("isaac", ...) fails later on missing usd-core. The deprecation notice exists precisely to stop users being stranded, and this instruction strands them with a success message - the failure is deferred and misattributed, which is worse than a hard error at install time.

Fix:

pip install 'strands-robots[sim-isaac]'

Also worth adding while you are in this line

sim-isaac deliberately does not install Isaac Sim itself. From the extra's own comment block in robots/pyproject.toml:

IMPORTANT: Isaac Sim itself is NOT installed by this extra. It is an Omniverse install (Isaac Lab ./isaaclab.sh -i, or the NGC docker image nvcr.io/nvidia/isaac-sim:6.0) ... We do NOT pin isaacsim here: the PyPI isaacsim[all] metapackage is incomplete on its own.

So even with the extra name corrected, a user coming from strands-robots-sim (which had the same out-of-band requirement) benefits from one sentence saying Isaac Sim is installed separately, with a pointer to the robots-side install docs. Otherwise the banner reads as though the extra is sufficient. Non-blocking, but this is the natural place for it.

Note on the sibling PR

The same string appears in #173, where it is additionally pinned by a test (test_deprecation_warning.py asserts the message contains pip install strands-robots[isaac]), so correcting it there requires updating the assertion too. Worth fixing both together so the README and the runtime warning cannot disagree.

What is good

  • Docs-only, one file, additive - zero risk to code paths, and the claim of no behavioural change is verifiable at a glance.
  • Explicitly links both the absorb epic (robots#1144) and the deprecation epic (#167), so a reader can find the full plan rather than just the verdict.
  • Correctly scopes the DeprecationWarning, final release, and archive steps out to their own siblings instead of bundling them.
  • Showing the old pip uninstall beside the new install is the right shape for a migration block - it removes the ambiguity about whether both can coexist.

Happy to re-review immediately on the one-word fix.

@cagataycali
cagataycali merged commit 52365ca into strands-labs:main Aug 6, 2026
1 of 2 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in Strands Labs - Robots Aug 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

deprecation Deprecating robots-sim documentation Improvements or additions to documentation

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

README deprecation notice + migration guide

2 participants