-
Notifications
You must be signed in to change notification settings - Fork 735
Add initial python 3.14 support and bump up in line with SPEC0 #5121
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #5121 +/- ##
===========================================
- Coverage 93.89% 92.68% -1.21%
===========================================
Files 180 180
Lines 22447 22447
Branches 3188 3188
===========================================
- Hits 21077 20806 -271
- Misses 902 1166 +264
- Partials 468 475 +7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| - [windows-2022, win_amd64, AMD64] | ||
| - [macos-14, macosx_*, arm64] | ||
| python: ["cp310", "cp311", "cp312", "cp313"] | ||
| python: ["cp311", "cp312", "cp313", "cp314"] |
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.
Any reason why py310 wheels are no longer being built?
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.
MDAnalysis loosely follows SPEC0 (used to be NEP29), which dropped Python 3.10 sometime around the same time as our last release. The next release of MDAnalysis would be expected to drop Python 3.10, especially if 3.14 support comes through.
I'm taking the opportunity to use this PR tries to do a general tidy up ahead of MDAnalysis v2.10, since I'm likely to need to release it in the next couple of weeks.
| create-args: >- | ||
| python=${{ matrix.python-version }} | ||
| pip | ||
| # using jaime's shim to avoid pulling down the cudatoolkit |
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.
This no longer does anything.
| def test_residue_gaps_split(self, psf_ca): | ||
| sel = "resid 6:50 or resid 100:130 or resid 132:148" | ||
| with pytest.warns(UserWarning) as rec: | ||
| wmsg = "has gaps in the residues. Splitting into 3 helices" |
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.
We have two cron tests on macos-latest that fail with this. I'm fixing it here so that they pass after the next release.
| imageName: 'windows-2019' | ||
| Win-Python312-64bit-full: | ||
| PYTHON_VERSION: '3.12' | ||
| Win-Python313-64bit-full: |
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.
Only going to py313 here because we have lots of deps in this file that aren't py314 compatible yet.
orbeckst
left a 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.
Thanks for the update! I do have a major question: The metadata and deployment indicates support for Py 3.11 - 3.14 but the testing is only for 3.11-3.13. What's the reason for the inconsistency?
|
Thanks @orbeckst it seems mostly a misunderstanding on what is being tested. Could you please re-review? |
orbeckst
left a 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.
Thank you for the explanation. LGTM.
TODO:
Future TODO:
blacktarget-version to py314 when it's availablePR Checklist
package/CHANGELOGfile updated?package/AUTHORS? (If it is not, add it!)Developers Certificate of Origin
I certify that I can submit this code contribution as described in the Developer Certificate of Origin, under the MDAnalysis LICENSE.
📚 Documentation preview 📚: https://mdanalysis--5121.org.readthedocs.build/en/5121/