Skip to content

Commit ea9c7ed

Browse files
committed
MAINT: drop Python 3.11, NumPy 1.25 and Cython 3.0.x support
We need to keep NumPy 1.26.4 for quite a while, but that's the only 1.x version that needs supporting for users that need more time moving to 2.x Cython 3.0 is dropped because we want to try moving to the Stable ABI, and that only has support in 3.1 Python 3.11 is dropped as per the regular schedule (NEP 29 / SPEC 0). Note that there are no Matplotlib wheels for 32-bit Windows for Python >=3.12, hence the 32-bit Windows Appveyor job entry is removed.
1 parent a30d3ef commit ea9c7ed

File tree

6 files changed

+25
-29
lines changed

6 files changed

+25
-29
lines changed

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
strategy:
2020
matrix:
21-
python-version: ["3.11"]
21+
python-version: ["3.13"]
2222

2323
steps:
2424
- uses: actions/checkout@v5

.github/workflows/tests.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ env:
2121
MPLBACKEND: Agg
2222
CYTHON_TRACE: 1
2323
CYTHONSPEC: cython
24-
NUMPY_MIN: numpy==1.25.0
25-
CYTHON_MIN: cython==3.0.4
24+
NUMPY_MIN: numpy==1.26.4
25+
CYTHON_MIN: cython==3.1.3
2626

2727
jobs:
2828
test_pywavelets_linux:
@@ -33,7 +33,7 @@ jobs:
3333
fail-fast: false
3434
matrix:
3535
runs-on: [ubuntu-latest] # Arm runner tested separately, see below
36-
python-version: ["3.11", "3.13"]
36+
python-version: ["3.12", "3.14"]
3737
MINIMUM_REQUIREMENTS: [0]
3838
USE_SDIST: [0]
3939
REFGUIDE_CHECK: [1]
@@ -42,24 +42,24 @@ jobs:
4242
include:
4343
# Linux arm64
4444
- runs-on: ubuntu-22.04-arm
45-
python-version: "3.13"
45+
python-version: "3.14"
4646
# Linux amd64
4747
- runs-on: ubuntu-latest
48-
python-version: "3.11"
48+
python-version: "3.12"
4949
MINIMUM_REQUIREMENTS: 1
5050
OPTIONS_NAME: "minimum-req"
5151
- runs-on: ubuntu-latest
52-
python-version: "3.11"
52+
python-version: "3.12"
5353
- runs-on: ubuntu-latest
54-
python-version: "3.14-dev"
54+
python-version: "3.14"
5555
USE_SDIST: 1
5656
OPTIONS_NAME: "install-from-sdist"
5757
- runs-on: ubuntu-latest
58-
python-version: "3.13"
58+
python-version: "3.14"
5959
PIP_FLAGS: "--pre"
6060
OPTIONS_NAME: "pre-releases"
6161
- runs-on: ubuntu-latest
62-
python-version: "3.13"
62+
python-version: "3.14"
6363
OPTIONS_NAME: "editable-install"
6464
steps:
6565
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.2
@@ -142,7 +142,7 @@ jobs:
142142
strategy:
143143
fail-fast: false
144144
matrix:
145-
python-version: ["3.13t", "3.14t-dev"]
145+
python-version: ["3.13t", "3.14t"]
146146
steps:
147147
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.2
148148
- uses: actions/setup-python@2e3e4b15a884dc73a63f962bff250a855150a234 # v5.5.0
@@ -168,17 +168,17 @@ jobs:
168168
# Ensure that a wheel builder finishes even if another fails
169169
fail-fast: false
170170
matrix:
171-
python-version: ["3.11", "3.13"]
171+
python-version: ["3.12", "3.14"]
172172
MINIMUM_REQUIREMENTS: [0]
173173
USE_SDIST: [0]
174174
REFGUIDE_CHECK: [0]
175175
PIP_FLAGS: [""]
176176
OPTIONS_NAME: ["default"]
177177
include:
178-
- python-version: "3.11"
178+
- python-version: "3.12"
179179
MINIMUM_REQUIREMENTS: 1
180180
OPTIONS_NAME: "osx-minimum-req"
181-
- python-version: "3.13"
181+
- python-version: "3.14"
182182
PIP_FLAGS: "--pre"
183183
OPTIONS_NAME: "pre-releases"
184184

.github/workflows/wheel_tests_and_release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
fail-fast: false
3535
matrix:
3636
os: [ubuntu-latest]
37-
cibw_python: ["cp311", "cp312", "cp313", "cp313t", "cp314", "cp314t"]
37+
cibw_python: ["cp312", "cp313", "cp313t", "cp314", "cp314t"]
3838
cibw_arch: ["x86_64"]
3939
steps:
4040
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.2
@@ -66,7 +66,7 @@ jobs:
6666
fail-fast: false
6767
matrix:
6868
os: [ubuntu-22.04-arm]
69-
cibw_python: ["cp311", "cp312", "cp313", "cp313t", "cp314", "cp314t"]
69+
cibw_python: ["cp312", "cp313", "cp313t", "cp314", "cp314t"]
7070
cibw_arch: ["aarch64"]
7171
steps:
7272
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.2
@@ -98,7 +98,7 @@ jobs:
9898
matrix:
9999
# macos-13 is the last runner that supports Intel (x86_64) architecture
100100
os: [macos-13, macos-14]
101-
cibw_python: ["cp311", "cp312", "cp313", "cp313t", "cp314", "cp314t"]
101+
cibw_python: ["cp312", "cp313", "cp313t", "cp314", "cp314t"]
102102
cibw_arch: ["x86_64", "arm64"]
103103
exclude:
104104
- os: macos-14
@@ -149,7 +149,7 @@ jobs:
149149
matrix:
150150
os: [windows-latest, windows-11-arm]
151151
cibw_arch: ["AMD64", "x86", "ARM64"]
152-
cibw_python: ["cp311", "cp312", "cp313", "cp313t", "cp314", "cp314t"]
152+
cibw_python: ["cp312", "cp313", "cp313t", "cp314", "cp314t"]
153153
exclude:
154154
- os: windows-latest
155155
cibw_arch: ARM64

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
build:
33
os: "ubuntu-22.04"
44
tools:
5-
python: "3.11"
5+
python: "3.13"
66

77
python:
88
install:

appveyor.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ build: off
77
environment:
88
matrix:
99
- arch: x64
10-
PY_PYTHON: 3.11
11-
- arch: x86
12-
PY_PYTHON: 3.11-32
10+
PY_PYTHON: 3.12
1311
- arch: x64
1412
PY_PYTHON: 3.13
1513

pyproject.toml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,15 @@
88
build-backend = "mesonpy"
99
requires = [
1010
"meson-python>=0.18.0",
11-
"Cython>=3.0.4",
11+
"Cython>=3.1.3",
1212

1313
# numpy requirement for wheel builds for distribution on PyPI - building
1414
# against 2.x yields wheels that are also compatible with numpy 1.x at
1515
# runtime.
1616
# Note that building against numpy 1.x works fine too - users and
1717
# redistributors can do this by installing the numpy version they like and
1818
# disabling build isolation.
19-
"numpy>=2.0.0; python_version<'3.13'",
20-
"numpy>=2.1.0; python_version>='3.13'",
21-
"numpy>=2.3.2; python_version>='3.14'",
19+
"numpy>=2.0.0",
2220
]
2321

2422
[project]
@@ -33,8 +31,8 @@ maintainers = [
3331
{name = "The PyWavelets Developers", email = "[email protected]"}
3432
]
3533
description = "PyWavelets, wavelet transform module"
36-
requires-python = ">=3.11"
37-
dependencies = ["numpy>=1.25,<3"]
34+
requires-python = ">=3.12"
35+
dependencies = ["numpy>=1.26.4,<3"]
3836
readme = "README.rst"
3937
classifiers = [
4038
"Development Status :: 5 - Production/Stable",
@@ -45,10 +43,10 @@ classifiers = [
4543
"Programming Language :: C",
4644
"Programming Language :: Python",
4745
"Programming Language :: Python :: 3",
48-
"Programming Language :: Python :: 3.11",
4946
"Programming Language :: Python :: 3.12",
5047
"Programming Language :: Python :: 3.13",
5148
"Programming Language :: Python :: 3.14",
49+
"Programming Language :: Python :: Free Threading :: 2 - Beta",
5250
"Topic :: Software Development :: Libraries :: Python Modules"
5351
]
5452

0 commit comments

Comments
 (0)