Skip to content

Commit a549c55

Browse files
authored
Merge branch 'main' into pybind11
2 parents 2316c93 + 1e5eb3b commit a549c55

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+663
-271
lines changed

.ci/requirements-cibw.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
cibuildwheel==2.23.3
1+
cibuildwheel==3.0.0

.ci/requirements-mypy.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mypy==1.15.0
1+
mypy==1.16.1
22
IceSpringPySideStubs-PyQt6
33
IceSpringPySideStubs-PySide6
44
ipython

.github/workflows/test-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
strategy:
3636
fail-fast: false
3737
matrix:
38-
python-version: ["pypy3.11", "pypy3.10", "3.10", "3.11", "3.12", "3.13", "3.14"]
38+
python-version: ["pypy3.11", "pypy3.10", "3.10", "3.11", "3.12", ">=3.13.5", "3.14"]
3939
architecture: ["x64"]
4040
include:
4141
# Test the oldest Python on 32-bit

.github/workflows/test.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
python-version: [
4444
"pypy3.11",
4545
"pypy3.10",
46+
"3.14t",
4647
"3.14",
4748
"3.13t",
4849
"3.13",
@@ -55,6 +56,7 @@ jobs:
5556
- { python-version: "3.11", PYTHONOPTIMIZE: 1, REVERSE: "--reverse" }
5657
- { python-version: "3.10", PYTHONOPTIMIZE: 2 }
5758
# Free-threaded
59+
- { python-version: "3.14t", disable-gil: true }
5860
- { python-version: "3.13t", disable-gil: true }
5961
# M1 only available for 3.10+
6062
- { os: "macos-13", python-version: "3.9" }

.github/workflows/wheels-dependencies.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ ARCHIVE_SDIR=pillow-depends-main
3939
# Package versions for fresh source builds
4040
FREETYPE_VERSION=2.13.3
4141
HARFBUZZ_VERSION=11.2.1
42-
LIBPNG_VERSION=1.6.48
43-
JPEGTURBO_VERSION=3.1.0
42+
LIBPNG_VERSION=1.6.49
43+
JPEGTURBO_VERSION=3.1.1
4444
OPENJPEG_VERSION=2.5.3
4545
XZ_VERSION=5.8.1
4646
TIFF_VERSION=4.7.0

.github/workflows/wheels-test.ps1

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,21 @@ if ("$venv" -like "*\cibw-run-*\pp*-win_amd64\*") {
99
C:\vc_redist.x64.exe /install /quiet /norestart | Out-Null
1010
}
1111
$env:path += ";$pillow\winbuild\build\bin\"
12-
& "$venv\Scripts\activate.ps1"
12+
if (Test-Path $venv\Scripts\pypy.exe) {
13+
$python = "pypy.exe"
14+
} else {
15+
$python = "python.exe"
16+
}
1317
& reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\python.exe" /v "GlobalFlag" /t REG_SZ /d "0x02000000" /f
1418
if ("$venv" -like "*\cibw-run-*-win_amd64\*") {
15-
& python -m pip install numpy
19+
& $venv\Scripts\$python -m pip install numpy
1620
}
1721
cd $pillow
18-
& python -VV
22+
& $venv\Scripts\$python -VV
1923
if (!$?) { exit $LASTEXITCODE }
20-
& python selftest.py
24+
& $venv\Scripts\$python selftest.py
2125
if (!$?) { exit $LASTEXITCODE }
22-
& python -m pytest -vx Tests\check_wheel.py
26+
& $venv\Scripts\$python -m pytest -vx Tests\check_wheel.py
2327
if (!$?) { exit $LASTEXITCODE }
24-
& python -m pytest -vx Tests
28+
& $venv\Scripts\$python -m pytest -vx Tests
2529
if (!$?) { exit $LASTEXITCODE }

.github/workflows/wheels.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
- name: "macOS 10.13 x86_64"
5959
os: macos-13
6060
cibw_arch: x86_64
61-
build: "cp3{12,13}*"
61+
build: "cp3{12,13,14}*"
6262
macosx_deployment_target: "10.13"
6363
- name: "macOS 10.15 x86_64"
6464
os: macos-13
@@ -110,7 +110,6 @@ jobs:
110110
CIBW_MANYLINUX_PYPY_AARCH64_IMAGE: ${{ matrix.manylinux }}
111111
CIBW_MANYLINUX_PYPY_X86_64_IMAGE: ${{ matrix.manylinux }}
112112
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
113-
CIBW_SKIP: pp39-*
114113
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
115114

116115
- uses: actions/upload-artifact@v4
@@ -188,7 +187,6 @@ jobs:
188187
CIBW_BEFORE_ALL: "{package}\\winbuild\\build\\build_dep_all.cmd"
189188
CIBW_CACHE_PATH: "C:\\cibw"
190189
CIBW_ENABLE: cpython-prerelease cpython-freethreading pypy
191-
CIBW_SKIP: pp39-*
192190
CIBW_TEST_SKIP: "*-win_arm64"
193191
CIBW_TEST_COMMAND: 'docker run --rm
194192
-v {project}:C:\pillow

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.11.8
3+
rev: v0.11.12
44
hooks:
55
- id: ruff
66
args: [--exit-non-zero-on-fix]
@@ -24,7 +24,7 @@ repos:
2424
exclude: (Makefile$|\.bat$|\.cmake$|\.eps$|\.fits$|\.gd$|\.opt$)
2525

2626
- repo: https://github.com/pre-commit/mirrors-clang-format
27-
rev: v20.1.3
27+
rev: v20.1.5
2828
hooks:
2929
- id: clang-format
3030
types: [c]
@@ -58,7 +58,7 @@ repos:
5858
- id: check-renovate
5959

6060
- repo: https://github.com/woodruffw/zizmor-pre-commit
61-
rev: v1.6.0
61+
rev: v1.9.0
6262
hooks:
6363
- id: zizmor
6464

@@ -68,7 +68,7 @@ repos:
6868
- id: sphinx-lint
6969

7070
- repo: https://github.com/tox-dev/pyproject-fmt
71-
rev: v2.5.1
71+
rev: v2.6.0
7272
hooks:
7373
- id: pyproject-fmt
7474

Tests/check_wheel.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111
def test_wheel_modules() -> None:
1212
expected_modules = {"pil", "tkinter", "freetype2", "littlecms2", "webp"}
1313

14-
# tkinter is not available in cibuildwheel installed CPython on Windows
15-
try:
16-
import tkinter
14+
if sys.platform == "win32":
15+
# tkinter is not available in cibuildwheel installed CPython on Windows
16+
try:
17+
import tkinter
1718

18-
assert tkinter
19-
except ImportError:
20-
expected_modules.remove("tkinter")
19+
assert tkinter
20+
except ImportError:
21+
expected_modules.remove("tkinter")
2122

2223
assert set(features.get_supported_modules()) == expected_modules
2324

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)