-
Notifications
You must be signed in to change notification settings - Fork 153
Revert "CI: pin numpy to <2.3 & rdkit to <2025.3.3" #921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: devel
Are you sure you want to change the base?
Conversation
This reverts commit 8f8e6a5.
Merging this PR will not alter performance
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR reverts a previous change (PR #837) that added temporary version constraints for numpy (<2.3) and rdkit (<2025.3.3) in CI workflows. According to the PR description, the underlying compatibility issues that necessitated these pins have now been resolved.
Changes:
- Remove numpy and rdkit version constraints from the test workflow
- Remove rdkit version constraint from the pyright workflow
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/test.yml | Removes 'numpy<2.3' and 'rdkit<2025.3.3' version pins from CI dependencies |
| .github/workflows/pyright.yml | Removes 'rdkit<2025.3.3' version pin from type checking workflow dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
parmed released v4.3.1 but didn't upload it to pypi. |
📝 WalkthroughWalkthroughThis PR removes version constraints for rdkit and numpy dependencies in GitHub Actions workflow files. The changes replace pinned versions ( Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @.github/workflows/pyright.yml:
- Line 16: The rdkit package was unpinned in the workflow command (the run step
installing packages), but RDKit 2025.03.3 is incompatible with NumPy 2.x;
restore a version constraint (e.g., rdkit<2025.3.3) in the install command used
in the run step to prevent installing the problematic release, keep the rest of
the packages unchanged, and add a brief inline comment referencing RDKit issue
#7477 so the pin is not removed until NumPy 2.0 compatibility is confirmed.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/pyright.yml.github/workflows/test.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Upload results
🔇 Additional comments (1)
.github/workflows/test.yml (1)
29-29: LGTM - version constraints for rdkit and numpy removed.The change removes both
rdkit<2025.3.3andnumpy<2.3pins as intended by this revert. Since the matrix tests against both Python 3.8 and 3.12, ensure that the upstream compatibility fixes work across both Python versions.Verify the CI passes after this change, as the PR relies on upstream fixes being in place for both rdkit and numpy.
| python-version: '3.12' | ||
| - run: pip install uv | ||
| - run: uv pip install --system -e .[amber,ase,pymatgen] 'rdkit<2025.3.3' openbabel-wheel | ||
| - run: uv pip install --system -e .[amber,ase,pymatgen] rdkit openbabel-wheel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
rdkit 2025.3.3 numpy compatibility issues
💡 Result:
Short answer: RDKit 2025.03.3 (and nearby 2025.x releases) can break with NumPy 2.x because its compiled Python extensions (and some downstream dependencies) must be built against the NumPy‑2 ABI; if they were built against NumPy‑1.x they will fail at import. See the upstream discussion and Debian build failures. [1][2][3]
What that means and options
- Cause: NumPy 2.0 is an ABI‑breaking release; wheels built with NumPy 1.x won’t run with NumPy 2.x unless rebuilt against NumPy 2.0. RDKit/its binary wheels or dependencies may still be built against NumPy‑1.x. [2][4]
- Evidence: RDKit GitHub issue tracking NumPy‑2 support (opened May 31, 2024) and Debian FTBFS report for NumPy‑2 (Jan 30, 2025). [2][3]
- Quick workarounds:
- Use numpy<2 (pip/conda): pip install "numpy<2" (or conda install numpy<2) to restore compatibility immediately. [3][4]
- Install an RDKit build/wheel explicitly built against NumPy‑2 (if/when available) or rebuild RDKit from source in an environment with NumPy‑2 installed so extensions are compiled against NumPy‑2. The NumPy docs explain that wheels built with NumPy‑2.0 will work for 1.xx as well. [4][1]
- Use conda-forge/conda packages if those builders have published NumPy‑2‑compatible RDKit wheels (check the package build notes). [1]
- Diagnostic error you may see: “A module that was compiled using NumPy 1.x cannot be run in NumPy 2.x …” — that’s the signature of this ABI mismatch. [3]
If you want, tell me:
- how you installed RDKit (pip, conda, system package), and
- your Python and numpy versions (python -V; python -c "import numpy as np; print(np.version)")
and I’ll give exact commands to fix or rebuild for your setup.
Sources
[1] RDKit install docs (2025.03.x).
[2] RDKit GitHub issue “Support NumPy 2.0” (opened May 31, 2024).
[3] Debian/Debichem report: rdkit FTBFS with numpy 2.x (Jan 30, 2025).
[4] NumPy guidance on supporting NumPy 2.0 (build-time ABI notes).
🏁 Script executed:
# Search for context about the rdkit version pin in git history
cd /tmp && git -C . 2>/dev/null || echo "no git context available"
# Try to find any references to rdkit version constraints or issues in the codebase
rg "rdkit" --type py --type yml -A 2 -B 2 | head -50Repository: deepmodeling/dpdata
Length of output: 2293
🏁 Script executed:
# Search for rdkit references in the codebase
rg "rdkit" -t python -t yaml --type-list | head -20
# Specifically look for pyright workflow and rdkit references
cat .github/workflows/pyright.yml 2>/dev/null || echo "File not found in current context"
# Search for any issue references or comments about rdkit compatibility
rg "rdkit.*2025|2025.*rdkit" -A 3 -B 3
# Check git history for when the rdkit constraint was added
git log --oneline --all -S "rdkit<2025" 2>/dev/null | head -10 || echo "Git history unavailable"Repository: deepmodeling/dpdata
Length of output: 149
🌐 Web query:
rdkit 2025.03 numpy 2.0 fix resolved 2025
💡 Result:
Short answer: RDKit tracked NumPy 2.0 support in Issue #7477 (opened May 31, 2024), but the 2025.03 release notes do not explicitly state "NumPy 2.0 support" or a dedicated fix; you should confirm by checking the specific RDKit wheel/build you plan to use (wheels must be built against NumPy 2 to be ABI-compatible). [1][2]
Sources:
- RDKit GitHub issue "Support NumPy 2.0" (opened May 31, 2024). [1]
- RDKit 2025.03.x release notes / releases listing. [2]
Would you like me to check a specific RDKit wheel (PyPI/conda) or your environment (python, rdkit and numpy versions) to confirm compatibility?
Do not remove the rdkit version constraint without resolving NumPy 2.0 compatibility.
The rdkit<2025.3.3 pin cannot be safely removed. RDKit 2025.03.3 has a known NumPy 2.0 ABI incompatibility—its wheels are built against NumPy 1.x and will fail at import with NumPy 2.x. This issue (RDKit #7477, opened May 31, 2024) remains unresolved as of the latest release notes, with Debian build failures still reported as recently as January 2025. Removing the constraint without confirmed NumPy 2.0 support will break the workflow.
🤖 Prompt for AI Agents
In @.github/workflows/pyright.yml at line 16, The rdkit package was unpinned in
the workflow command (the run step installing packages), but RDKit 2025.03.3 is
incompatible with NumPy 2.x; restore a version constraint (e.g., rdkit<2025.3.3)
in the install command used in the run step to prevent installing the
problematic release, keep the rest of the packages unchanged, and add a brief
inline comment referencing RDKit issue #7477 so the pin is not removed until
NumPy 2.0 compatibility is confirmed.
Reverts #837
Both issues have been fixed
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.