Skip to content

Commit ec38d25

Browse files
Adjust dependencies for Python 3.14 (#10872)
1 parent 02e5cf1 commit ec38d25

File tree

6 files changed

+35
-33
lines changed

6 files changed

+35
-33
lines changed

CHANGES/10872.contrib.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Updated dependencies to allow testing on Python 3.14.

requirements/constraints.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.10
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --resolver=backtracking --strip-extras requirements/constraints.in
5+
# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --strip-extras requirements/constraints.in
66
#
77
aiodns==3.5.0
88
# via
@@ -99,7 +99,7 @@ incremental==24.7.2
9999
# via towncrier
100100
iniconfig==2.1.0
101101
# via pytest
102-
isal==1.7.2
102+
isal==1.7.2 ; python_version < "3.14"
103103
# via
104104
# -r requirements/lint.in
105105
# -r requirements/test.in
@@ -159,9 +159,11 @@ pycares==4.10.0
159159
# via aiodns
160160
pycparser==2.22
161161
# via cffi
162-
pydantic==2.11.7
163-
# via python-on-whales
164-
pydantic-core==2.33.2
162+
pydantic==2.12.0a1
163+
# via
164+
# -r requirements/test.in
165+
# python-on-whales
166+
pydantic-core==2.37.2
165167
# via pydantic
166168
pyenchant==3.2.2
167169
# via sphinxcontrib-spelling
@@ -171,9 +173,7 @@ pygments==2.19.2
171173
# rich
172174
# sphinx
173175
pyjwt==2.8.0
174-
# via
175-
# gidgethub
176-
# pyjwt
176+
# via gidgethub
177177
pyproject-hooks==1.2.0
178178
# via
179179
# build

requirements/dev.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.10
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --output-file=requirements/dev.txt --resolver=backtracking --strip-extras requirements/dev.in
5+
# pip-compile --allow-unsafe --output-file=requirements/dev.txt --strip-extras requirements/dev.in
66
#
77
aiodns==3.5.0
88
# via
@@ -97,7 +97,7 @@ incremental==24.7.2
9797
# via towncrier
9898
iniconfig==2.1.0
9999
# via pytest
100-
isal==1.7.2
100+
isal==1.7.2 ; python_version < "3.14"
101101
# via
102102
# -r requirements/lint.in
103103
# -r requirements/test.in
@@ -156,19 +156,19 @@ pycares==4.10.0
156156
# via aiodns
157157
pycparser==2.22
158158
# via cffi
159-
pydantic==2.11.7
160-
# via python-on-whales
161-
pydantic-core==2.33.2
159+
pydantic==2.12.0a1
160+
# via
161+
# -r requirements/test.in
162+
# python-on-whales
163+
pydantic-core==2.37.2
162164
# via pydantic
163165
pygments==2.19.2
164166
# via
165167
# pytest
166168
# rich
167169
# sphinx
168170
pyjwt==2.8.0
169-
# via
170-
# gidgethub
171-
# pyjwt
171+
# via gidgethub
172172
pyproject-hooks==1.2.0
173173
# via
174174
# build

requirements/test.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
blockbuster
44
coverage
55
freezegun
6-
isal
6+
isal; python_version < "3.14" # no wheel for 3.14
77
mypy; implementation_name == "cpython"
88
pkgconfig
99
proxy.py >= 2.4.4rc5

requirements/test.txt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.10
2+
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --output-file=requirements/test.txt --resolver=backtracking --strip-extras requirements/test.in
5+
# pip-compile --allow-unsafe --output-file=requirements/test.txt --strip-extras requirements/test.in
66
#
77
aiodns==3.5.0
88
# via -r requirements/runtime-deps.in
@@ -51,7 +51,7 @@ idna==3.6
5151
# yarl
5252
iniconfig==2.1.0
5353
# via pytest
54-
isal==1.7.2
54+
isal==1.7.2 ; python_version < "3.14"
5555
# via -r requirements/test.in
5656
markdown-it-py==3.0.0
5757
# via rich
@@ -87,9 +87,11 @@ pycares==4.10.0
8787
# via aiodns
8888
pycparser==2.22
8989
# via cffi
90-
pydantic==2.11.7
91-
# via python-on-whales
92-
pydantic-core==2.33.2
90+
pydantic==2.12.0a1
91+
# via
92+
# -r requirements/test.in
93+
# python-on-whales
94+
pydantic-core==2.37.2
9395
# via pydantic
9496
pygments==2.19.2
9597
# via

tests/conftest.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@
44
import socket
55
import ssl
66
import sys
7-
import zlib
87
from hashlib import md5, sha1, sha256
98
from pathlib import Path
109
from tempfile import TemporaryDirectory
1110
from typing import Any, AsyncIterator, Callable, Generator, Iterator
1211
from unittest import mock
1312
from uuid import uuid4
1413

15-
import isal.isal_zlib
1614
import pytest
17-
import zlib_ng.zlib_ng
1815
from blockbuster import blockbuster_ctx
1916

2017
from aiohttp import payload
@@ -258,6 +255,8 @@ def selector_loop() -> Iterator[asyncio.AbstractEventLoop]:
258255

259256
@pytest.fixture
260257
def uvloop_loop() -> Iterator[asyncio.AbstractEventLoop]:
258+
if uvloop is None:
259+
pytest.skip("uvloop is not installed")
261260
factory = uvloop.new_event_loop
262261
with loop_context(factory) as _loop:
263262
asyncio.set_event_loop(_loop)
@@ -338,13 +337,13 @@ def unused_port_socket() -> Generator[socket.socket, None, None]:
338337
s.close()
339338

340339

341-
@pytest.fixture(params=[zlib, zlib_ng.zlib_ng, isal.isal_zlib])
340+
@pytest.fixture(params=["zlib", "zlib_ng.zlib_ng", "isal.isal_zlib"])
342341
def parametrize_zlib_backend(
343342
request: pytest.FixtureRequest,
344343
) -> Generator[None, None, None]:
345344
original_backend: ZLibBackendProtocol = ZLibBackend._zlib_backend
346-
set_zlib_backend(request.param)
347-
345+
backend = pytest.importorskip(request.param)
346+
set_zlib_backend(backend)
348347
yield
349348

350349
set_zlib_backend(original_backend)

0 commit comments

Comments
 (0)