Skip to content
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

Add py3.13 support w/ minimal deps #4732

Merged
merged 7 commits into from
Oct 13, 2024
Merged

Add py3.13 support w/ minimal deps #4732

merged 7 commits into from
Oct 13, 2024

Conversation

IAlibay
Copy link
Member

@IAlibay IAlibay commented Oct 13, 2024

Python 3.13 should now work with minimal deps. Optional deps like OpenMM don't have compatible releases yet.

Changes made in this Pull Request:

  • Bump up non-optional deps workflows to include py3.13
  • Add py3.13 to the classifiers list

PR Checklist

  • Tests?
  • CHANGELOG updated?

Developers certificate of origin


📚 Documentation preview 📚: https://mdanalysis--4732.org.readthedocs.build/en/4732/

Copy link

github-actions bot commented Oct 13, 2024

Linter Bot Results:

Hi @IAlibay! Thanks for making this PR. We linted your code and found the following:

There are currently no issues detected! 🎉

Copy link

codecov bot commented Oct 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.58%. Comparing base (740e74e) to head (c84eecb).
Report is 61 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4732      +/-   ##
===========================================
+ Coverage    93.55%   93.58%   +0.02%     
===========================================
  Files          173      185      +12     
  Lines        21463    22529    +1066     
  Branches      3987     2993     -994     
===========================================
+ Hits         20080    21083    +1003     
- Misses         929     1002      +73     
+ Partials       454      444      -10     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@IAlibay IAlibay added this to the Release 2.8.0 milestone Oct 13, 2024
@IAlibay IAlibay requested review from orbeckst and RMeli October 13, 2024 09:20
Copy link
Member

@orbeckst orbeckst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this passes all tests for Python 3.13 I am approving.

🎉

actual = err.strip().split('\r')[-1]
assert actual[:24] == expected[:24]
assert expected == actual[:15]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you switch actual and expected?

Doesn't really matter except for consistency throughout because in testsuite/MDAnalysisTests/lib/test_log.py it's still actual == expected.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had originally switched it to a expected in actual check, but decided to revert back to an equality check.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted the order in the latest commit.

@@ -345,17 +345,17 @@ def test_verbose_progressbar(u, capsys):
def test_verbose_progressbar_run(u, capsys):
FrameAnalysis(u.trajectory).run(verbose=True)
_, err = capsys.readouterr()
expected = u'100%|██████████| 98/98 [00:00<00:00, 8799.49it/s]'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the reason why the full output was there originally was to give devs an idea what it looks like even if other parts could not be reliably tested.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately the py3.13 behaviour changed here and I can't work out exactly why - I'm not sure if there's a better way to deal with this without having an explicit python version check :/

Copy link
Member

@tylerjereddy tylerjereddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as well, test shims seem reasonable enough.

@@ -47,7 +47,7 @@ jobs:
PYTHON_VERSION: '3.12'
PYTHON_ARCH: 'x64'
BUILD_TYPE: 'wheel'
NUMPY_MIN: '1.26.0'
NUMPY_MIN: '2.1.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you mean to change to 3.13 above? I don't think that's a blocker here though

@tylerjereddy tylerjereddy merged commit 599c8db into develop Oct 13, 2024
24 checks passed
@tylerjereddy tylerjereddy deleted the py3.13 branch October 13, 2024 22:26
lilyminium pushed a commit to lilyminium/mdanalysis that referenced this pull request Oct 19, 2024
* Add Python 3.13 to minimal CI testing, and include some minor test shims to accommodate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants