From c8dfab407ba107769e398024a2b81bc5e337a84b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 17 Sep 2025 10:18:58 +0000
Subject: [PATCH 1/4] Bump pytest-mock from 3.15.0 to 3.15.1 (#11514)
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from
3.15.0 to 3.15.1.
Release notes
Sourced from pytest-mock's
releases.
v3.15.1
2025-09-16
- #529:
Fixed
itertools._tee object has no attribute error -- now
duplicate_iterators=True must be passed to
mocker.spy to duplicate iterators.
Changelog
Sourced from pytest-mock's
changelog.
3.15.1
2025-09-16
[#529](https://github.com/pytest-dev/pytest-mock/issues/529)
<https://github.com/pytest-dev/pytest-mock/issues/529>_:
Fixed itertools._tee object has no attribute error -- now
duplicate_iterators=True must be passed to
mocker.spy to duplicate iterators.
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 2 +-
requirements/dev.txt | 2 +-
requirements/lint.txt | 2 +-
requirements/test.txt | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 083f171a576..2c08d98fc2b 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -190,7 +190,7 @@ pytest-codspeed==4.0.0
# -r requirements/test.in
pytest-cov==7.0.0
# via -r requirements/test.in
-pytest-mock==3.15.0
+pytest-mock==3.15.1
# via
# -r requirements/lint.in
# -r requirements/test.in
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 060d2ca4d60..d6029f81675 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -185,7 +185,7 @@ pytest-codspeed==4.0.0
# -r requirements/test.in
pytest-cov==7.0.0
# via -r requirements/test.in
-pytest-mock==3.15.0
+pytest-mock==3.15.1
# via
# -r requirements/lint.in
# -r requirements/test.in
diff --git a/requirements/lint.txt b/requirements/lint.txt
index 0b8fc4b2ec0..82e3a6e3b4a 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -82,7 +82,7 @@ pytest==8.4.2
# pytest-mock
pytest-codspeed==4.0.0
# via -r requirements/lint.in
-pytest-mock==3.15.0
+pytest-mock==3.15.1
# via -r requirements/lint.in
python-dateutil==2.9.0.post0
# via freezegun
diff --git a/requirements/test.txt b/requirements/test.txt
index e35299832e2..cbf6151919a 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -106,7 +106,7 @@ pytest-codspeed==4.0.0
# via -r requirements/test.in
pytest-cov==7.0.0
# via -r requirements/test.in
-pytest-mock==3.15.0
+pytest-mock==3.15.1
# via -r requirements/test.in
pytest-xdist==3.8.0
# via -r requirements/test.in
From a3f033a3b33e2f709cd09197620f00d4197a1865 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 17 Sep 2025 10:25:55 +0000
Subject: [PATCH 2/4] Bump cryptography from 45.0.7 to 46.0.1 (#11515)
Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.7
to 46.0.1.
Changelog
Sourced from cryptography's
changelog.
46.0.1 - 2025-09-16
* Fixed an issue where users installing via ``pip`` on Python 3.14
development
versions would not properly install a dependency.
* Fixed an issue building the free-threaded macOS 3.14 wheels.
.. _v46-0-0:
46.0.0 - 2025-09-16
- BACKWARDS INCOMPATIBLE: Support for Python 3.7 has
been removed.
- Support for OpenSSL < 3.0 is deprecated and will be removed in
the next
release.
- Support for
x86_64 macOS (including publishing wheels)
is deprecated
and will be removed in two releases. We will switch to publishing an
arm64 only wheel for macOS.
- Support for 32-bit Windows (including publishing wheels) is
deprecated
and will be removed in two releases. Users should move to a 64-bit
Python installation.
- Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
3.5.3.
- We now build
ppc64le manylinux wheels and
publish them to PyPI.
- We now build
win_arm64 (Windows on Arm) wheels and
publish them to PyPI.
- Added support for free-threaded Python 3.14.
- Removed the deprecated
get_attribute_for_oid method on
:class:~cryptography.x509.CertificateSigningRequest. Users
should use
:meth:~cryptography.x509.Attributes.get_attribute_for_oid
instead.
- Removed the deprecated
CAST5, SEED,
IDEA, and Blowfish
classes from the cipher module. These are still available in
:doc:/hazmat/decrepit/index.
- In X.509, when performing a PSS signature with a SHA-3 hash, it is
now
encoded with the official NIST SHA3 OID.
.. _v45-0-7:
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements/constraints.txt | 3 ++-
requirements/dev.txt | 3 ++-
requirements/lint.txt | 3 ++-
requirements/test.txt | 3 ++-
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 2c08d98fc2b..593b9246fd2 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -56,7 +56,7 @@ coverage==7.10.6
# via
# -r requirements/test.in
# pytest-cov
-cryptography==45.0.7
+cryptography==46.0.1
# via
# pyjwt
# trustme
@@ -266,6 +266,7 @@ trustme==1.2.1 ; platform_machine != "i686"
typing-extensions==4.15.0
# via
# aiosignal
+ # cryptography
# exceptiongroup
# multidict
# mypy
diff --git a/requirements/dev.txt b/requirements/dev.txt
index d6029f81675..1c347fc1fb6 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -56,7 +56,7 @@ coverage==7.10.6
# via
# -r requirements/test.in
# pytest-cov
-cryptography==45.0.7
+cryptography==46.0.1
# via
# pyjwt
# trustme
@@ -257,6 +257,7 @@ trustme==1.2.1 ; platform_machine != "i686"
typing-extensions==4.15.0
# via
# aiosignal
+ # cryptography
# exceptiongroup
# multidict
# mypy
diff --git a/requirements/lint.txt b/requirements/lint.txt
index 82e3a6e3b4a..1e616119569 100644
--- a/requirements/lint.txt
+++ b/requirements/lint.txt
@@ -21,7 +21,7 @@ cfgv==3.4.0
# via pre-commit
click==8.1.8
# via slotscheck
-cryptography==45.0.7
+cryptography==46.0.1
# via trustme
distlib==0.4.0
# via virtualenv
@@ -105,6 +105,7 @@ trustme==1.2.1
# via -r requirements/lint.in
typing-extensions==4.15.0
# via
+ # cryptography
# exceptiongroup
# mypy
# pydantic
diff --git a/requirements/test.txt b/requirements/test.txt
index cbf6151919a..ed78feb01d6 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -29,7 +29,7 @@ coverage==7.10.6
# via
# -r requirements/test.in
# pytest-cov
-cryptography==45.0.7
+cryptography==46.0.1
# via trustme
exceptiongroup==1.3.0
# via pytest
@@ -130,6 +130,7 @@ trustme==1.2.1 ; platform_machine != "i686"
typing-extensions==4.15.0
# via
# aiosignal
+ # cryptography
# exceptiongroup
# multidict
# mypy
From d9a4714d5ab4d7084975e6067654cdb85f9f61d1 Mon Sep 17 00:00:00 2001
From: Kumar Aditya
Date: Wed, 17 Sep 2025 19:43:13 +0530
Subject: [PATCH 3/4] add free-threading CI for Python 3.14 (#11466)
Co-authored-by: J. Nick Koston
---
.github/workflows/ci-cd.yml | 10 ++-
CHANGES/11466.contrib.rst | 1 +
requirements/base-ft.in | 3 +
requirements/base-ft.txt | 48 +++++++++++
requirements/test-common.in | 17 ++++
requirements/test-common.txt | 113 ++++++++++++++++++++++++++
requirements/test-ft.in | 2 +
requirements/test-ft.txt | 150 +++++++++++++++++++++++++++++++++++
requirements/test.in | 19 +----
requirements/test.txt | 4 +-
10 files changed, 346 insertions(+), 21 deletions(-)
create mode 100644 CHANGES/11466.contrib.rst
create mode 100644 requirements/base-ft.in
create mode 100644 requirements/base-ft.txt
create mode 100644 requirements/test-common.in
create mode 100644 requirements/test-common.txt
create mode 100644 requirements/test-ft.in
create mode 100644 requirements/test-ft.txt
diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml
index 7efa2196cb5..8152946c902 100644
--- a/.github/workflows/ci-cd.yml
+++ b/.github/workflows/ci-cd.yml
@@ -156,6 +156,9 @@ jobs:
pyver: "3.14"
experimental: true
no-extensions: 'Y'
+ - os: ubuntu
+ pyver: "3.14t"
+ experimental: true
fail-fast: true
runs-on: ${{ matrix.os }}-latest
continue-on-error: ${{ matrix.experimental }}
@@ -186,8 +189,13 @@ jobs:
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install dependencies
+ env:
+ DEPENDENCY_GROUP: test${{ endsWith(matrix.pyver, 't') && '-ft' || '' }}
run: |
- python -m pip install -r requirements/test.in -c requirements/test.txt
+ python -Im pip install -r requirements/${{ env.DEPENDENCY_GROUP }}.in -c requirements/${{ env.DEPENDENCY_GROUP }}.txt
+ - name: Set PYTHON_GIL=0 for free-threading builds
+ if: ${{ endsWith(matrix.pyver, 't') }}
+ run: echo "PYTHON_GIL=0" >> $GITHUB_ENV
- name: Restore llhttp generated files
if: ${{ matrix.no-extensions == '' }}
uses: actions/download-artifact@v5
diff --git a/CHANGES/11466.contrib.rst b/CHANGES/11466.contrib.rst
new file mode 100644
index 00000000000..07c5f40c82e
--- /dev/null
+++ b/CHANGES/11466.contrib.rst
@@ -0,0 +1 @@
+Added free-threading CI job for CPython 3.14 -- by :user:`kumaraditya303`.
diff --git a/requirements/base-ft.in b/requirements/base-ft.in
new file mode 100644
index 00000000000..2b0cbf7d0c2
--- /dev/null
+++ b/requirements/base-ft.in
@@ -0,0 +1,3 @@
+-r runtime-deps.in
+
+gunicorn
diff --git a/requirements/base-ft.txt b/requirements/base-ft.txt
new file mode 100644
index 00000000000..15c562571be
--- /dev/null
+++ b/requirements/base-ft.txt
@@ -0,0 +1,48 @@
+#
+# This file is autogenerated by pip-compile with Python 3.10
+# by the following command:
+#
+# pip-compile --allow-unsafe --output-file=requirements/base-ft.txt --strip-extras requirements/base-ft.in
+#
+aiodns==3.5.0
+ # via -r requirements/runtime-deps.in
+aiohappyeyeballs==2.6.1
+ # via -r requirements/runtime-deps.in
+aiosignal==1.4.0
+ # via -r requirements/runtime-deps.in
+async-timeout==5.0.1 ; python_version < "3.11"
+ # via -r requirements/runtime-deps.in
+brotli==1.1.0 ; platform_python_implementation == "CPython"
+ # via -r requirements/runtime-deps.in
+cffi==2.0.0
+ # via pycares
+frozenlist==1.7.0
+ # via
+ # -r requirements/runtime-deps.in
+ # aiosignal
+gunicorn==23.0.0
+ # via -r requirements/base-ft.in
+idna==3.10
+ # via yarl
+multidict==6.6.4
+ # via
+ # -r requirements/runtime-deps.in
+ # yarl
+packaging==25.0
+ # via gunicorn
+propcache==0.3.2
+ # via
+ # -r requirements/runtime-deps.in
+ # yarl
+pycares==4.11.0
+ # via aiodns
+pycparser==2.23
+ # via cffi
+typing-extensions==4.15.0
+ # via
+ # aiosignal
+ # multidict
+yarl==1.20.1
+ # via -r requirements/runtime-deps.in
+zstandard==0.25.0 ; platform_python_implementation == "CPython" and python_version < "3.14"
+ # via -r requirements/runtime-deps.in
diff --git a/requirements/test-common.in b/requirements/test-common.in
new file mode 100644
index 00000000000..c010f61fa8a
--- /dev/null
+++ b/requirements/test-common.in
@@ -0,0 +1,17 @@
+blockbuster
+coverage
+freezegun
+isal; python_version < "3.14" # no wheel for 3.14
+mypy; implementation_name == "cpython"
+pkgconfig
+proxy.py >= 2.4.4rc5
+pytest
+pytest-cov
+pytest-mock
+pytest-xdist
+pytest_codspeed
+python-on-whales
+setuptools-git
+trustme; platform_machine != "i686" # no 32-bit wheels
+wait-for-it
+zlib_ng
diff --git a/requirements/test-common.txt b/requirements/test-common.txt
new file mode 100644
index 00000000000..1084e634ddd
--- /dev/null
+++ b/requirements/test-common.txt
@@ -0,0 +1,113 @@
+#
+# This file is autogenerated by pip-compile with Python 3.10
+# by the following command:
+#
+# pip-compile --allow-unsafe --output-file=requirements/test-common.txt --strip-extras requirements/test-common.in
+#
+annotated-types==0.7.0
+ # via pydantic
+blockbuster==1.5.25
+ # via -r requirements/test-common.in
+cffi==2.0.0
+ # via
+ # cryptography
+ # pytest-codspeed
+click==8.2.1
+ # via wait-for-it
+coverage==7.10.6
+ # via
+ # -r requirements/test-common.in
+ # pytest-cov
+cryptography==46.0.1
+ # via trustme
+exceptiongroup==1.3.0
+ # via pytest
+execnet==2.1.1
+ # via pytest-xdist
+forbiddenfruit==0.1.4
+ # via blockbuster
+freezegun==1.5.5
+ # via -r requirements/test-common.in
+idna==3.10
+ # via trustme
+iniconfig==2.1.0
+ # via pytest
+isal==1.8.0 ; python_version < "3.14"
+ # via -r requirements/test-common.in
+markdown-it-py==4.0.0
+ # via rich
+mdurl==0.1.2
+ # via markdown-it-py
+mypy==1.18.1 ; implementation_name == "cpython"
+ # via -r requirements/test-common.in
+mypy-extensions==1.1.0
+ # via mypy
+packaging==25.0
+ # via pytest
+pathspec==0.12.1
+ # via mypy
+pkgconfig==1.5.5
+ # via -r requirements/test-common.in
+pluggy==1.6.0
+ # via
+ # pytest
+ # pytest-cov
+proxy-py==2.4.10
+ # via -r requirements/test-common.in
+pycparser==2.23
+ # via cffi
+pydantic==2.12.0a1
+ # via python-on-whales
+pydantic-core==2.37.2
+ # via pydantic
+pygments==2.19.2
+ # via
+ # pytest
+ # rich
+pytest==8.4.2
+ # via
+ # -r requirements/test-common.in
+ # pytest-codspeed
+ # pytest-cov
+ # pytest-mock
+ # pytest-xdist
+pytest-codspeed==4.0.0
+ # via -r requirements/test-common.in
+pytest-cov==7.0.0
+ # via -r requirements/test-common.in
+pytest-mock==3.15.1
+ # via -r requirements/test-common.in
+pytest-xdist==3.8.0
+ # via -r requirements/test-common.in
+python-dateutil==2.9.0.post0
+ # via freezegun
+python-on-whales==0.78.0
+ # via -r requirements/test-common.in
+rich==14.1.0
+ # via pytest-codspeed
+setuptools-git==1.2
+ # via -r requirements/test-common.in
+six==1.17.0
+ # via python-dateutil
+tomli==2.2.1
+ # via
+ # coverage
+ # mypy
+ # pytest
+trustme==1.2.1 ; platform_machine != "i686"
+ # via -r requirements/test-common.in
+typing-extensions==4.15.0
+ # via
+ # cryptography
+ # exceptiongroup
+ # mypy
+ # pydantic
+ # pydantic-core
+ # python-on-whales
+ # typing-inspection
+typing-inspection==0.4.1
+ # via pydantic
+wait-for-it==2.3.0
+ # via -r requirements/test-common.in
+zlib-ng==1.0.0
+ # via -r requirements/test-common.in
diff --git a/requirements/test-ft.in b/requirements/test-ft.in
new file mode 100644
index 00000000000..b85406e5d7b
--- /dev/null
+++ b/requirements/test-ft.in
@@ -0,0 +1,2 @@
+-r base-ft.in
+-r test-common.in
diff --git a/requirements/test-ft.txt b/requirements/test-ft.txt
new file mode 100644
index 00000000000..fd522842db9
--- /dev/null
+++ b/requirements/test-ft.txt
@@ -0,0 +1,150 @@
+#
+# This file is autogenerated by pip-compile with Python 3.10
+# by the following command:
+#
+# pip-compile --allow-unsafe --output-file=requirements/test-ft.txt --strip-extras requirements/test-ft.in
+#
+aiodns==3.5.0
+ # via -r requirements/runtime-deps.in
+aiohappyeyeballs==2.6.1
+ # via -r requirements/runtime-deps.in
+aiosignal==1.4.0
+ # via -r requirements/runtime-deps.in
+annotated-types==0.7.0
+ # via pydantic
+async-timeout==5.0.1 ; python_version < "3.11"
+ # via -r requirements/runtime-deps.in
+blockbuster==1.5.25
+ # via -r requirements/test-common.in
+brotli==1.1.0 ; platform_python_implementation == "CPython"
+ # via -r requirements/runtime-deps.in
+cffi==2.0.0
+ # via
+ # cryptography
+ # pycares
+ # pytest-codspeed
+click==8.2.1
+ # via wait-for-it
+coverage==7.10.6
+ # via
+ # -r requirements/test-common.in
+ # pytest-cov
+cryptography==46.0.1
+ # via trustme
+exceptiongroup==1.3.0
+ # via pytest
+execnet==2.1.1
+ # via pytest-xdist
+forbiddenfruit==0.1.4
+ # via blockbuster
+freezegun==1.5.5
+ # via -r requirements/test-common.in
+frozenlist==1.7.0
+ # via
+ # -r requirements/runtime-deps.in
+ # aiosignal
+gunicorn==23.0.0
+ # via -r requirements/base-ft.in
+idna==3.10
+ # via
+ # trustme
+ # yarl
+iniconfig==2.1.0
+ # via pytest
+isal==1.8.0 ; python_version < "3.14"
+ # via -r requirements/test-common.in
+markdown-it-py==4.0.0
+ # via rich
+mdurl==0.1.2
+ # via markdown-it-py
+multidict==6.6.4
+ # via
+ # -r requirements/runtime-deps.in
+ # yarl
+mypy==1.18.1 ; implementation_name == "cpython"
+ # via -r requirements/test-common.in
+mypy-extensions==1.1.0
+ # via mypy
+packaging==25.0
+ # via
+ # gunicorn
+ # pytest
+pathspec==0.12.1
+ # via mypy
+pkgconfig==1.5.5
+ # via -r requirements/test-common.in
+pluggy==1.6.0
+ # via
+ # pytest
+ # pytest-cov
+propcache==0.3.2
+ # via
+ # -r requirements/runtime-deps.in
+ # yarl
+proxy-py==2.4.10
+ # via -r requirements/test-common.in
+pycares==4.11.0
+ # via aiodns
+pycparser==2.23
+ # via cffi
+pydantic==2.12.0a1
+ # via python-on-whales
+pydantic-core==2.37.2
+ # via pydantic
+pygments==2.19.2
+ # via
+ # pytest
+ # rich
+pytest==8.4.2
+ # via
+ # -r requirements/test-common.in
+ # pytest-codspeed
+ # pytest-cov
+ # pytest-mock
+ # pytest-xdist
+pytest-codspeed==4.0.0
+ # via -r requirements/test-common.in
+pytest-cov==7.0.0
+ # via -r requirements/test-common.in
+pytest-mock==3.15.1
+ # via -r requirements/test-common.in
+pytest-xdist==3.8.0
+ # via -r requirements/test-common.in
+python-dateutil==2.9.0.post0
+ # via freezegun
+python-on-whales==0.78.0
+ # via -r requirements/test-common.in
+rich==14.1.0
+ # via pytest-codspeed
+setuptools-git==1.2
+ # via -r requirements/test-common.in
+six==1.17.0
+ # via python-dateutil
+tomli==2.2.1
+ # via
+ # coverage
+ # mypy
+ # pytest
+trustme==1.2.1 ; platform_machine != "i686"
+ # via -r requirements/test-common.in
+typing-extensions==4.15.0
+ # via
+ # aiosignal
+ # cryptography
+ # exceptiongroup
+ # multidict
+ # mypy
+ # pydantic
+ # pydantic-core
+ # python-on-whales
+ # typing-inspection
+typing-inspection==0.4.1
+ # via pydantic
+wait-for-it==2.3.0
+ # via -r requirements/test-common.in
+yarl==1.20.1
+ # via -r requirements/runtime-deps.in
+zlib-ng==1.0.0
+ # via -r requirements/test-common.in
+zstandard==0.25.0 ; platform_python_implementation == "CPython" and python_version < "3.14"
+ # via -r requirements/runtime-deps.in
diff --git a/requirements/test.in b/requirements/test.in
index d6274f6d80d..d37efd6b841 100644
--- a/requirements/test.in
+++ b/requirements/test.in
@@ -1,19 +1,2 @@
-r base.in
-
-blockbuster
-coverage
-freezegun
-isal; python_version < "3.14" # no wheel for 3.14
-mypy; implementation_name == "cpython"
-pkgconfig
-proxy.py >= 2.4.4rc5
-pytest
-pytest-cov
-pytest-mock
-pytest-xdist
-pytest_codspeed
-python-on-whales
-setuptools-git
-trustme; platform_machine != "i686" # no 32-bit wheels
-wait-for-it
-zlib_ng
+-r test-common.in
diff --git a/requirements/test.txt b/requirements/test.txt
index ed78feb01d6..9f11c47e5cc 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -87,9 +87,9 @@ pycares==4.11.0
# via aiodns
pycparser==2.23
# via cffi
-pydantic==2.11.9
+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
From 230e1ee6faecd161bf43679dcb4556e251fb424f Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Wed, 17 Sep 2025 15:02:15 +0000
Subject: [PATCH 4/4] [pre-commit.ci] pre-commit autoupdate (#11407)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston
---
.pre-commit-config.yaml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index aac59671aa3..c0a59104b35 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -48,7 +48,7 @@ repos:
entry: ./tools/check_changes.py
pass_filenames: false
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: 'v5.0.0'
+ rev: 'v6.0.0'
hooks:
- id: check-merge-conflict
- repo: https://github.com/asottile/yesqa
@@ -69,7 +69,7 @@ repos:
- id: black
language_version: python3 # Should be a command that runs python
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: 'v5.0.0'
+ rev: 'v6.0.0'
hooks:
- id: end-of-file-fixer
exclude: >-
@@ -94,8 +94,6 @@ repos:
- id: check-added-large-files
- id: check-symlinks
- id: fix-byte-order-marker
- - id: fix-encoding-pragma
- args: ['--remove']
- id: detect-aws-credentials
args: ['--allow-missing-credentials']
- id: detect-private-key