Use usd-exchange as standalone USD provider - #6866
Closed
kellyguo11 wants to merge 2 commits into
Closed
Conversation
Avoid installing usd-core alongside the usd-exchange dependency pulled by Isaac Sim's URDF converter. Install Newton's importer requirements directly so its extra does not reintroduce usd-core.
hujc7
added a commit
to hujc7/IsaacLab
that referenced
this pull request
Aug 7, 2026
usd-core and usd-exchange each install a complete pxr into the same directory, so co-installing them silently replaces one OpenUSD with the other and uninstalling either deletes files the survivor still needs. No resolver reports it: they are separate distributions and the collision only happens on disk. Isaac Lab required usd-core on x86_64 while the standalone URDF and MJCF importers require usd-exchange, so the two could not be combined. Use usd-exchange everywhere, which also aligns x86_64 with aarch64. Newton selects [sim] rather than [sim,importers], whose extra pulls usd-core back in; the mesh-processing packages that extra carried are declared directly. Based on isaac-sim#6866 by @kellyguo11.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fix the repeated
test_leapp_export_flowinstallation/runtime failure seen in theIsaac Sim 6.0 CI jobs, including
job 91629341277.
PR #6806 made Isaac Lab's direct standalone USD dependencies platform-disjoint,
but two transitive dependency paths could still install both complete
pxrruntimes on x86_64:
usd-exchange.importersextra requiresusd-coreon x86_64.This change uses
usd-exchange==2.3.0as the only standalone USD provider on allsupported platforms. It selects
newton[sim]and declares Newton's non-USDimporter and mesh-processing requirements directly, preserving importer behavior
without reintroducing
usd-core. The wheel override files and lockfile are kept insync, and regression tests cover the provider and Newton dependency contracts.
No new importer functionality is introduced; dependencies that were previously
transitive through
newton[importers]are now explicit core requirements.Type of change
Testing
usd-coremetadata and passes with this change.
newton[sim,importers]and passes with the explicit dependencies.32 passed, 1 skippedacross the focused CLI and wheel-metadata tests.uv lock --checkpasses; exported production requirements containusd-exchange==2.3.0and nousd-core.uv run isaaclab -fpasses twice.Screenshots
Not applicable.
Checklist
pre-commitchecks withuv run isaaclab -fsource/isaaclab/changelog.d/CONTRIBUTORS.md