From ae8438bd9d26dde2fb8d6e7cf8adb848c8235087 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Thu, 10 Oct 2024 16:05:21 +0000 Subject: [PATCH] feat: Add support for Python 3.13 --- .github/sync-repo-settings.yaml | 12 ++++- .github/workflows/tests.yaml | 50 +++++++++---------- gapic/ads-templates/noxfile.py.j2 | 1 + gapic/ads-templates/setup.py.j2 | 1 + gapic/templates/noxfile.py.j2 | 9 ++-- gapic/templates/setup.py.j2 | 1 + noxfile.py | 1 + setup.py | 1 + tests/integration/goldens/asset/noxfile.py | 9 ++-- tests/integration/goldens/asset/setup.py | 1 + .../goldens/credentials/noxfile.py | 9 ++-- .../integration/goldens/credentials/setup.py | 1 + tests/integration/goldens/eventarc/noxfile.py | 9 ++-- tests/integration/goldens/eventarc/setup.py | 1 + tests/integration/goldens/logging/noxfile.py | 9 ++-- tests/integration/goldens/logging/setup.py | 1 + tests/integration/goldens/redis/noxfile.py | 9 ++-- tests/integration/goldens/redis/setup.py | 1 + 18 files changed, 74 insertions(+), 52 deletions(-) diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index e04213881..f0240c14d 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -12,10 +12,11 @@ branchProtectionRules: - 'mypy (3.10)' - 'mypy (3.11)' - 'mypy (3.12)' + - 'mypy (3.13)' - 'showcase (3.7, showcase)' - - 'showcase (3.12, showcase)' + - 'showcase (3.13, showcase)' - 'showcase (3.7, showcase_alternative_templates)' - - 'showcase (3.12, showcase_alternative_templates)' + - 'showcase (3.13, showcase_alternative_templates)' # TODO(dovs): reenable these when the mtls tests have been debugged and fixed # See #1218 for details # - 'showcase-mtls (showcase_mtls)' @@ -28,24 +29,28 @@ branchProtectionRules: - 'showcase-unit (3.10)' - 'showcase-unit (3.11)' - 'showcase-unit (3.12)' + - 'showcase-unit (3.13)' - 'showcase-unit (3.7, _alternative_templates)' - 'showcase-unit (3.8, _alternative_templates)' - 'showcase-unit (3.9, _alternative_templates)' - 'showcase-unit (3.10, _alternative_templates)' - 'showcase-unit (3.11, _alternative_templates)' - 'showcase-unit (3.12, _alternative_templates)' + - 'showcase-unit (3.13, _alternative_templates)' - 'showcase-unit (3.7, _alternative_templates_mixins)' - 'showcase-unit (3.8, _alternative_templates_mixins)' - 'showcase-unit (3.9, _alternative_templates_mixins)' - 'showcase-unit (3.10, _alternative_templates_mixins)' - 'showcase-unit (3.11, _alternative_templates_mixins)' - 'showcase-unit (3.12, _alternative_templates_mixins)' + - 'showcase-unit (3.13, _alternative_templates_mixins)' - 'showcase-unit (3.7, _mixins)' - 'showcase-unit (3.8, _mixins)' - 'showcase-unit (3.9, _mixins)' - 'showcase-unit (3.10, _mixins)' - 'showcase-unit (3.11, _mixins)' - 'showcase-unit (3.12, _mixins)' + - 'showcase-unit (3.13, _mixins)' - 'showcase-unit-add-iam-methods' - 'integration' - 'goldens-lint' @@ -58,18 +63,21 @@ branchProtectionRules: - 'unit (3.10)' - 'unit (3.11)' - 'unit (3.12)' + - 'unit (3.13)' - 'fragment (3.7)' - 'fragment (3.8)' - 'fragment (3.9)' - 'fragment (3.10)' - 'fragment (3.11)' - 'fragment (3.12)' + - 'fragment (3.13)' - 'fragment (3.7, _alternative_templates)' - 'fragment (3.8, _alternative_templates)' - 'fragment (3.9, _alternative_templates)' - 'fragment (3.10, _alternative_templates)' - 'fragment (3.11, _alternative_templates)' - 'fragment (3.12, _alternative_templates)' + - 'fragment (3.13, _alternative_templates)' - 'OwlBot Post Processor' requiredApprovingReviewCount: 1 requiresCodeOwnerReviews: true diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 5eaf75d2a..ff358fc44 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,7 @@ jobs: matrix: # Run mypy on all of the supported python versions listed in setup.py # https://github.com/python/mypy/blob/master/setup.py - python: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -56,7 +56,7 @@ jobs: # Run showcase tests on the lowest and highest supported runtimes matrix: # TODO(https://github.com/googleapis/gapic-generator-python/issues/2121) Remove `showcase_w_rest_async` target when async rest is GA. - python: ["3.7", "3.12"] + python: ["3.7", "3.13"] target: [showcase, showcase_alternative_templates, showcase_w_rest_async] runs-on: ubuntu-latest steps: @@ -104,10 +104,10 @@ jobs: run: | sudo mkdir -p /tmp/workspace/tests/cert/ sudo chown -R ${USER} /tmp/workspace/ - - name: Set up Python "3.12" + - name: Set up Python "3.13" uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Copy mtls files run: cp tests/cert/mtls.* /tmp/workspace/tests/cert/ @@ -140,7 +140,7 @@ jobs: showcase-unit: strategy: matrix: - python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] # TODO(https://github.com/googleapis/gapic-generator-python/issues/2121) Remove `_w_rest_async` variant when async rest is GA. variant: ['', _alternative_templates, _mixins, _alternative_templates_mixins, _w_rest_async] runs-on: ubuntu-latest @@ -171,10 +171,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python "3.12" + - name: Set up Python "3.13" uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Install system dependencies. run: | @@ -199,10 +199,10 @@ jobs: variant: ['', _alternative_templates] steps: - uses: actions/checkout@v4 - - name: Set up Python "3.12" + - name: Set up Python "3.13" uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Install system dependencies. run: | @@ -224,10 +224,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python "3.12" + - name: Set up Python "3.13" uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Install system dependencies. run: | @@ -240,7 +240,7 @@ jobs: unit: strategy: matrix: - python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -261,7 +261,7 @@ jobs: fragment: strategy: matrix: - python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] variant: ['', _alternative_templates] runs-on: ubuntu-latest steps: @@ -313,29 +313,29 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Install nox. run: | python -m pip install nox - name: Run blacken and lint on the generated output. run: | - nox -f tests/integration/goldens/asset/noxfile.py -s mypy-3.12 blacken lint - nox -f tests/integration/goldens/credentials/noxfile.py -s mypy-3.12 blacken lint - nox -f tests/integration/goldens/eventarc/noxfile.py -s mypy-3.12 blacken lint - nox -f tests/integration/goldens/logging/noxfile.py -s mypy-3.12 blacken lint - nox -f tests/integration/goldens/redis/noxfile.py -s mypy-3.12 blacken lint + nox -f tests/integration/goldens/asset/noxfile.py -s mypy-3.13 blacken lint + nox -f tests/integration/goldens/credentials/noxfile.py -s mypy-3.13 blacken lint + nox -f tests/integration/goldens/eventarc/noxfile.py -s mypy-3.13 blacken lint + nox -f tests/integration/goldens/logging/noxfile.py -s mypy-3.13 blacken lint + nox -f tests/integration/goldens/redis/noxfile.py -s mypy-3.13 blacken lint goldens-prerelease: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" cache: 'pip' - name: Install nox. run: | @@ -353,12 +353,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python "3.11" + - name: Set up Python "3.13" uses: actions/setup-python@v5 with: - # Do not upgrade this check to python 3.12 until - # https://github.com/hhatto/autopep8/issues/712 is fixed - python-version: "3.11" + python-version: "3.13" cache: 'pip' - name: Install autopep8 run: | diff --git a/gapic/ads-templates/noxfile.py.j2 b/gapic/ads-templates/noxfile.py.j2 index f10310fdf..9a2836cb8 100644 --- a/gapic/ads-templates/noxfile.py.j2 +++ b/gapic/ads-templates/noxfile.py.j2 @@ -14,6 +14,7 @@ ALL_PYTHON = [ "3.10", "3.11", "3.12", + "3.13", ] @nox.session(python=ALL_PYTHON) diff --git a/gapic/ads-templates/setup.py.j2 b/gapic/ads-templates/setup.py.j2 index 8bc504f57..be5e11688 100644 --- a/gapic/ads-templates/setup.py.j2 +++ b/gapic/ads-templates/setup.py.j2 @@ -72,6 +72,7 @@ setuptools.setup( "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/gapic/templates/noxfile.py.j2 b/gapic/templates/noxfile.py.j2 index 5a6042e98..14f7e483c 100644 --- a/gapic/templates/noxfile.py.j2 +++ b/gapic/templates/noxfile.py.j2 @@ -18,7 +18,8 @@ ALL_PYTHON = [ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13", ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -28,7 +29,7 @@ PACKAGE_NAME = '{{ api.naming.warehouse_package_name }}' BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -50,7 +51,7 @@ nox.sessions = [ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -84,7 +85,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/gapic/templates/setup.py.j2 b/gapic/templates/setup.py.j2 index a466758ae..9074a8d7d 100644 --- a/gapic/templates/setup.py.j2 +++ b/gapic/templates/setup.py.j2 @@ -91,6 +91,7 @@ setuptools.setup( "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/noxfile.py b/noxfile.py index 2387ea130..69af65387 100644 --- a/noxfile.py +++ b/noxfile.py @@ -40,6 +40,7 @@ "3.10", "3.11", "3.12", + "3.13", ) NEWEST_PYTHON = ALL_PYTHON[-1] diff --git a/setup.py b/setup.py index 5c997bf55..e1f84822a 100644 --- a/setup.py +++ b/setup.py @@ -76,6 +76,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Libraries :: Python Modules", diff --git a/tests/integration/goldens/asset/noxfile.py b/tests/integration/goldens/asset/noxfile.py index 3e4f7c4fe..611788aa6 100755 --- a/tests/integration/goldens/asset/noxfile.py +++ b/tests/integration/goldens/asset/noxfile.py @@ -29,7 +29,8 @@ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13", ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -39,7 +40,7 @@ BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -61,7 +62,7 @@ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -94,7 +95,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/tests/integration/goldens/asset/setup.py b/tests/integration/goldens/asset/setup.py index 406380650..420f0076e 100755 --- a/tests/integration/goldens/asset/setup.py +++ b/tests/integration/goldens/asset/setup.py @@ -86,6 +86,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/tests/integration/goldens/credentials/noxfile.py b/tests/integration/goldens/credentials/noxfile.py index 2194befe9..7a14dd3d6 100755 --- a/tests/integration/goldens/credentials/noxfile.py +++ b/tests/integration/goldens/credentials/noxfile.py @@ -29,7 +29,8 @@ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13", ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -39,7 +40,7 @@ BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -61,7 +62,7 @@ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -94,7 +95,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/tests/integration/goldens/credentials/setup.py b/tests/integration/goldens/credentials/setup.py index f9ceb4c0f..1a84580b1 100755 --- a/tests/integration/goldens/credentials/setup.py +++ b/tests/integration/goldens/credentials/setup.py @@ -83,6 +83,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/tests/integration/goldens/eventarc/noxfile.py b/tests/integration/goldens/eventarc/noxfile.py index 61f7c5c43..af6ab1568 100755 --- a/tests/integration/goldens/eventarc/noxfile.py +++ b/tests/integration/goldens/eventarc/noxfile.py @@ -29,7 +29,8 @@ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13", ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -39,7 +40,7 @@ BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -61,7 +62,7 @@ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -94,7 +95,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/tests/integration/goldens/eventarc/setup.py b/tests/integration/goldens/eventarc/setup.py index 78e888f6a..31591cfdc 100755 --- a/tests/integration/goldens/eventarc/setup.py +++ b/tests/integration/goldens/eventarc/setup.py @@ -84,6 +84,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/tests/integration/goldens/logging/noxfile.py b/tests/integration/goldens/logging/noxfile.py index 6402e148f..faa291048 100755 --- a/tests/integration/goldens/logging/noxfile.py +++ b/tests/integration/goldens/logging/noxfile.py @@ -29,7 +29,8 @@ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13", ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -39,7 +40,7 @@ BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -61,7 +62,7 @@ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -94,7 +95,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/tests/integration/goldens/logging/setup.py b/tests/integration/goldens/logging/setup.py index 2d9c19f37..957e5ce90 100755 --- a/tests/integration/goldens/logging/setup.py +++ b/tests/integration/goldens/logging/setup.py @@ -83,6 +83,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/tests/integration/goldens/redis/noxfile.py b/tests/integration/goldens/redis/noxfile.py index 513250d8f..3758d5f91 100755 --- a/tests/integration/goldens/redis/noxfile.py +++ b/tests/integration/goldens/redis/noxfile.py @@ -29,7 +29,8 @@ "3.9", "3.10", "3.11", - "3.12" + "3.12", + "3.13" ] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -39,7 +40,7 @@ BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "samples", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" +DEFAULT_PYTHON_VERSION = "3.13" nox.sessions = [ "unit", @@ -61,7 +62,7 @@ def unit(session, protobuf_implementation): """Run the unit test suite.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") session.install('coverage', 'pytest', 'pytest-cov', 'pytest-asyncio', 'asyncmock; python_version < "3.8"') @@ -94,7 +95,7 @@ def unit(session, protobuf_implementation): def prerelease_deps(session, protobuf_implementation): """Run the unit test suite against pre-release versions of dependencies.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): session.skip("cpp implementation is not supported in python 3.11+") # Install test environment dependencies diff --git a/tests/integration/goldens/redis/setup.py b/tests/integration/goldens/redis/setup.py index 760f590ed..08ae37c58 100755 --- a/tests/integration/goldens/redis/setup.py +++ b/tests/integration/goldens/redis/setup.py @@ -87,6 +87,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Topic :: Internet", ],