-
Notifications
You must be signed in to change notification settings - Fork 736
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
Merged
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
508a4c1
Update gh-ci-cron.yaml
IAlibay 82a9735
Update gh-ci.yaml
IAlibay 9ce0772
Update linters.yaml
IAlibay 9e8cde9
Update gh-ci-cron.yaml
IAlibay d138fd6
Update deploy.yaml
IAlibay cf1a394
Update deploy.yaml
IAlibay 67066b5
Update gh-ci.yaml
IAlibay b1ff70d
Update linters.yaml
IAlibay 77cbae8
Update gh-ci-cron.yaml
IAlibay 486b06c
Update .github/workflows/gh-ci-cron.yaml
IAlibay 7875b58
update changelog, setup, and pipelines
IAlibay 3961b66
try something
IAlibay cc5f950
try an earlier pin
IAlibay 6f94d17
update rtd build
IAlibay 784216c
turn off build isolation when building non-wheels
IAlibay 6a8588c
fix linters
IAlibay 0924b35
reverse flag order
IAlibay 1a95096
add build deps
IAlibay 7597da2
try ditching cython 3.1 lower pin
IAlibay f85e875
Update deploy.yaml
IAlibay 733eb2e
Update gh-ci.yaml
IAlibay 0d53715
Issue #5123
IAlibay f98792a
Update azure-pipelines.yml
IAlibay 7ce6ecc
Update azure-pipelines.yml
IAlibay 29b2cc6
fix flaky warnings check
IAlibay 3189328
Merge branch 'python-3.14' of github.com:MDAnalysis/mdanalysis into p…
IAlibay aa4e95b
Update deploy.yaml
IAlibay 3b5dcde
Add comment
IAlibay c15ee0c
Merge branch 'python-3.14' of github.com:MDAnalysis/mdanalysis into p…
IAlibay 80e9c05
Cython >=3.1 tests
IAlibay File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,8 +6,8 @@ on: | |
| workflow_dispatch: | ||
| # Uncomment when you need to test on a PR | ||
| # pull_request: | ||
| # branches: | ||
| # - develop | ||
| # branches: | ||
| # - develop | ||
|
|
||
|
|
||
| concurrency: | ||
|
|
@@ -107,7 +107,6 @@ jobs: | |
| pip | ||
| condarc: | | ||
| channels: | ||
| - jaimergp/label/unsupported-cudatoolkit-shim | ||
| - conda-forge | ||
| - bioconda | ||
|
|
||
|
|
@@ -141,7 +140,7 @@ jobs: | |
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: [ubuntu-20.04, macos-13] | ||
| os: [ubuntu-22.04, macos-13] | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
@@ -156,11 +155,10 @@ jobs: | |
| with: | ||
| environment-name: mda | ||
| create-args: >- | ||
| python=3.10 | ||
| python=3.11 | ||
| pip | ||
| condarc: | | ||
| channels: | ||
| - jaimergp/label/unsupported-cudatoolkit-shim | ||
| - conda-forge | ||
| - bioconda | ||
|
|
||
|
|
@@ -190,7 +188,7 @@ jobs: | |
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| python-version: ["3.10", "3.11", "3.12", "3.13"] | ||
| python-version: ["3.11", "3.12", "3.13", "3.14"] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
|
|
@@ -233,10 +231,8 @@ jobs: | |
| matrix: | ||
| # Stick to macos-13 because some of our | ||
| # optional deps don't support arm64 (i.e. macos-14) | ||
| # | ||
| # add "3.13" once conda-forge packages are available (see #4805) | ||
| os: [ubuntu-latest, macos-13] | ||
| python-version: ["3.10", "3.11", "3.12"] | ||
| python-version: ["3.10", "3.11", "3.12", "3.13"] | ||
orbeckst marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
|
|
@@ -252,10 +248,8 @@ jobs: | |
| create-args: >- | ||
| python=${{ matrix.python-version }} | ||
| pip | ||
| # using jaime's shim to avoid pulling down the cudatoolkit | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This no longer does anything. |
||
| condarc: | | ||
| channels: | ||
| - jaimergp/label/unsupported-cudatoolkit-shim | ||
| - conda-forge | ||
| - bioconda | ||
|
|
||
|
|
@@ -298,15 +292,21 @@ jobs: | |
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
|
|
||
| - name: install_deps | ||
| shell: bash | ||
| run: | | ||
| pip install pytest-xdist pytest-timeout "numpy<2.3" "cython<3.1" wheel "setuptools>=40.9.0" packaging | ||
|
|
||
| - name: install_mdanalysis | ||
| shell: bash | ||
| run: | | ||
| # If wheels is False we build directly from source so we use the --no-binary flag | ||
| # to avoid pulling down wheels for MDAnalysis (which are already precompiled) | ||
| # Also need to add `--no-build-isolation` until next release, see Issue #5125 | ||
| if [ "${{ matrix.wheels }}" == "false" ]; then | ||
| INSTALL_FLAGS="-vvv --no-binary" | ||
| INSTALL_FLAGS="--no-build-isolation --no-binary" | ||
| fi | ||
| pip install ${INSTALL_FLAGS} mdanalysis mdanalysistests pytest-xdist pytest-timeout | ||
| pip install ${INSTALL_FLAGS} mdanalysis mdanalysistests | ||
|
|
||
| - name: run_tests | ||
| shell: bash | ||
|
|
||
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,39 +21,39 @@ jobs: | |
| MPLBACKEND: agg | ||
| strategy: | ||
| matrix: | ||
| Win-Python310-64bit-full: | ||
| PYTHON_VERSION: '3.10' | ||
| Win-Python311-64bit-full: | ||
| PYTHON_VERSION: '3.11' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'normal' | ||
| imageName: 'windows-2019' | ||
| Win-Python312-64bit-full: | ||
| PYTHON_VERSION: '3.12' | ||
| Win-Python313-64bit-full: | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
| PYTHON_VERSION: '3.13' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'normal' | ||
| imageName: 'windows-2019' | ||
| Win-Python312-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.12' | ||
| Win-Python313-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.13' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'wheel' | ||
| NUMPY_MIN: '1.26.0' | ||
| NUMPY_MIN: '2.1.0' | ||
| imageName: 'windows-2019' | ||
| Win-Python310-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.10' | ||
| Win-Python311-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.11' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'wheel' | ||
| NUMPY_MIN: '1.23.2' | ||
| NUMPY_MIN: '1.26.0' | ||
| imageName: 'windows-2019' | ||
| Linux-Python312-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.12' | ||
| Linux-Python313-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.13' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'wheel' | ||
| NUMPY_MIN: '2.1.0' | ||
| imageName: 'ubuntu-latest' | ||
| Linux-Python310-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.10' | ||
| Linux-Python311-64bit-full-wheel: | ||
| PYTHON_VERSION: '3.11' | ||
| PYTHON_ARCH: 'x64' | ||
| BUILD_TYPE: 'wheel' | ||
| NUMPY_MIN: '1.23.2' | ||
| NUMPY_MIN: '1.26.0' | ||
| imageName: 'ubuntu-latest' | ||
| pool: | ||
| vmImage: $(imageName) | ||
|
|
@@ -100,6 +100,8 @@ jobs: | |
| python -m pip install numpy==$(NUMPY_MIN) | ||
| displayName: 'pin to older NumPy (wheel test)' | ||
| condition: and(succeeded(), ne(variables['NUMPY_MIN'], '')) | ||
| # Disabled PyTNG checking, see issue #5123 | ||
| # TODO: add pytng>=0.2.3 back once resolved | ||
| - script: >- | ||
| python -m pip install -vvv | ||
| biopython | ||
|
|
@@ -110,7 +112,6 @@ jobs: | |
| mmtf-python | ||
| networkx | ||
| parmed | ||
| pytng>=0.2.3 | ||
| rdkit>=2024.03.4 | ||
| tidynamics>=1.0.0 | ||
| imdclient>=0.2.2 | ||
|
|
||
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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.