Merge branch 'main' into rm-3.8

This commit is contained in:
Andrew Murray 2024-07-03 13:25:30 +10:00 committed by GitHub
commit 29ea5367c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 25 additions and 20 deletions

View File

@ -37,8 +37,7 @@ python3 -m pip install -U pytest-timeout
python3 -m pip install pyroma python3 -m pip install pyroma
if [[ $(uname) != CYGWIN* ]]; then if [[ $(uname) != CYGWIN* ]]; then
# TODO Update condition when NumPy supports 3.13 python3 -m pip install numpy
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then python3 -m pip install numpy ; fi
# PyQt6 doesn't support PyPy3 # PyQt6 doesn't support PyPy3
if [[ $GHA_PYTHON_VERSION == 3.* ]]; then if [[ $GHA_PYTHON_VERSION == 3.* ]]; then

View File

@ -25,9 +25,7 @@ python3 -m pip install -U pytest
python3 -m pip install -U pytest-cov python3 -m pip install -U pytest-cov
python3 -m pip install -U pytest-timeout python3 -m pip install -U pytest-timeout
python3 -m pip install pyroma python3 -m pip install pyroma
python3 -m pip install numpy
# TODO Update condition when NumPy supports 3.13
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then python3 -m pip install numpy ; fi
# extra test images # extra test images
pushd depends && ./install_extra_test_images.sh && popd pushd depends && ./install_extra_test_images.sh && popd

View File

@ -12,7 +12,7 @@ elif [ "${AUDITWHEEL_POLICY::9}" == "musllinux" ]; then
else else
yum install -y fribidi yum install -y fribidi
fi fi
if [ "${AUDITWHEEL_POLICY::9}" != "musllinux" ] && !([[ "$OSTYPE" == "darwin"* ]] && [[ $(python3 --version) == *"3.13."* ]]); then if [ "${AUDITWHEEL_POLICY::9}" != "musllinux" ]; then
python3 -m pip install numpy python3 -m pip install numpy
fi fi

View File

@ -1,9 +1,9 @@
Python,3.12,3.11,3.10,3.9,3.8,3.7,3.6,3.5 Python,3.13,3.12,3.11,3.10,3.9,3.8,3.7,3.6,3.5
Pillow >= 11,Yes,Yes,Yes,Yes,,,, Pillow >= 11,Yes,Yes,Yes,Yes,Yes,,,,
Pillow >= 10.1,Yes,Yes,Yes,Yes,Yes,,, Pillow 10.1 - 10.4,,Yes,Yes,Yes,Yes,Yes,,,
Pillow 10.0,,Yes,Yes,Yes,Yes,,, Pillow 10.0,,,Yes,Yes,Yes,Yes,,,
Pillow 9.3 - 9.5,,Yes,Yes,Yes,Yes,Yes,, Pillow 9.3 - 9.5,,,Yes,Yes,Yes,Yes,Yes,,
Pillow 9.0 - 9.2,,,Yes,Yes,Yes,Yes,, Pillow 9.0 - 9.2,,,,Yes,Yes,Yes,Yes,,
Pillow 8.3.2 - 8.4,,,Yes,Yes,Yes,Yes,Yes, Pillow 8.3.2 - 8.4,,,,Yes,Yes,Yes,Yes,Yes,
Pillow 8.0 - 8.3.1,,,,Yes,Yes,Yes,Yes, Pillow 8.0 - 8.3.1,,,,,Yes,Yes,Yes,Yes,
Pillow 7.0 - 7.2,,,,,Yes,Yes,Yes,Yes Pillow 7.0 - 7.2,,,,,,Yes,Yes,Yes,Yes

1 Python 3.13 3.12 3.11 3.10 3.9 3.8 3.7 3.6 3.5
2 Pillow >= 11 Yes Yes Yes Yes Yes
3 Pillow >= 10.1 Pillow 10.1 - 10.4 Yes Yes Yes Yes Yes
4 Pillow 10.0 Yes Yes Yes Yes
5 Pillow 9.3 - 9.5 Yes Yes Yes Yes Yes
6 Pillow 9.0 - 9.2 Yes Yes Yes Yes
7 Pillow 8.3.2 - 8.4 Yes Yes Yes Yes Yes
8 Pillow 8.0 - 8.3.1 Yes Yes Yes Yes
9 Pillow 7.0 - 7.2 Yes Yes Yes Yes

View File

@ -67,7 +67,11 @@ TODO
Other Changes Other Changes
============= =============
TODO Python 3.13
^^^^ ^^^^^^^^^^^
TODO Pillow 10.4.0 had wheels built against Python 3.13 beta, available as a preview to help
others prepare for 3.13, and to ensure Pillow could be used immediately at the release
of 3.13.0 final (2024-10-01, :pep:`719`).
Pillow 11.0.0 now officially supports Python 3.13.

View File

@ -27,6 +27,7 @@ classifiers = [
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Multimedia :: Graphics", "Topic :: Multimedia :: Graphics",
@ -135,6 +136,9 @@ lint.isort.required-imports = [
"from __future__ import annotations", "from __future__ import annotations",
] ]
[tool.pyproject-fmt]
max_supported_python = "3.13"
[tool.pytest.ini_options] [tool.pytest.ini_options]
addopts = "-ra --color=yes" addopts = "-ra --color=yes"
testpaths = [ testpaths = [

View File

@ -43,7 +43,7 @@ WEBP_ROOT = None
ZLIB_ROOT = None ZLIB_ROOT = None
FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ
if sys.platform == "win32" and sys.version_info >= (3, 13): if sys.platform == "win32" and sys.version_info >= (3, 14):
import atexit import atexit
atexit.register( atexit.register(

View File

@ -3,7 +3,7 @@ requires =
tox>=4.2 tox>=4.2
env_list = env_list =
lint lint
py{py3, 312, 311, 310, 39} py{py3, 313, 312, 311, 310, 39}
[testenv] [testenv]
deps = deps =