[testing, do not merge] add pin package to dep for CI testing#5234
[testing, do not merge] add pin package to dep for CI testing#5234peterd-NV wants to merge 2 commits intoisaac-sim:developfrom
Conversation
There was a problem hiding this comment.
Thanks for the PR! Adding pin (Pinocchio) as a dependency for testing makes sense — the codebase has ~19 files that import pinocchio. A few issues to address:
1. Missing version pin
The existing pin-pink==3.1.0 dependency already requires pin>=2.6.3, so Pinocchio is already pulled in on Linux. Adding "pin" without a version constraint means any future breaking release could silently break things. At minimum, pin it to a compatible range:
"pin>=2.6.3",or match whatever version the test suite is validated against.
2. Missing platform markers
The pin PyPI package has no Windows wheels (only Linux and macOS). Adding it as an unconditional dependency will break pip install isaaclab on Windows. It should have a platform marker, similar to how pin-pink is gated:
f"pin>=2.6.3 ; platform_system != 'Windows'",or at minimum:
f"pin>=2.6.3 ; platform_system == 'Linux' and ({SUPPORTED_ARCHS_ARM})",to match the existing pin-pink scope.
3. Placement in the dependency list
The line is added in the general INSTALL_REQUIRES list, but this is described as being "for testing." If it's only needed for tests, consider whether it belongs in an extras_require test group instead. If it's needed at runtime (not just tests), the PR title/description should be updated to reflect that.
4. PR description is empty
The description is still the default template with no actual content filled in. Please describe:
- What test/scenario was failing without this dependency?
- Why
pin-pink's transitive dependency onpinisn't sufficient (is this for scenarios that need Pinocchio without Pink?).
None of the checklist items are checked either.
| # Required by pydantic-core/imgui_bundle on Python 3.12 (Sentinel symbol). | ||
| "typing_extensions>=4.14.0", | ||
| "lazy_loader>=0.4", | ||
| "pin", |
There was a problem hiding this comment.
Three issues with this line:
- No version constraint — should at minimum be
"pin>=2.6.3"to match whatpin-pinkalready requires. - No platform marker —
pinhas no Windows wheels on PyPI. This will break installation on Windows. Should be gated with at leastplatform_system != 'Windows'. - Possibly redundant on Linux —
pin-pink==3.1.0(line 68) already depends onpin>=2.6.3, so on Linux+supported arches Pinocchio is already installed. Is this intended to cover macOS or non-pin-pinktest scenarios?
Suggested fix:
f"pin>=2.6.3 ; platform_system != 'Windows'",
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there