From c952a42970646ad7cb7a7a8aa7ab980486f590c3 Mon Sep 17 00:00:00 2001 From: rhatgadkar-goog Date: Mon, 20 Oct 2025 23:13:14 +0000 Subject: [PATCH 1/3] feat: add support for Python 3.14 This change adds support for Python 3.14, which is the latest stable release of Python as of October 7, 2025. Before merging this PR, we need to do the following: - Submit #488 because it contains the change for psycopg2-binary 2.9.11, which adds support for Python 3.14. - Update branch protection settings to use 3.14 as latest Python version instead of 3.13. --- .github/workflows/coverage.yaml | 2 +- .github/workflows/lint.yaml | 2 +- .github/workflows/tests.yaml | 4 ++-- noxfile.py | 4 ++-- pyproject.toml | 1 + 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index e0495ecd..b7ada769 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -31,7 +31,7 @@ jobs: - name: Setup Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: - python-version: "3.13" + python-version: "3.14" - run: pip install nox coverage diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index b32dd80f..c9beaceb 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -32,7 +32,7 @@ jobs: - name: Setup Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: - python-version: "3.13" + python-version: "3.14" - name: Install nox run: pip install nox diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 0c297573..ab72062f 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,7 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] - python-version: ["3.9", "3.13"] + python-version: ["3.9", "3.14"] fail-fast: false steps: - name: Checkout code @@ -99,7 +99,7 @@ jobs: (github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]') strategy: matrix: - python-version: ["3.9", "3.13"] + python-version: ["3.9", "3.14"] fail-fast: false permissions: contents: read diff --git a/noxfile.py b/noxfile.py index ef368c27..5b045dfd 100644 --- a/noxfile.py +++ b/noxfile.py @@ -22,8 +22,8 @@ ISORT_VERSION = "isort==5.13.2" LINT_PATHS = ["google", "tests", "noxfile.py"] -SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13"] -UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13"] +SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] +UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] @nox.session diff --git a/pyproject.toml b/pyproject.toml index 7626715f..84de3daa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Operating System :: OS Independent", ] dependencies = [ From cd87d73dbf9791fe35d03b80907910d5631c3fa7 Mon Sep 17 00:00:00 2001 From: rhatgadkar-goog Date: Tue, 21 Oct 2025 17:40:40 +0000 Subject: [PATCH 2/3] Change coverage.yml to use python 3.14 --- .github/workflows/coverage.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index b7ada769..08ad2b2a 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -42,7 +42,7 @@ jobs: - name: Calculate base code coverage run: | - nox --sessions unit-3.13 + nox --sessions unit-3.14 coverage report --show-missing export CUR_COVER=$(coverage report | awk '$1 == "TOTAL" {print $NF+0}') echo "CUR_COVER=$CUR_COVER" >> $GITHUB_ENV @@ -56,7 +56,7 @@ jobs: - name: Calculate PR code coverage run: | - nox --sessions unit-3.13 + nox --sessions unit-3.14 coverage report --show-missing export PR_COVER=$(coverage report | awk '$1 == "TOTAL" {print $NF+0}') echo "PR_COVER=$PR_COVER" >> $GITHUB_ENV From a682132c02aaa3dae3d453c53cc1fcea5e882f01 Mon Sep 17 00:00:00 2001 From: rhatgadkar-goog Date: Tue, 21 Oct 2025 18:06:49 +0000 Subject: [PATCH 3/3] switch back to 3.13 for coverage.yml --- .github/workflows/coverage.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 08ad2b2a..e0495ecd 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -31,7 +31,7 @@ jobs: - name: Setup Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: - python-version: "3.14" + python-version: "3.13" - run: pip install nox coverage @@ -42,7 +42,7 @@ jobs: - name: Calculate base code coverage run: | - nox --sessions unit-3.14 + nox --sessions unit-3.13 coverage report --show-missing export CUR_COVER=$(coverage report | awk '$1 == "TOTAL" {print $NF+0}') echo "CUR_COVER=$CUR_COVER" >> $GITHUB_ENV @@ -56,7 +56,7 @@ jobs: - name: Calculate PR code coverage run: | - nox --sessions unit-3.14 + nox --sessions unit-3.13 coverage report --show-missing export PR_COVER=$(coverage report | awk '$1 == "TOTAL" {print $NF+0}') echo "PR_COVER=$PR_COVER" >> $GITHUB_ENV