From 495c252c256d335995521a2e9d3f177f7fe88c52 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 08:37:40 -0400 Subject: [PATCH 01/16] chore(python): Add support for Python 3.14 --- owlbot.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/owlbot.py b/owlbot.py index 67b2369ce..6d8a23b7f 100644 --- a/owlbot.py +++ b/owlbot.py @@ -131,6 +131,12 @@ """) +s.replace( + "noxfile.py", + '''session.python in ("3.11", "3.12", "3.13")''', + '''session.python in ("3.11", "3.12", "3.13", "3.14")''' +) + python.py_samples(skip_readmes=True) # Use a python runtime which is available in the owlbot post processor here From 86f639605b91f24b7c790ad2f775bb863c4b91cc Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 09:04:52 -0400 Subject: [PATCH 02/16] fix(ci): Update noxfile for 3.14 and remove unneeded owlbot replace --- noxfile.py | 3 ++- owlbot.py | 7 ------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/noxfile.py b/noxfile.py index 451fced3e..ad8270e80 100644 --- a/noxfile.py +++ b/noxfile.py @@ -28,7 +28,7 @@ DEFAULT_PYTHON_VERSION = "3.12" SYSTEM_TEST_PYTHON_VERSIONS = ["3.12"] -UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] +UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] CONFORMANCE_TEST_PYTHON_VERSIONS = ["3.12"] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -51,6 +51,7 @@ "unit-3.11", "unit-3.12", "unit-3.13", + "unit-3.14", # cover must be last to avoid error `No data to report` "cover", ] diff --git a/owlbot.py b/owlbot.py index 6d8a23b7f..1a58e7203 100644 --- a/owlbot.py +++ b/owlbot.py @@ -130,13 +130,6 @@ export TEST_UNIVERSE_LOCATION=$(gcloud secrets versions access latest --project cloud-devrel-kokoro-resources --secret=client-library-test-universe-storage-location) """) - -s.replace( - "noxfile.py", - '''session.python in ("3.11", "3.12", "3.13")''', - '''session.python in ("3.11", "3.12", "3.13", "3.14")''' -) - python.py_samples(skip_readmes=True) # Use a python runtime which is available in the owlbot post processor here From a5c2db3a0bb058410673f6527b54705ddf77a409 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 29 Oct 2025 13:06:29 +0000 Subject: [PATCH 03/16] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- noxfile.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index ad8270e80..ed04909ae 100644 --- a/noxfile.py +++ b/noxfile.py @@ -28,7 +28,16 @@ DEFAULT_PYTHON_VERSION = "3.12" SYSTEM_TEST_PYTHON_VERSIONS = ["3.12"] -UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] +UNIT_TEST_PYTHON_VERSIONS = [ + "3.7", + "3.8", + "3.9", + "3.10", + "3.11", + "3.12", + "3.13", + "3.14", +] CONFORMANCE_TEST_PYTHON_VERSIONS = ["3.12"] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() From aa4f0800a39529e110405584fc57cf0252e07936 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 09:28:05 -0400 Subject: [PATCH 04/16] feat(ci): Add GitHub Actions unit test workflow --- .github/workflows/unittest.yml | 61 ++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/unittest.yml diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml new file mode 100644 index 000000000..d59bbb1b8 --- /dev/null +++ b/.github/workflows/unittest.yml @@ -0,0 +1,61 @@ +on: + pull_request: + branches: + - main +name: unittest +jobs: + unit: + # TODO(https://github.com/googleapis/gapic-generator-python/issues/2303): use `ubuntu-latest` once this bug is fixed. + # Use ubuntu-22.04 until Python 3.7 is removed from the test matrix + # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories + runs-on: ubuntu-22.04 + strategy: + matrix: + python: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + - name: Install nox + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install nox + - name: Run unit tests + env: + COVERAGE_FILE: .coverage-${{ matrix.python }} + run: | + nox -s unit-${{ matrix.python }} + - name: Upload coverage results + uses: actions/upload-artifact@v4 + with: + name: coverage-artifact-${{ matrix.python }} + path: .coverage-${{ matrix.python }} + include-hidden-files: true + + cover: + runs-on: ubuntu-latest + needs: + - unit + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.8" + - name: Install coverage + run: | + python -m pip install --upgrade setuptools pip wheel + python -m pip install coverage + - name: Download coverage results + uses: actions/download-artifact@v4 + with: + path: .coverage-results/ + - name: Report coverage results + run: | + find .coverage-results -type f -name '*.zip' -exec unzip {} \; + coverage combine .coverage-results/**/.coverage* + coverage report --show-missing --fail-under=99 From 5c8e4adcb04ae6c5ece1fb3d1a5764f4dc3a08f3 Mon Sep 17 00:00:00 2001 From: Chalmer Lowe Date: Wed, 29 Oct 2025 09:43:58 -0400 Subject: [PATCH 05/16] Apply suggestion from @chalmerlowe --- .github/workflows/unittest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index d59bbb1b8..ea0494eb2 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - python: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout uses: actions/checkout@v4 From b065877ba41f93a6b05f9991e7337df7a0c253d4 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 09:49:47 -0400 Subject: [PATCH 06/16] revert(ci): Remove unused GitHub Actions unittest workflow --- .github/workflows/unittest.yml | 61 ---------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 .github/workflows/unittest.yml diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml deleted file mode 100644 index ea0494eb2..000000000 --- a/.github/workflows/unittest.yml +++ /dev/null @@ -1,61 +0,0 @@ -on: - pull_request: - branches: - - main -name: unittest -jobs: - unit: - # TODO(https://github.com/googleapis/gapic-generator-python/issues/2303): use `ubuntu-latest` once this bug is fixed. - # Use ubuntu-22.04 until Python 3.7 is removed from the test matrix - # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories - runs-on: ubuntu-22.04 - strategy: - matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - - name: Install nox - run: | - python -m pip install --upgrade setuptools pip wheel - python -m pip install nox - - name: Run unit tests - env: - COVERAGE_FILE: .coverage-${{ matrix.python }} - run: | - nox -s unit-${{ matrix.python }} - - name: Upload coverage results - uses: actions/upload-artifact@v4 - with: - name: coverage-artifact-${{ matrix.python }} - path: .coverage-${{ matrix.python }} - include-hidden-files: true - - cover: - runs-on: ubuntu-latest - needs: - - unit - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.8" - - name: Install coverage - run: | - python -m pip install --upgrade setuptools pip wheel - python -m pip install coverage - - name: Download coverage results - uses: actions/download-artifact@v4 - with: - path: .coverage-results/ - - name: Report coverage results - run: | - find .coverage-results -type f -name '*.zip' -exec unzip {} \; - coverage combine .coverage-results/**/.coverage* - coverage report --show-missing --fail-under=99 From 4003d10757985c0675ff186631e911fa69c5b1ae Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 10:11:08 -0400 Subject: [PATCH 07/16] docs(contributing): Update supported Python versions and nox commands --- CONTRIBUTING.rst | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 316d8b266..91e278698 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -22,7 +22,7 @@ In order to add a feature: documentation. - The feature must work fully on the following CPython versions: - 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13 on both UNIX and Windows. + 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14 on both UNIX and Windows. - The feature must not add unnecessary dependencies (where "unnecessary" is of course subjective, but new dependencies should @@ -69,7 +69,6 @@ We use `nox `__ to instrument our tests. - To test your changes, run unit tests with ``nox``:: - $ nox -s unit-2.7 $ nox -s unit-3.7 $ ... @@ -133,14 +132,11 @@ Running System Tests - To run system tests, you can execute:: - $ nox -s system-3.8 - $ nox -s system-2.7 + $ nox -s system-3.12 .. note:: - System tests are only configured to run under Python 2.7 and - Python 3.8. For expediency, we do not run them in older versions - of Python 3. + System tests are configured to run under Python 3.12 in ``noxfile.py``. This alone will not run the tests. You'll need to change some local auth settings and change some configuration in your project to @@ -202,25 +198,27 @@ Supported Python Versions We support: -- `Python 3.5`_ -- `Python 3.6`_ - `Python 3.7`_ - `Python 3.8`_ +- `Python 3.9`_ +- `Python 3.10`_ +- `Python 3.11`_ +- `Python 3.12`_ +- `Python 3.13`_ +- `Python 3.14`_ -.. _Python 3.5: https://docs.python.org/3.5/ -.. _Python 3.6: https://docs.python.org/3.6/ .. _Python 3.7: https://docs.python.org/3.7/ .. _Python 3.8: https://docs.python.org/3.8/ - +.. _Python 3.9: https://docs.python.org/3.9/ +.. _Python 3.10: https://docs.python.org/3.10/ +.. _Python 3.11: https://docs.python.org/3.11/ +.. _Python 3.12: https://docs.python.org/3.12/ +.. _Python 3.13: https://docs.python.org/3.13/ +.. _Python 3.14: https://docs.python.org/3.14/ Supported versions can be found in our ``noxfile.py`` `config`_. -.. _config: https://github.com/googleapis/python-storage/blob/main/noxfile.py - -Python 2.7 support is deprecated. All code changes should maintain Python 2.7 compatibility until January 1, 2020. - -We also explicitly decided to support Python 3 beginning with version -3.5. Reasons for this include: +We also explicitly decided to support Python 3 beginning with version 3.7. Reasons for this include: - Encouraging use of newest versions of Python 3 - Taking the lead of `prominent`_ open-source `projects`_ From 174ff3cd984a439b13687877d0dc9b897f929927 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 10:16:18 -0400 Subject: [PATCH 08/16] chore(ci): Update owlbot excludes for Kokoro files --- owlbot.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/owlbot.py b/owlbot.py index 1a58e7203..8baa4a617 100644 --- a/owlbot.py +++ b/owlbot.py @@ -99,8 +99,7 @@ "CONTRIBUTING.rst", "README.rst", ".kokoro/continuous/continuous.cfg", - ".kokoro/presubmit/system-3.8.cfg", - ".kokoro/presubmit/prerelease-deps.cfg", + ".kokoro/presubmit/system-3.12.cfg", ".kokoro/continuous/prerelease-deps.cfg", ".github/blunderbuss.yml", # blunderbuss assignment to python squad ".github/workflows", # exclude gh actions as credentials are needed for tests From 7204b6ef6565ffe5ec7e5c1f7c27e8e85d7302a9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 29 Oct 2025 14:18:28 +0000 Subject: [PATCH 09/16] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .kokoro/presubmit/prerelease-deps.cfg | 7 +++++++ .kokoro/presubmit/system-3.8.cfg | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 .kokoro/presubmit/prerelease-deps.cfg create mode 100644 .kokoro/presubmit/system-3.8.cfg diff --git a/.kokoro/presubmit/prerelease-deps.cfg b/.kokoro/presubmit/prerelease-deps.cfg new file mode 100644 index 000000000..3595fb43f --- /dev/null +++ b/.kokoro/presubmit/prerelease-deps.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "prerelease_deps" +} diff --git a/.kokoro/presubmit/system-3.8.cfg b/.kokoro/presubmit/system-3.8.cfg new file mode 100644 index 000000000..f4bcee3db --- /dev/null +++ b/.kokoro/presubmit/system-3.8.cfg @@ -0,0 +1,7 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Only run this nox session. +env_vars: { + key: "NOX_SESSION" + value: "system-3.8" +} \ No newline at end of file From 3a5da1abd3289b4b7d354b559eb8008f3b72bea2 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 29 Oct 2025 11:56:21 -0400 Subject: [PATCH 10/16] fix(ci): Restore original owlbot excludes for Kokoro files --- owlbot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 8baa4a617..1a58e7203 100644 --- a/owlbot.py +++ b/owlbot.py @@ -99,7 +99,8 @@ "CONTRIBUTING.rst", "README.rst", ".kokoro/continuous/continuous.cfg", - ".kokoro/presubmit/system-3.12.cfg", + ".kokoro/presubmit/system-3.8.cfg", + ".kokoro/presubmit/prerelease-deps.cfg", ".kokoro/continuous/prerelease-deps.cfg", ".github/blunderbuss.yml", # blunderbuss assignment to python squad ".github/workflows", # exclude gh actions as credentials are needed for tests From 4f6e646615c5969940b5aa822303321fad86d0a1 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 5 Nov 2025 08:25:12 -0500 Subject: [PATCH 11/16] adds pip freeze command to help with troubleshooting --- noxfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/noxfile.py b/noxfile.py index ed04909ae..802ef4c04 100644 --- a/noxfile.py +++ b/noxfile.py @@ -130,6 +130,8 @@ def default(session, install_extras=True): session.install("-e", ".", "-c", constraints_path) + session.run("python", "-m", "pip", "freeze") + # This dependency is included in setup.py for backwards compatibility only # and the client library is expected to pass all tests without it. See # setup.py and README for details. From 140736b0c0ed727d543d84be10c730acb68d22e1 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 16 Dec 2025 06:38:22 -0500 Subject: [PATCH 12/16] chore(python): Add support for Python 3.14 --- .github/sync-repo-settings.yaml | 2 +- noxfile.py | 6 ++---- setup.py | 1 + testing/constraints-3.14.txt | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index 0d304cfe2..15380e200 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -9,7 +9,7 @@ branchProtectionRules: requiredStatusCheckContexts: - 'Kokoro' - 'cla/google' - - 'Kokoro system-3.12' + - 'Kokoro system-3.14' - 'OwlBot Post Processor' - pattern: python2 requiresCodeOwnerReviews: true diff --git a/noxfile.py b/noxfile.py index 0b3e8f82a..246c33093 100644 --- a/noxfile.py +++ b/noxfile.py @@ -26,11 +26,9 @@ BLACK_VERSION = "black==23.7.0" BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" -SYSTEM_TEST_PYTHON_VERSIONS = ["3.12"] +DEFAULT_PYTHON_VERSION = "3.14" +SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.14"] UNIT_TEST_PYTHON_VERSIONS = [ - "3.7", - "3.8", "3.9", "3.10", "3.11", diff --git a/setup.py b/setup.py index 374a71cf4..b45053856 100644 --- a/setup.py +++ b/setup.py @@ -106,6 +106,7 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Operating System :: OS Independent", "Topic :: Internet", ], diff --git a/testing/constraints-3.14.txt b/testing/constraints-3.14.txt index 2ae5a677e..62739fc5d 100644 --- a/testing/constraints-3.14.txt +++ b/testing/constraints-3.14.txt @@ -7,7 +7,7 @@ # Then this file should have google-cloud-foo>=1 google-api-core>=2 google-auth>=2 -grpcio>=1 +grpcio>=1.75.1 proto-plus>=1 protobuf>=6 grpc-google-iam-v1>=0 From 507aa7738113b1022a6722e23b4db7ab6de307a6 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 16 Dec 2025 06:42:42 -0500 Subject: [PATCH 13/16] chore: removes unneeded system test configs, adds new configs, modifies librarian settings --- .kokoro/presubmit/{system-3.12.cfg => system-3.14.cfg} | 2 +- .kokoro/presubmit/{system-3.8.cfg => system-3.9.cfg} | 2 +- .librarian/generator-input/noxfile.py | 7 ++++--- .librarian/generator-input/setup.py | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) rename .kokoro/presubmit/{system-3.12.cfg => system-3.14.cfg} (91%) rename .kokoro/presubmit/{system-3.8.cfg => system-3.9.cfg} (83%) diff --git a/.kokoro/presubmit/system-3.12.cfg b/.kokoro/presubmit/system-3.14.cfg similarity index 91% rename from .kokoro/presubmit/system-3.12.cfg rename to .kokoro/presubmit/system-3.14.cfg index d4cca031b..fcc70a922 100644 --- a/.kokoro/presubmit/system-3.12.cfg +++ b/.kokoro/presubmit/system-3.14.cfg @@ -3,7 +3,7 @@ # Only run this nox session. env_vars: { key: "NOX_SESSION" - value: "system-3.12" + value: "system-3.14" } # Credentials needed to test universe domain. diff --git a/.kokoro/presubmit/system-3.8.cfg b/.kokoro/presubmit/system-3.9.cfg similarity index 83% rename from .kokoro/presubmit/system-3.8.cfg rename to .kokoro/presubmit/system-3.9.cfg index f4bcee3db..b8ae66b37 100644 --- a/.kokoro/presubmit/system-3.8.cfg +++ b/.kokoro/presubmit/system-3.9.cfg @@ -3,5 +3,5 @@ # Only run this nox session. env_vars: { key: "NOX_SESSION" - value: "system-3.8" + value: "system-3.9" } \ No newline at end of file diff --git a/.librarian/generator-input/noxfile.py b/.librarian/generator-input/noxfile.py index 16cf97b01..ca527decd 100644 --- a/.librarian/generator-input/noxfile.py +++ b/.librarian/generator-input/noxfile.py @@ -26,9 +26,9 @@ BLACK_VERSION = "black==23.7.0" BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.12" -SYSTEM_TEST_PYTHON_VERSIONS = ["3.12"] -UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] +DEFAULT_PYTHON_VERSION = "3.14" +SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.14"] +UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] CONFORMANCE_TEST_PYTHON_VERSIONS = ["3.12"] CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -51,6 +51,7 @@ "unit-3.11", "unit-3.12", "unit-3.13", + "unit-3.14", # cover must be last to avoid error `No data to report` "cover", ] diff --git a/.librarian/generator-input/setup.py b/.librarian/generator-input/setup.py index 2c4504749..89971aa33 100644 --- a/.librarian/generator-input/setup.py +++ b/.librarian/generator-input/setup.py @@ -94,6 +94,7 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Operating System :: OS Independent", "Topic :: Internet", ], From 4e33e90e41af286b7a0757a28afc5faf2273dd18 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 16 Dec 2025 06:45:21 -0500 Subject: [PATCH 14/16] updates to CONTRIBUTING --- CONTRIBUTING.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 91e278698..e03a732d7 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -132,11 +132,11 @@ Running System Tests - To run system tests, you can execute:: - $ nox -s system-3.12 + $ nox -s system-3.14 .. note:: - System tests are configured to run under Python 3.12 in ``noxfile.py``. + System tests are configured to run under Python 3.14 in ``noxfile.py``. This alone will not run the tests. You'll need to change some local auth settings and change some configuration in your project to From 08e72dafb35450f0d7d821c609bb5633a985d181 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 16 Dec 2025 06:47:13 -0500 Subject: [PATCH 15/16] updates to CONTRIBUTING python versions --- CONTRIBUTING.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index e03a732d7..1c1817212 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -69,7 +69,7 @@ We use `nox `__ to instrument our tests. - To test your changes, run unit tests with ``nox``:: - $ nox -s unit-3.7 + $ nox -s unit-3.9 $ ... .. note:: @@ -218,7 +218,7 @@ We support: Supported versions can be found in our ``noxfile.py`` `config`_. -We also explicitly decided to support Python 3 beginning with version 3.7. Reasons for this include: +We also explicitly decided to support Python 3 beginning with version 3.9. Reasons for this include: - Encouraging use of newest versions of Python 3 - Taking the lead of `prominent`_ open-source `projects`_ From e9cee3bd129854855652bd14a75b6e4d7f043204 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 16 Dec 2025 07:47:12 -0500 Subject: [PATCH 16/16] updates flake8 version to a more modern version due to previously failing test --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index 246c33093..14dfb29d0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -73,7 +73,7 @@ def lint(session): """ # Pin flake8 to 6.0.0 # See https://github.com/googleapis/python-storage/issues/1102 - session.install("flake8==6.0.0", BLACK_VERSION) + session.install("flake8", BLACK_VERSION) session.run( "black", "--check",