diff --git a/CHANGES/10872.contrib.rst b/CHANGES/10872.contrib.rst new file mode 100644 index 00000000000..6a95cd3e64a --- /dev/null +++ b/CHANGES/10872.contrib.rst @@ -0,0 +1 @@ +Updated dependencies to allow testing on Python 3.14. diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 5da05f9ddd1..92c62c691d6 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.10 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: # -# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --resolver=backtracking --strip-extras requirements/constraints.in +# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --strip-extras requirements/constraints.in # aiodns==3.5.0 # via @@ -74,7 +74,7 @@ filelock==3.18.0 # via virtualenv forbiddenfruit==0.1.4 # via blockbuster -freezegun==1.5.3 +freezegun==1.5.4 # via # -r requirements/lint.in # -r requirements/test.in @@ -99,7 +99,7 @@ incremental==24.7.2 # via towncrier iniconfig==2.1.0 # via pytest -isal==1.7.2 +isal==1.7.2 ; python_version < "3.14" # via # -r requirements/lint.in # -r requirements/test.in @@ -159,9 +159,9 @@ pycares==4.10.0 # via aiodns pycparser==2.22 # via cffi -pydantic==2.11.7 +pydantic==2.12.0a1 # via python-on-whales -pydantic-core==2.33.2 +pydantic-core==2.37.2 # via pydantic pyenchant==3.2.2 # via sphinxcontrib-spelling diff --git a/requirements/dev.txt b/requirements/dev.txt index ac5f077151d..af047b92626 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.10 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: # -# pip-compile --allow-unsafe --output-file=requirements/dev.txt --resolver=backtracking --strip-extras requirements/dev.in +# pip-compile --allow-unsafe --output-file=requirements/dev.txt --strip-extras requirements/dev.in # aiodns==3.5.0 # via @@ -72,7 +72,7 @@ filelock==3.18.0 # via virtualenv forbiddenfruit==0.1.4 # via blockbuster -freezegun==1.5.3 +freezegun==1.5.4 # via # -r requirements/lint.in # -r requirements/test.in @@ -97,7 +97,7 @@ incremental==24.7.2 # via towncrier iniconfig==2.1.0 # via pytest -isal==1.7.2 +isal==1.7.2 ; python_version < "3.14" # via # -r requirements/lint.in # -r requirements/test.in @@ -156,9 +156,9 @@ pycares==4.10.0 # via aiodns pycparser==2.22 # via cffi -pydantic==2.11.7 +pydantic==2.12.0a1 # via python-on-whales -pydantic-core==2.33.2 +pydantic-core==2.37.2 # via pydantic pygments==2.19.2 # via diff --git a/requirements/lint.txt b/requirements/lint.txt index a82fd57f198..c0682c41460 100644 --- a/requirements/lint.txt +++ b/requirements/lint.txt @@ -31,7 +31,7 @@ filelock==3.18.0 # via virtualenv forbiddenfruit==0.1.4 # via blockbuster -freezegun==1.5.3 +freezegun==1.5.4 # via -r requirements/lint.in identify==2.6.12 # via pre-commit diff --git a/requirements/test.in b/requirements/test.in index bf000f27443..d6274f6d80d 100644 --- a/requirements/test.in +++ b/requirements/test.in @@ -3,7 +3,7 @@ blockbuster coverage freezegun -isal +isal; python_version < "3.14" # no wheel for 3.14 mypy; implementation_name == "cpython" pkgconfig proxy.py >= 2.4.4rc5 diff --git a/requirements/test.txt b/requirements/test.txt index 096a24ca9d0..7bfa1c7a195 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.10 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --allow-unsafe --output-file=requirements/test.txt --resolver=backtracking --strip-extras requirements/test.in +# pip-compile --allow-unsafe --output-file=requirements/test.txt --strip-extras requirements/test.in # aiodns==3.5.0 # via -r requirements/runtime-deps.in @@ -37,7 +37,7 @@ execnet==2.1.1 # via pytest-xdist forbiddenfruit==0.1.4 # via blockbuster -freezegun==1.5.3 +freezegun==1.5.4 # via -r requirements/test.in frozenlist==1.7.0 # via @@ -51,7 +51,7 @@ idna==3.6 # yarl iniconfig==2.1.0 # via pytest -isal==1.7.2 +isal==1.7.2 ; python_version < "3.14" # via -r requirements/test.in markdown-it-py==3.0.0 # via rich @@ -87,9 +87,9 @@ pycares==4.10.0 # via aiodns pycparser==2.22 # via cffi -pydantic==2.11.7 +pydantic==2.12.0a1 # via python-on-whales -pydantic-core==2.33.2 +pydantic-core==2.37.2 # via pydantic pygments==2.19.2 # via diff --git a/tests/conftest.py b/tests/conftest.py index 57a7e131a36..24c023738da 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,7 +4,6 @@ import socket import ssl import sys -import zlib from hashlib import md5, sha1, sha256 from pathlib import Path from tempfile import TemporaryDirectory @@ -12,9 +11,7 @@ from unittest import mock from uuid import uuid4 -import isal.isal_zlib import pytest -import zlib_ng.zlib_ng from blockbuster import blockbuster_ctx from aiohttp import payload @@ -258,6 +255,8 @@ def selector_loop() -> Iterator[asyncio.AbstractEventLoop]: @pytest.fixture def uvloop_loop() -> Iterator[asyncio.AbstractEventLoop]: + if uvloop is None: + pytest.skip("uvloop is not installed") factory = uvloop.new_event_loop with loop_context(factory) as _loop: asyncio.set_event_loop(_loop) @@ -338,13 +337,13 @@ def unused_port_socket() -> Generator[socket.socket, None, None]: s.close() -@pytest.fixture(params=[zlib, zlib_ng.zlib_ng, isal.isal_zlib]) +@pytest.fixture(params=["zlib", "zlib_ng.zlib_ng", "isal.isal_zlib"]) def parametrize_zlib_backend( request: pytest.FixtureRequest, ) -> Generator[None, None, None]: original_backend: ZLibBackendProtocol = ZLibBackend._zlib_backend - set_zlib_backend(request.param) - + backend = pytest.importorskip(request.param) + set_zlib_backend(backend) yield set_zlib_backend(original_backend)