From c66b51770637d3d72347ab41a201f672618aeaf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Chaves?= Date: Fri, 1 Dec 2023 10:36:27 +0100 Subject: [PATCH 01/18] Add Python 3.13 alpha to CI --- .github/workflows/checks.yml | 4 ++-- .github/workflows/publish.yml | 2 +- .github/workflows/tests-macos.yml | 2 +- .github/workflows/tests-ubuntu.yml | 9 ++++++--- .github/workflows/tests-windows.yml | 5 ++++- conftest.py | 2 -- setup.py | 1 + 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index d6fc0f6c5..7a380a7a5 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: include: - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" env: TOXENV: pylint - python-version: 3.8 @@ -21,7 +21,7 @@ jobs: - python-version: "3.11" # Keep in sync with .readthedocs.yml env: TOXENV: docs - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" env: TOXENV: twinecheck diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index affaa32a5..456c0ffdd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: 3.12 + python-version: "3.13.0-alpha.2" - run: | pip install --upgrade build twine python -m build diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 252176464..6b110b5d7 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13.0-alpha.2"] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/tests-ubuntu.yml b/.github/workflows/tests-ubuntu.yml index f50a4d104..fd08247e4 100644 --- a/.github/workflows/tests-ubuntu.yml +++ b/.github/workflows/tests-ubuntu.yml @@ -24,7 +24,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" + env: + TOXENV: py + - python-version: "3.13.0-alpha.2" env: TOXENV: asyncio - python-version: pypy3.9 @@ -51,10 +54,10 @@ jobs: env: TOXENV: botocore-pinned - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" env: TOXENV: extra-deps - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" env: TOXENV: botocore diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 757d62285..be082393e 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -27,7 +27,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.12" + - python-version: "3.13.0-alpha.2" + env: + TOXENV: py + - python-version: "3.13.0-alpha.2" env: TOXENV: asyncio diff --git a/conftest.py b/conftest.py index 2bfa46f5a..68921f119 100644 --- a/conftest.py +++ b/conftest.py @@ -91,8 +91,6 @@ def requires_uvloop(request): pytest.skip("uvloop does not support Windows") if twisted_version == Version("twisted", 21, 2, 0): pytest.skip("https://twistedmatrix.com/trac/ticket/10106") - if sys.version_info >= (3, 12): - pytest.skip("uvloop doesn't support Python 3.12 yet") def pytest_configure(config): diff --git a/setup.py b/setup.py index 405633f55..d6ba4765e 100644 --- a/setup.py +++ b/setup.py @@ -63,6 +63,7 @@ setup( "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", From 534a66e9548142a71b118c82e328a08c6e0350b4 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Wed, 22 May 2024 13:16:00 +0500 Subject: [PATCH 02/18] Bump 3.13 to beta1. --- .github/workflows/checks.yml | 4 ++-- .github/workflows/publish.yml | 2 +- .github/workflows/tests-macos.yml | 2 +- .github/workflows/tests-ubuntu.yml | 8 ++++---- .github/workflows/tests-windows.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 4c0400cde..46fd15415 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: include: - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: pylint - python-version: 3.8 @@ -24,7 +24,7 @@ jobs: - python-version: "3.11" # Keep in sync with .readthedocs.yml env: TOXENV: docs - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: twinecheck diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 456c0ffdd..ad94ae9cd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: "3.13.0-alpha.2" + python-version: "3.13.0-beta.1" - run: | pip install --upgrade build twine python -m build diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 6b110b5d7..18890239c 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13.0-alpha.2"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13.0-beta.1"] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/tests-ubuntu.yml b/.github/workflows/tests-ubuntu.yml index fd08247e4..121b5271a 100644 --- a/.github/workflows/tests-ubuntu.yml +++ b/.github/workflows/tests-ubuntu.yml @@ -24,10 +24,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: py - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: asyncio - python-version: pypy3.9 @@ -54,10 +54,10 @@ jobs: env: TOXENV: botocore-pinned - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: extra-deps - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: botocore diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index be082393e..e23c3e67d 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -27,10 +27,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: py - - python-version: "3.13.0-alpha.2" + - python-version: "3.13.0-beta.1" env: TOXENV: asyncio From b6d3d9076fe4c089a278e0a18bd05f1c0796418f Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Wed, 22 May 2024 13:20:48 +0500 Subject: [PATCH 03/18] Help with building lxml on 3.13beta1. --- .github/workflows/tests-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-ubuntu.yml b/.github/workflows/tests-ubuntu.yml index 121b5271a..7ea58b7df 100644 --- a/.github/workflows/tests-ubuntu.yml +++ b/.github/workflows/tests-ubuntu.yml @@ -70,7 +70,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install system libraries - if: contains(matrix.python-version, 'pypy') || contains(matrix.env.TOXENV, 'pinned') + if: contains(matrix.python-version, 'pypy') || contains(matrix.python-version, 'beta') || contains(matrix.env.TOXENV, 'pinned') run: | sudo apt-get update sudo apt-get install libxml2-dev libxslt-dev From 04bc1e6e2a51e874cc6d676ccb111b0793e2776e Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Wed, 22 May 2024 13:24:35 +0500 Subject: [PATCH 04/18] Skip zstandard on 3.13. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index cde4243f3..37a27ae83 100644 --- a/tox.ini +++ b/tox.ini @@ -155,7 +155,7 @@ deps = bpython # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests - zstandard; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests + zstandard; implementation_name != 'pypy' and python_version < '3.13' # optional for HTTP compress downloader middleware tests ipython [testenv:extra-deps-pinned] From d9b5538e3c758d9835fd97a0a60ab2dff810e984 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 28 May 2024 14:04:58 +0500 Subject: [PATCH 05/18] Bump twinecheck deps. --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 37a27ae83..615164714 100644 --- a/tox.ini +++ b/tox.ini @@ -86,8 +86,8 @@ commands = [testenv:twinecheck] basepython = python3 deps = - twine==4.0.2 - build==1.0.3 + twine==5.1.0 + build==1.2.1 commands = python -m build --sdist twine check dist/* From 42347de53f8704c835cd0c25290245d73355d6f5 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 28 May 2024 14:30:35 +0500 Subject: [PATCH 06/18] Install pre-release cffi on 3.13. --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 615164714..8e38112e5 100644 --- a/tox.ini +++ b/tox.ini @@ -19,6 +19,7 @@ deps = sybil >= 1.3.0 # https://github.com/cjw296/sybil/issues/20#issuecomment-605433422 testfixtures pywin32; sys_platform == "win32" + cffi >= 1.17.0rc1; python_version >= '3.13' [testenv] deps = From e6e9fd75db251c274df37b0493e0305473fa6536 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 28 May 2024 14:06:04 +0500 Subject: [PATCH 07/18] Skip mitmproxy and Pillow on 3.13. --- tox.ini | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 8e38112e5..737baec84 100644 --- a/tox.ini +++ b/tox.ini @@ -26,7 +26,8 @@ deps = {[test-requirements]deps} # mitmproxy does not support PyPy - mitmproxy; implementation_name != 'pypy' + # mitmproxy requires zstandard which is not yet available on 3.13 + mitmproxy; implementation_name != 'pypy' and python_version < '3.13' # https://github.com/pallets/werkzeug/pull/2768 breaks flask, required by # mitmproxy. werkzeug < 3; python_version < '3.9' and implementation_name != 'pypy' @@ -150,7 +151,7 @@ deps = # restrictions in their deps, so we need to pin old markupsafe here too. markupsafe < 2.1.0 robotexclusionrulesparser - Pillow + Pillow; python_version < '3.13' Twisted[http2] uvloop; platform_system != "Windows" bpython # optional for shell wrapper tests From 5755e224d5f29b1d6b8b9caca1e208e84ae00822 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 28 May 2024 14:50:09 +0500 Subject: [PATCH 08/18] Help with building lxml on 3.13beta1 for checks too. --- .github/workflows/checks.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 46fd15415..d60e259ba 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -36,6 +36,12 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install system libraries + if: contains(matrix.python-version, 'beta') + run: | + sudo apt-get update + sudo apt-get install libxml2-dev libxslt-dev + - name: Run check env: ${{ matrix.env }} run: | From 1be8aee09c3fe532d42be9b22cae914f29c11f2e Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 28 May 2024 14:56:23 +0500 Subject: [PATCH 09/18] Skip uvloop and bpython on 3.13. --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 737baec84..5c2f34c6e 100644 --- a/tox.ini +++ b/tox.ini @@ -153,8 +153,8 @@ deps = robotexclusionrulesparser Pillow; python_version < '3.13' Twisted[http2] - uvloop; platform_system != "Windows" - bpython # optional for shell wrapper tests + uvloop; platform_system != "Windows" and python_version < '3.13' + bpython; python_version < '3.13' # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests zstandard; implementation_name != 'pypy' and python_version < '3.13' # optional for HTTP compress downloader middleware tests From 70756fd57cff61a1806317127f7dfcd0e77bf1f0 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Sun, 11 Aug 2024 13:57:13 +0500 Subject: [PATCH 10/18] Revert cffi and Pillow restrictions. --- tox.ini | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tox.ini b/tox.ini index ee810eae3..4ccaea653 100644 --- a/tox.ini +++ b/tox.ini @@ -19,15 +19,13 @@ deps = sybil >= 1.3.0 # https://github.com/cjw296/sybil/issues/20#issuecomment-605433422 testfixtures pywin32; sys_platform == "win32" - cffi >= 1.17.0rc1; python_version >= '3.13' [testenv] deps = {[test-requirements]deps} # mitmproxy does not support PyPy - # mitmproxy requires zstandard which is not yet available on 3.13 - mitmproxy; implementation_name != 'pypy' and python_version < '3.13' + mitmproxy; implementation_name != 'pypy' # https://github.com/pallets/werkzeug/pull/2768 breaks flask, required by # mitmproxy. werkzeug < 3; python_version < '3.9' and implementation_name != 'pypy' @@ -150,13 +148,13 @@ deps = boto3 google-cloud-storage robotexclusionrulesparser - Pillow; python_version < '3.13' + Pillow Twisted[http2] uvloop; platform_system != "Windows" and python_version < '3.13' bpython; python_version < '3.13' # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests - zstandard; implementation_name != 'pypy' and python_version < '3.13' # optional for HTTP compress downloader middleware tests + zstandard; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests ipython [testenv:extra-deps-pinned] From c21c4a18509ec9657bfe6e6f99bd913bba7ea41d Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Wed, 21 Aug 2024 01:06:05 +0500 Subject: [PATCH 11/18] Revert uvloop restrictions. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 4ccaea653..bd6782ce5 100644 --- a/tox.ini +++ b/tox.ini @@ -150,7 +150,7 @@ deps = robotexclusionrulesparser Pillow Twisted[http2] - uvloop; platform_system != "Windows" and python_version < '3.13' + uvloop; platform_system != "Windows" bpython; python_version < '3.13' # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests From b3f562d6a5265a7879a9dde3a3dde231bb3970c7 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Thu, 12 Sep 2024 14:31:50 +0500 Subject: [PATCH 12/18] Revert "Revert uvloop restrictions." This reverts commit c21c4a18509ec9657bfe6e6f99bd913bba7ea41d. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index bd6782ce5..4ccaea653 100644 --- a/tox.ini +++ b/tox.ini @@ -150,7 +150,7 @@ deps = robotexclusionrulesparser Pillow Twisted[http2] - uvloop; platform_system != "Windows" + uvloop; platform_system != "Windows" and python_version < '3.13' bpython; python_version < '3.13' # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests From ee9ee2d12d386764044ac7c73f5062548bd1157d Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Thu, 12 Sep 2024 14:32:32 +0500 Subject: [PATCH 13/18] Revert bpython restrictions. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 4ccaea653..8f3d23d75 100644 --- a/tox.ini +++ b/tox.ini @@ -151,7 +151,7 @@ deps = Pillow Twisted[http2] uvloop; platform_system != "Windows" and python_version < '3.13' - bpython; python_version < '3.13' # optional for shell wrapper tests + bpython # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests zstandard; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests From e139d22db9f3becc0a7e19e79daa1da3bb65383f Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Fri, 20 Sep 2024 19:28:28 +0500 Subject: [PATCH 14/18] Fix expectations for get_func_args() on 3.13. --- tests/test_utils_python.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/test_utils_python.py b/tests/test_utils_python.py index 4c60deafe..5681ff9a4 100644 --- a/tests/test_utils_python.py +++ b/tests/test_utils_python.py @@ -1,6 +1,7 @@ import functools import operator import platform +import sys from twisted.trial import unittest @@ -238,16 +239,18 @@ class UtilsPythonTestCase(unittest.TestCase): self.assertEqual(get_func_args(str.split, stripself=True), ["sep", "maxsplit"]) self.assertEqual(get_func_args(" ".join, stripself=True), ["iterable"]) - if platform.python_implementation() == "CPython": - # This didn't work on older versions of CPython: https://github.com/python/cpython/issues/86951 + if sys.version_info >= (3, 13) or platform.python_implementation() == "PyPy": + # the correct and correctly extracted signature + self.assertEqual( + get_func_args(operator.itemgetter(2), stripself=True), ["obj"] + ) + elif platform.python_implementation() == "CPython": + # ["args", "kwargs"] is a correct result for the pre-3.13 incorrect function signature + # [] is an incorrect result on even older CPython (https://github.com/python/cpython/issues/86951) self.assertIn( get_func_args(operator.itemgetter(2), stripself=True), [[], ["args", "kwargs"]], ) - elif platform.python_implementation() == "PyPy": - self.assertEqual( - get_func_args(operator.itemgetter(2), stripself=True), ["obj"] - ) def test_without_none_values(self): self.assertEqual(without_none_values([1, None, 3, 4]), [1, 3, 4]) From df6c51af0f518724151b69bd2d958a0c3fb18ff3 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 8 Oct 2024 15:37:49 +0500 Subject: [PATCH 15/18] Use the 3.13 release. --- .github/workflows/checks.yml | 4 ++-- .github/workflows/publish.yml | 2 +- .github/workflows/tests-macos.yml | 2 +- .github/workflows/tests-ubuntu.yml | 10 +++++----- .github/workflows/tests-windows.yml | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 224d5cbbe..e912bf0cd 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: include: - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: pylint - python-version: 3.8 @@ -24,7 +24,7 @@ jobs: - python-version: "3.12" # Keep in sync with .readthedocs.yml env: TOXENV: docs - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: twinecheck diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 75a7479eb..4c7bde147 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: "3.13.0-beta.1" + python-version: "3.13" - run: | pip install --upgrade build twine python -m build diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 2e6e4265d..1f123824b 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13.0-beta.1"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/tests-ubuntu.yml b/.github/workflows/tests-ubuntu.yml index 39af0c79f..9db2ad897 100644 --- a/.github/workflows/tests-ubuntu.yml +++ b/.github/workflows/tests-ubuntu.yml @@ -24,10 +24,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: py - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: asyncio - python-version: pypy3.9 @@ -54,10 +54,10 @@ jobs: env: TOXENV: botocore-pinned - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: extra-deps - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: botocore @@ -70,7 +70,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install system libraries - if: contains(matrix.python-version, 'pypy') || contains(matrix.python-version, 'beta') || contains(matrix.env.TOXENV, 'pinned') + if: contains(matrix.python-version, 'pypy') || contains(matrix.env.TOXENV, 'pinned') run: | sudo apt-get update sudo apt-get install libxml2-dev libxslt-dev diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index d32d19958..4e1034d77 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -27,10 +27,10 @@ jobs: - python-version: "3.12" env: TOXENV: py - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: py - - python-version: "3.13.0-beta.1" + - python-version: "3.13" env: TOXENV: asyncio From 29bb8692841491db388d4fa71f28b453a79bdab9 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 8 Oct 2024 15:43:17 +0500 Subject: [PATCH 16/18] Remove the beta block. --- .github/workflows/checks.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index e912bf0cd..03298e3cc 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -36,12 +36,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: Install system libraries - if: contains(matrix.python-version, 'beta') - run: | - sudo apt-get update - sudo apt-get install libxml2-dev libxslt-dev - - name: Run check env: ${{ matrix.env }} run: | From 9bd5e5bcdbad47aee3e5d141c74e5d029502904c Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Wed, 16 Oct 2024 14:50:57 +0500 Subject: [PATCH 17/18] Revert uvloop restrictions. --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 451860653..dad15c6ab 100644 --- a/tox.ini +++ b/tox.ini @@ -149,8 +149,8 @@ deps = robotexclusionrulesparser Pillow Twisted[http2] - uvloop; platform_system != "Windows" and python_version < '3.13' - bpython # optional for shell wrapper tests + uvloop; platform_system != "Windows" + bpython # optional for shell wrapper tests brotli; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests brotlicffi; implementation_name == 'pypy' # optional for HTTP compress downloader middleware tests zstandard; implementation_name != 'pypy' # optional for HTTP compress downloader middleware tests From d10c58ff38b88bf1cb67503645e9cb00a59d970f Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Tue, 22 Oct 2024 19:07:21 +0500 Subject: [PATCH 18/18] Bump pyftpdlib to the version supporting Python 3.13 on Windows. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index fbbce48d4..a526fc120 100644 --- a/tox.ini +++ b/tox.ini @@ -11,7 +11,7 @@ minversion = 1.7.0 deps = attrs pexpect >= 4.8.0 - pyftpdlib >= 1.5.8 + pyftpdlib >= 2.0.1 pygments pytest pytest-cov==4.0.0