Skip to content

Commit 905aab3

Browse files
tacaswelldstansby
andcommitted
API: bump minimum supported version of Python
In accordance with our policy, the minimum supported Python for the next release will be Python 3.11. Co-authored-by: David Stansby <[email protected]>
1 parent b9da4fd commit 905aab3

File tree

11 files changed

+17
-25
lines changed

11 files changed

+17
-25
lines changed

.github/workflows/cibuildwheel.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
4848
name: Install Python
4949
with:
50-
python-version: '3.10'
50+
python-version: '3.11'
5151

5252
# Something changed somewhere that prevents the downloaded-at-build-time
5353
# licenses from being included in built wheels, so pre-download them so
@@ -163,22 +163,17 @@ jobs:
163163
CIBW_BUILD: "cp311-*"
164164
CIBW_ARCHS: ${{ matrix.cibw_archs }}
165165

166-
- name: Build wheels for CPython 3.10
167-
uses: pypa/cibuildwheel@d04cacbc9866d432033b1d09142936e6a0e2121a # v2.23.2
168-
with:
169-
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
170-
env:
171-
CIBW_BUILD: "cp310-*"
172-
CIBW_ARCHS: ${{ matrix.cibw_archs }}
173166

174167
- name: Build wheels for PyPy
175168
uses: pypa/cibuildwheel@d04cacbc9866d432033b1d09142936e6a0e2121a # v2.23.2
176169
with:
177170
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
178171
env:
179-
CIBW_BUILD: "pp310-*"
172+
CIBW_BUILD: "pp311-*"
180173
CIBW_ARCHS: ${{ matrix.cibw_archs }}
181174
CIBW_ENABLE: pypy
175+
# No wheels available for Pillow with pp311 yet.
176+
CIBW_TEST_SKIP: "pp311*"
182177
if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest'
183178

184179
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

.github/workflows/mypy-stubtest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Set up Python 3
2020
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
2121
with:
22-
python-version: '3.10'
22+
python-version: '3.11'
2323

2424
- name: Set up reviewdog
2525
uses: reviewdog/action-setup@e04ffabe3898a0af8d0fb1af00c188831c4b5893 # v1.3.9
@@ -33,7 +33,7 @@ jobs:
3333
run: |
3434
set -o pipefail
3535
tox -e stubtest | \
36-
sed -e "s!.tox/stubtest/lib/python3.10/site-packages!lib!g" | \
36+
sed -e "s!.tox/stubtest/lib/python3.11/site-packages!lib!g" | \
3737
reviewdog \
3838
-efm '%Eerror: %m' \
3939
-efm '%CStub: in file %f:%l' \

.github/workflows/reviewdog.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Set up Python 3
2020
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
2121
with:
22-
python-version: '3.10'
22+
python-version: '3.11'
2323

2424
- name: Install ruff
2525
run: pip3 install ruff
@@ -48,7 +48,7 @@ jobs:
4848
- name: Set up Python 3
4949
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
5050
with:
51-
python-version: '3.10'
51+
python-version: '3.11'
5252

5353
- name: Install mypy
5454
run: pip3 install -r requirements/testing/mypy.txt -r requirements/testing/all.txt

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
python-version: '3.12'
6868
- os: macos-13 # This runner is on Intel chips.
6969
# merge numpy and pandas install in nighties test when this runner is dropped
70-
python-version: '3.10'
70+
python-version: '3.11'
7171
- os: macos-14 # This runner is on M1 (arm64) chips.
7272
python-version: '3.12'
7373
# https://github.com/matplotlib/matplotlib/issues/29732

azure-pipelines.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,8 @@ stages:
4949
- job: Pytest
5050
strategy:
5151
matrix:
52-
Windows_py310:
53-
vmImage: 'windows-2019' # keep one job pinned to the oldest image
54-
python.version: '3.10'
5552
Windows_py311:
56-
vmImage: 'windows-latest'
53+
vmImage: 'windows-2019' # keep one job pinned to the oldest image
5754
python.version: '3.11'
5855
Windows_py312:
5956
vmImage: 'windows-latest'

doc/devel/min_dep_policy.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ specification of the dependencies.
115115
========== ======== ======
116116
Matplotlib Python NumPy
117117
========== ======== ======
118+
3.11 3.11 1.23.0
118119
`3.10`_ 3.10 1.23.0
119120
`3.9`_ 3.9 1.23.0
120121
`3.8`_ 3.9 1.21.0

doc/install/dependencies.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ When installing through a package manager like ``pip`` or ``conda``, the
2020
mandatory dependencies are automatically installed. This list is mainly for
2121
reference.
2222

23-
* `Python <https://www.python.org/downloads/>`_ (>= 3.10)
23+
* `Python <https://www.python.org/downloads/>`_ (>= 3.11)
2424
* `contourpy <https://pypi.org/project/contourpy/>`_ (>= 1.0.1)
2525
* `cycler <https://matplotlib.org/cycler/>`_ (>= 0.10.0)
2626
* `dateutil <https://pypi.org/project/python-dateutil/>`_ (>= 2.7)

environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ dependencies:
2626
- pygobject
2727
- pyparsing>=3
2828
- pyqt
29-
- python>=3.10
29+
- python>=3.11
3030
- python-dateutil>=2.1
3131
- setuptools_scm
3232
- wxpython

pyproject.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ classifiers=[
1616
"License :: OSI Approved :: Python Software Foundation License",
1717
"Programming Language :: Python",
1818
"Programming Language :: Python :: 3",
19-
"Programming Language :: Python :: 3.10",
2019
"Programming Language :: Python :: 3.11",
2120
"Programming Language :: Python :: 3.12",
2221
"Programming Language :: Python :: 3.13",
@@ -41,7 +40,7 @@ dependencies = [
4140
"pyparsing >= 3",
4241
"python-dateutil >= 2.7",
4342
]
44-
requires-python = ">=3.10"
43+
requires-python = ">=3.11"
4544

4645
[project.optional-dependencies]
4746
# Should be a copy of the build dependencies below.
@@ -105,7 +104,7 @@ exclude = [
105104
"*.ipynb"
106105
]
107106
line-length = 88
108-
target-version = "py310"
107+
target-version = "py311"
109108

110109
[tool.ruff.lint]
111110
ignore = [

requirements/testing/extra.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Extra pip requirements for the Python 3.10+ builds
1+
# Extra pip requirements for the Python 3.11+ builds
22

33
--prefer-binary
44
ipykernel

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# and then run "tox" from this directory.
55

66
[tox]
7-
envlist = py310, py311, py312, stubtest
7+
envlist = py311, py312, py313, stubtest
88

99
[testenv]
1010
changedir = /tmp

0 commit comments

Comments
 (0)