Skip to content

Commit f766d3b

Browse files
committed
Bump minimum Python to 3.10
1 parent 651e910 commit f766d3b

File tree

27 files changed

+63
-121
lines changed

27 files changed

+63
-121
lines changed

.circleci/config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,9 @@ commands:
216216
#
217217

218218
jobs:
219-
docs-python39:
219+
docs-python310:
220220
docker:
221-
- image: cimg/python:3.9
221+
- image: cimg/python:3.10
222222
resource_class: large
223223
steps:
224224
- checkout
@@ -259,4 +259,4 @@ workflows:
259259
jobs:
260260
# NOTE: If you rename this job, then you must update the `if` condition
261261
# and `circleci-jobs` option in `.github/workflows/circleci.yml`.
262-
- docs-python39
262+
- docs-python310

.github/workflows/cibuildwheel.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
- uses: actions/setup-python@v5
4747
name: Install Python
4848
with:
49-
python-version: 3.9
49+
python-version: '3.10'
5050

5151
# Something changed somewhere that prevents the downloaded-at-build-time
5252
# licenses from being included in built wheels, so pre-download them so
@@ -158,20 +158,12 @@ jobs:
158158
CIBW_BUILD: "cp310-*"
159159
CIBW_ARCHS: ${{ matrix.cibw_archs }}
160160

161-
- name: Build wheels for CPython 3.9
162-
uses: pypa/cibuildwheel@932529cab190fafca8c735a551657247fa8f8eaf # v2.19.1
163-
with:
164-
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
165-
env:
166-
CIBW_BUILD: "cp39-*"
167-
CIBW_ARCHS: ${{ matrix.cibw_archs }}
168-
169161
- name: Build wheels for PyPy
170162
uses: pypa/cibuildwheel@932529cab190fafca8c735a551657247fa8f8eaf # v2.19.1
171163
with:
172164
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
173165
env:
174-
CIBW_BUILD: "pp39-*"
166+
CIBW_BUILD: "pp310-*"
175167
CIBW_ARCHS: ${{ matrix.cibw_archs }}
176168
if: matrix.cibw_archs != 'aarch64'
177169

.github/workflows/circleci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: "CircleCI artifact handling"
33
on: [status]
44
jobs:
55
circleci_artifacts_redirector_job:
6-
if: "${{ github.event.context == 'ci/circleci: docs-python39' }}"
6+
if: "${{ github.event.context == 'ci/circleci: docs-python310' }}"
77
permissions:
88
statuses: write
99
runs-on: ubuntu-latest
@@ -16,11 +16,11 @@ jobs:
1616
repo-token: ${{ secrets.GITHUB_TOKEN }}
1717
api-token: ${{ secrets.CIRCLECI_TOKEN }}
1818
artifact-path: 0/doc/build/html/index.html
19-
circleci-jobs: docs-python39
19+
circleci-jobs: docs-python310
2020
job-title: View the built docs
2121

2222
post_warnings_as_review:
23-
if: "${{ github.event.context == 'ci/circleci: docs-python39' }}"
23+
if: "${{ github.event.context == 'ci/circleci: docs-python310' }}"
2424
permissions:
2525
contents: read
2626
checks: write

.github/workflows/mypy-stubtest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Set up Python 3
1717
uses: actions/setup-python@v5
1818
with:
19-
python-version: 3.9
19+
python-version: '3.10'
2020

2121
- name: Set up reviewdog
2222
uses: reviewdog/action-setup@v1
@@ -30,7 +30,7 @@ jobs:
3030
run: |
3131
set -o pipefail
3232
tox -e stubtest | \
33-
sed -e "s!.tox/stubtest/lib/python3.9/site-packages!lib!g" | \
33+
sed -e "s!.tox/stubtest/lib/python3.10/site-packages!lib!g" | \
3434
reviewdog \
3535
-efm '%Eerror: %m' \
3636
-efm '%CStub: in file %f:%l' \

.github/workflows/reviewdog.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Python 3
1818
uses: actions/setup-python@v5
1919
with:
20-
python-version: 3.9
20+
python-version: '3.10'
2121

2222
- name: Install flake8
2323
run: pip3 install -r requirements/testing/flake8.txt
@@ -42,7 +42,7 @@ jobs:
4242
- name: Set up Python 3
4343
uses: actions/setup-python@v5
4444
with:
45-
python-version: 3.9
45+
python-version: '3.10'
4646

4747
- name: Install mypy
4848
run: pip3 install -r requirements/testing/mypy.txt -r requirements/testing/all.txt

.github/workflows/tests.yml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ jobs:
5050
include:
5151
- name-suffix: "(Minimum Versions)"
5252
os: ubuntu-20.04
53-
python-version: 3.9
53+
python-version: '3.10'
5454
extra-requirements: '-c requirements/testing/minver.txt'
55-
pyqt5-ver: '==5.12.2 sip==5.0.0' # oldest versions with a Py3.9 wheel.
56-
pyqt6-ver: '==6.1.0 PyQt6-Qt6==6.1.0'
57-
pyside2-ver: '==5.15.1' # oldest version with working Py3.9 wheel.
55+
pyqt5-ver: '==5.15.5 sip==6.3.0' # oldest versions with a Py3.10 wheel.
56+
pyqt6-ver: '==6.2.0 PyQt6-Qt6==6.2.0'
57+
pyside2-ver: '==5.15.2.1' # oldest version with working Py3.10 wheel.
5858
pyside6-ver: '==6.0.0'
5959
delete-font-cache: true
6060
- os: ubuntu-20.04
61-
python-version: 3.9
61+
python-version: '3.10'
6262
# One CI run tests ipython/matplotlib-inline before backend mapping moved to mpl
6363
extra-requirements: '-r requirements/testing/extra.txt "ipython==7.19" "matplotlib-inline<0.1.7"'
6464
CFLAGS: "-fno-lto" # Ensure that disabling LTO works.
@@ -67,14 +67,6 @@ jobs:
6767
pyqt6-ver: '!=6.5.1,!=6.6.0'
6868
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
6969
pyside6-ver: '!=6.5.1'
70-
- os: ubuntu-20.04
71-
python-version: '3.10'
72-
extra-requirements: '-r requirements/testing/extra.txt'
73-
# https://github.com/matplotlib/matplotlib/pull/26052#issuecomment-1574595954
74-
# https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045606.html
75-
pyqt6-ver: '!=6.5.1,!=6.6.0'
76-
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
77-
pyside6-ver: '!=6.5.1'
7870
- os: ubuntu-22.04
7971
python-version: '3.11'
8072
# https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045606.html
@@ -88,8 +80,8 @@ jobs:
8880
pyqt6-ver: '!=6.6.0'
8981
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
9082
pyside6-ver: '!=6.5.1'
91-
- os: macos-12 # This runnre is on Intel chips.
92-
python-version: 3.9
83+
- os: macos-12 # This runner is on Intel chips.
84+
python-version: '3.10'
9385
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
9486
pyside6-ver: '!=6.5.1'
9587
- os: macos-14 # This runner is on M1 (arm64) chips.

azure-pipelines.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,29 +49,20 @@ stages:
4949
- job: Pytest
5050
strategy:
5151
matrix:
52-
Linux_py39:
53-
vmImage: 'ubuntu-20.04' # keep one job pinned to the oldest image
54-
python.version: '3.9'
5552
Linux_py310:
56-
vmImage: 'ubuntu-latest'
53+
vmImage: 'ubuntu-20.04' # keep one job pinned to the oldest image
5754
python.version: '3.10'
5855
Linux_py311:
5956
vmImage: 'ubuntu-latest'
6057
python.version: '3.11'
61-
macOS_py39:
62-
vmImage: 'macOS-latest'
63-
python.version: '3.9'
6458
macOS_py310:
6559
vmImage: 'macOS-latest'
6660
python.version: '3.10'
6761
macOS_py311:
6862
vmImage: 'macOS-latest'
6963
python.version: '3.11'
70-
Windows_py39:
71-
vmImage: 'windows-2019' # keep one job pinned to the oldest image
72-
python.version: '3.9'
7364
Windows_py310:
74-
vmImage: 'windows-latest'
65+
vmImage: 'windows-2019' # keep one job pinned to the oldest image
7566
python.version: '3.10'
7667
Windows_py311:
7768
vmImage: 'windows-latest'
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Increase to minimum supported versions of dependencies
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
4+
For Matplotlib 3.10, the :ref:`minimum supported versions <dependencies>` are
5+
being bumped:
6+
7+
+------------+-----------------+----------------+
8+
| Dependency | min in mpl3.9 | min in mpl3.10 |
9+
+============+=================+================+
10+
| Python | 3.9 | 3.10 |
11+
+------------+-----------------+----------------+
12+
13+
This is consistent with our :ref:`min_deps_policy` and `SPEC0
14+
<https://scientific-python.org/specs/spec-0000/>`__

doc/devel/testing.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ Using tox
252252

253253
`Tox <https://tox.readthedocs.io/en/latest/>`_ is a tool for running tests
254254
against multiple Python environments, including multiple versions of Python
255-
(e.g., 3.7, 3.8) and even different Python implementations altogether
255+
(e.g., 3.10, 3.11) and even different Python implementations altogether
256256
(e.g., CPython, PyPy, Jython, etc.), as long as all these versions are
257257
available on your system's $PATH (consider using your system package manager,
258258
e.g. apt-get, yum, or Homebrew, to install them).
@@ -269,7 +269,7 @@ You can also run tox on a subset of environments:
269269

270270
.. code-block:: bash
271271
272-
$ tox -e py38,py39
272+
$ tox -e py310,py311
273273
274274
Tox processes everything serially so it can take a long time to test
275275
several environments. To speed it up, you might try using a new,

doc/install/dependencies.rst

Lines changed: 1 addition & 3 deletions
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.9)
23+
* `Python <https://www.python.org/downloads/>`_ (>= 3.10)
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)
@@ -30,8 +30,6 @@ reference.
3030
* `packaging <https://pypi.org/project/packaging/>`_ (>= 20.0)
3131
* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>= 8.0)
3232
* `pyparsing <https://pypi.org/project/pyparsing/>`_ (>= 2.3.1)
33-
* `importlib-resources <https://pypi.org/project/importlib-resources/>`_
34-
(>= 3.2.0; only required on Python < 3.10)
3533

3634

3735
.. _optional_dependencies:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy