fix(deps): scope numpy<2 upper bound to aarch64 (Jetson) only#143
Merged
Conversation
The Jetson commit f9811d2 pinned `numpy>=1.24.0,<2.0` globally to protect JetPack-bundled CUDA libs (which are compiled against numpy 1.x ABI and break under numpy 2.x). That cap was correct for Jetson (aarch64) but unintentionally extended to x86_64 + Mac arm64, where: - numpy 2.x works fine - `lerobot==0.5.1` (pinned in [monolithic] + [native] extras) REQUIRES numpy>=2.0 Result: `pip install reflex-vla[monolithic]` was UNRESOLVABLE on Modal A100 (x86_64 Python 3.12). All reflex+lerobot Modal experiments were silently blocked. Caught when the lift #4 PR-review-pass fired a 1-task 1-episode LIBERO smoke against modal_libero_pi05_decomposed.py to validate behavior preservation through the rollout-helper refactor. Fix: split the numpy constraint via PEP 508 platform marker. - aarch64 (Jetson): numpy>=1.24.0,<2.0 ← preserves f9811d2's protection - everything else (x86_64, arm64): numpy>=1.24.0 ← allows lerobot 0.5.1 Verified locally: on arm64 (Mac), constraint 2 evaluates true, constraint 1 evaluates false. On aarch64, the inverse. pip resolves cleanly. Real fix not a band-aid (per CLAUDE.md). The original Jetson protection stays exactly as it was for aarch64; x86/arm64 hosts get the freedom they always should have had. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
The Jetson commit (
f9811d2) pinnednumpy>=1.24.0,<2.0globally to protect JetPack-bundled CUDA libs. That cap was correct for Jetson (aarch64) but unintentionally extended to x86_64 + Mac arm64 where:lerobot==0.5.1(pinned in[monolithic]+[native]extras) REQUIRESnumpy>=2.0Result:
pip install reflex-vla[monolithic]is UNRESOLVABLE on Modal A100. All reflex+lerobot Modal experiments have been silently blocked sincef9811d2landed.How it surfaced
Caught while firing a 1-task / 1-episode smoke against
scripts/modal_libero_pi05_decomposed.pyto validate behavior preservation through the rollout-helper refactor (PR #139). The image build failed atpip installwithResolutionImpossible.Fix
Split the numpy constraint via PEP 508 platform marker:
Verified locally: on arm64 (Mac), constraint 2 evaluates true, constraint 1 evaluates false. On aarch64, inverse. pip resolves cleanly.
🤖 Generated with Claude Code