-
Notifications
You must be signed in to change notification settings - Fork 401
Drop Python 3.9 support after EoL #1002
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
Drop Python 3.9 support after EoL #1002
Conversation
Update classifiers, python_requires, CI workflows, tox envs, and release notes to require Python 3.10+
|
|
edoaltamura
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.
The CI config requires the Python version to be specified as a string, eg '3.10' (see suggestion comments), otherwise it automatically reads 3.1, which is what is being run by CI in some instances. Once this is fixed, the rest of the PR looks good to go. Thanks for this contribution!
.github/workflows/deploy-code.yml
Outdated
| strategy: | ||
| matrix: | ||
| python-version: [3.9] | ||
| python-version: [3.10] |
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.
| python-version: [3.10] | |
| python-version: ['3.10'] |
.github/workflows/main.yml
Outdated
| matrix: | ||
| os: [ubuntu-latest] | ||
| python-version: [3.9] | ||
| python-version: [3.10] |
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.
| python-version: [3.10] | |
| python-version: ['3.10'] |
.github/workflows/main.yml
Outdated
| # macos-latest is an Arm64 image | ||
| - os: macos-latest | ||
| python-version: 3.9 | ||
| python-version: 3.10 |
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.
| python-version: 3.10 | |
| python-version: '3.10' |
.github/workflows/main.yml
Outdated
| python-version: 3.13 | ||
| - os: windows-latest | ||
| python-version: 3.9 | ||
| python-version: 3.10 |
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.
| python-version: 3.10 | |
| python-version: '3.10' |
.github/workflows/main.yml
Outdated
| matrix: | ||
| os: [ubuntu-latest] | ||
| python-version: [3.9, 3.13] | ||
| python-version: [3.10, 3.13] |
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.
| python-version: [3.10, 3.13] | |
| python-version: ['3.10', 3.13] |
.github/workflows/main.yml
Outdated
| coverage3 combine | ||
| mv .coverage ./ci-artifact-data/ml.dat | ||
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == 3.9 }} | ||
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == 3.10 }} |
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.
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == 3.10 }} | |
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' }} |
.github/workflows/main.yml
Outdated
| mkdir artifacts | ||
| tar -zcvf artifacts/tutorials.tar.gz --exclude=./artifacts . | ||
| if: ${{ matrix.python-version == 3.9 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} | ||
| if: ${{ matrix.python-version == 3.10 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} |
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.
| if: ${{ matrix.python-version == 3.10 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} | |
| if: ${{ matrix.python-version == '3.10' && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} |
.github/workflows/main.yml
Outdated
| name: tutorials-stable${{ matrix.python-version }} | ||
| path: docs/_build/html/artifacts/tutorials.tar.gz | ||
| if: ${{ matrix.python-version == 3.9 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} | ||
| if: ${{ matrix.python-version == 3.10 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} |
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.
| if: ${{ matrix.python-version == 3.10 && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} | |
| if: ${{ matrix.python-version == '3.10' && !startsWith(github.ref, 'refs/heads/stable') && !startsWith(github.base_ref, 'stable/') }} |
.github/workflows/main.yml
Outdated
| strategy: | ||
| matrix: | ||
| python-version: [3.9] | ||
| python-version: [3.10] |
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.
| python-version: [3.10] | |
| python-version: ['3.10'] |
I have applied all the suggestions, and 3.10 is now consistently quoted in the workflows.
|
Hi @edoaltamura I implemented the suggestions. Please let me know if there is any changes required. Thank you. |
|
@shalini9894 thanks! The changes fixed the py version in CI tests. The coverage files are not matching though somehow - see below.
|
config references from Python 3.9 to 3.10.
edoaltamura
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.
LGTM.

Update classifiers, python_requires, CI workflows, tox envs, and release notes to require Python 3.10+
This PR removes support for Python 3.9 now that it has reached EoL.
Changes:
setup.pyclassifiers to removeProgramming Language :: Python :: 3.9.python_requiresto>=3.10.main.yml,deploy-code.yml) to stop testing/building on 3.9 and use 3.10+.tox.inienvlist to drop thepy39environment.Fixes #991