From be631d0ab8aac0800554658f2f61ab7fa0514fa3 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:32:12 -0800 Subject: [PATCH 01/21] added trove classifier --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index c944737d..28ff32f2 100644 --- a/setup.py +++ b/setup.py @@ -81,6 +81,8 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", ], From f202dd451192836813b033d78e60287467a61846 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:33:43 -0800 Subject: [PATCH 02/21] updated test versions --- .github/workflows/lint.yml | 2 +- .github/workflows/unittest.yml | 4 ++-- testing/constraints-3.13.txt | 3 +++ testing/constraints-3.14.txt | 3 +++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 testing/constraints-3.13.txt create mode 100644 testing/constraints-3.14.txt diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4866193a..3ed755f0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.8" + python-version: "3.14" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index c3e4c38e..16ff4fb1 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.8', '3.9', '3.10', '3.11', '3.12'] + python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout uses: actions/checkout@v4 @@ -45,7 +45,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.8" + python-version: "3.14" - name: Install coverage run: | python -m pip install --upgrade setuptools pip wheel diff --git a/testing/constraints-3.13.txt b/testing/constraints-3.13.txt new file mode 100644 index 00000000..ea40a143 --- /dev/null +++ b/testing/constraints-3.13.txt @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. diff --git a/testing/constraints-3.14.txt b/testing/constraints-3.14.txt new file mode 100644 index 00000000..ea40a143 --- /dev/null +++ b/testing/constraints-3.14.txt @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. From 80c0a35f89f96832e32f5e01f375a5d4f1412e3c Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:33:53 -0800 Subject: [PATCH 03/21] updated owlbot --- owlbot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/owlbot.py b/owlbot.py index f5483bfc..5a76a0d1 100644 --- a/owlbot.py +++ b/owlbot.py @@ -27,8 +27,8 @@ # Add templated files # ---------------------------------------------------------------------------- templated_files = common.py_library( - unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12"], - system_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12"], + unit_test_python_versions=["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + system_test_python_versions=["3.9", "3.14"], cov_level=99, intersphinx_dependencies={ "pandas": "https://pandas.pydata.org/pandas-docs/stable/" From f625a38472120a56f46baa31df2883c08df54403 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:37:56 -0800 Subject: [PATCH 04/21] fixed comma --- owlbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 5a76a0d1..4c7ca2b4 100644 --- a/owlbot.py +++ b/owlbot.py @@ -27,7 +27,7 @@ # Add templated files # ---------------------------------------------------------------------------- templated_files = common.py_library( - unit_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"], system_test_python_versions=["3.9", "3.14"], cov_level=99, intersphinx_dependencies={ From 4400fe350c0dd63bd03b6cb722a91dcf2ce5b0b3 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 18 Nov 2025 23:40:00 +0000 Subject: [PATCH 05/21] =?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 --- .github/workflows/lint.yml | 2 +- .github/workflows/unittest.yml | 4 ++-- CONTRIBUTING.rst | 16 +++++++++------- noxfile.py | 6 +++--- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3ed755f0..4866193a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.14" + python-version: "3.8" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 16ff4fb1..ea0494eb 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.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 @@ -45,7 +45,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.14" + python-version: "3.8" - name: Install coverage run: | python -m pip install --upgrade setuptools pip wheel diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 90998b26..d0117d1f 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.8, 3.9, 3.10, 3.11 and 3.12 on both UNIX and Windows. + 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 @@ -72,7 +72,7 @@ We use `nox `__ to instrument our tests. - To run a single unit test:: - $ nox -s unit-3.12 -- -k + $ nox -s unit-3.14 -- -k .. note:: @@ -143,12 +143,12 @@ Running System Tests $ nox -s system # Run a single system test - $ nox -s system-3.12 -- -k + $ nox -s system-3.14 -- -k .. note:: - System tests are only configured to run under Python 3.8, 3.9, 3.10, 3.11 and 3.12. + System tests are only configured to run under Python 3.9 and 3.14. For expediency, we do not run them in older versions of Python 3. This alone will not run the tests. You'll need to change some local @@ -221,17 +221,19 @@ Supported Python Versions We support: -- `Python 3.8`_ - `Python 3.9`_ - `Python 3.10`_ - `Python 3.11`_ - `Python 3.12`_ +- `Python 3.13`_ +- `Python 3.14`_ -.. _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`_. @@ -239,7 +241,7 @@ Supported versions can be found in our ``noxfile.py`` `config`_. .. _config: https://github.com/googleapis/python-documentai-toolbox/blob/main/noxfile.py -We also explicitly decided to support Python 3 beginning with version 3.8. +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 diff --git a/noxfile.py b/noxfile.py index fe443447..1e95ddaa 100644 --- a/noxfile.py +++ b/noxfile.py @@ -34,7 +34,7 @@ DEFAULT_PYTHON_VERSION = "3.8" -UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.8", "3.9", "3.10", "3.11", "3.12"] +UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] UNIT_TEST_STANDARD_DEPENDENCIES = [ "mock", "asyncmock", @@ -48,7 +48,7 @@ UNIT_TEST_EXTRAS: List[str] = [] UNIT_TEST_EXTRAS_BY_PYTHON: Dict[str, List[str]] = {} -SYSTEM_TEST_PYTHON_VERSIONS: List[str] = ["3.8", "3.9", "3.10", "3.11", "3.12"] +SYSTEM_TEST_PYTHON_VERSIONS: List[str] = ["3.9", "3.14"] SYSTEM_TEST_STANDARD_DEPENDENCIES: List[str] = [ "mock", "pytest", @@ -367,7 +367,7 @@ def docfx(session): ) -@nox.session(python="3.12") +@nox.session(python="3.14") @nox.parametrize( "protobuf_implementation", ["python", "upb", "cpp"], From 874197094139004e952234c0b3a19c92cfea1636 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:48:30 -0800 Subject: [PATCH 06/21] ignore eol warnings --- pytest.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pytest.ini b/pytest.ini index e5446035..9d827128 100644 --- a/pytest.ini +++ b/pytest.ini @@ -15,3 +15,5 @@ filterwarnings = ignore:.*pkg_resources is deprecated as an API:DeprecationWarning # Remove once the minimum supported Python runtime of this library is Python 3.9 ignore:The python-bigquery library will stop supporting Python 3.7 and Python 3.8:PendingDeprecationWarning + # This error is expected for python versions that approach EOL + ignore:.*Please upgrade to the latest Python version.*:FutureWarning From c38dc065c60f19c1d0f83b63c24c7d09dff05054 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:48:37 -0800 Subject: [PATCH 07/21] added back 3.8 --- owlbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 4c7ca2b4..70db461c 100644 --- a/owlbot.py +++ b/owlbot.py @@ -27,7 +27,7 @@ # Add templated files # ---------------------------------------------------------------------------- templated_files = common.py_library( - unit_test_python_versions=["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"], + unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"], system_test_python_versions=["3.9", "3.14"], cov_level=99, intersphinx_dependencies={ From f33874ccd4530f6d3a81a0ae24803bff18f6342f Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 18 Nov 2025 23:51:07 +0000 Subject: [PATCH 08/21] =?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 --- .github/workflows/unittest.yml | 2 +- CONTRIBUTING.rst | 6 ++++-- noxfile.py | 10 +++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index ea0494eb..00364f95 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.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index d0117d1f..94c4f148 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.9, 3.10, 3.11, 3.12, 3.13 and 3.14 on both UNIX and Windows. + 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 @@ -221,6 +221,7 @@ Supported Python Versions We support: +- `Python 3.8`_ - `Python 3.9`_ - `Python 3.10`_ - `Python 3.11`_ @@ -228,6 +229,7 @@ We support: - `Python 3.13`_ - `Python 3.14`_ +.. _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/ @@ -241,7 +243,7 @@ Supported versions can be found in our ``noxfile.py`` `config`_. .. _config: https://github.com/googleapis/python-documentai-toolbox/blob/main/noxfile.py -We also explicitly decided to support Python 3 beginning with version 3.9. +We also explicitly decided to support Python 3 beginning with version 3.8. Reasons for this include: - Encouraging use of newest versions of Python 3 diff --git a/noxfile.py b/noxfile.py index 1e95ddaa..5c0039d7 100644 --- a/noxfile.py +++ b/noxfile.py @@ -34,7 +34,15 @@ DEFAULT_PYTHON_VERSION = "3.8" -UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] +UNIT_TEST_PYTHON_VERSIONS: List[str] = [ + "3.8", + "3.9", + "3.10", + "3.11", + "3.12", + "3.13", + "3.14", +] UNIT_TEST_STANDARD_DEPENDENCIES = [ "mock", "asyncmock", From 73d583afa8e39e09a5821260ad0f615a537ccf00 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 15:54:30 -0800 Subject: [PATCH 09/21] copied over constraints --- testing/constraints-3.13.txt | 9 +++++++++ testing/constraints-3.14.txt | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/testing/constraints-3.13.txt b/testing/constraints-3.13.txt index ea40a143..e830766f 100644 --- a/testing/constraints-3.13.txt +++ b/testing/constraints-3.13.txt @@ -1,3 +1,12 @@ # -*- coding: utf-8 -*- # This constraints file is required for unit tests. # List all library dependencies and extras in this file. +google-api-core +pandas +proto-plus +grpc-google-iam-v1 +google-cloud-bigquery +google-cloud-documentai +google-cloud-storage +numpy +pikepdf diff --git a/testing/constraints-3.14.txt b/testing/constraints-3.14.txt index ea40a143..e830766f 100644 --- a/testing/constraints-3.14.txt +++ b/testing/constraints-3.14.txt @@ -1,3 +1,12 @@ # -*- coding: utf-8 -*- # This constraints file is required for unit tests. # List all library dependencies and extras in this file. +google-api-core +pandas +proto-plus +grpc-google-iam-v1 +google-cloud-bigquery +google-cloud-documentai +google-cloud-storage +numpy +pikepdf From 83d3f75b1110432d89e59263689f6182a8f80b04 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:16:40 -0800 Subject: [PATCH 10/21] increase dependency ranges --- setup.py | 6 +++--- testing/constraints-3.14.txt | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 28ff32f2..a34cad66 100644 --- a/setup.py +++ b/setup.py @@ -55,7 +55,7 @@ install_requires=( "google-api-core>=2.15.0, <3.0.0", "pandas[performance,gcp]>=2.0.0, <3.0.0", - "pyarrow>=15.0.0, <16.0.0", + "pyarrow>=15.0.0, <23.0.0", "tabulate>=0.9.0, <1.0.0", "proto-plus>=1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version>='3.13'", @@ -64,9 +64,9 @@ "google-cloud-documentai>=2.29.2, <4.0.0", "google-cloud-storage>=1.31.0, <4.0.0", "google-cloud-vision>=2.7.0, <4.0.0", - "numpy>=1.23.5, <2.0.0", + "numpy>=1.23.5, <3.0.0", "intervaltree>=3.0.0", - "pikepdf>=8.0.0, <9.0.0", + "pikepdf>=8.0.0, <11.0.0", "immutabledict>=2.0.0, <5.0.0", "Pillow>=10.0.0, <11.0.0", "Jinja2>=3.1.0, <4.0.0", diff --git a/testing/constraints-3.14.txt b/testing/constraints-3.14.txt index e830766f..af6f7f35 100644 --- a/testing/constraints-3.14.txt +++ b/testing/constraints-3.14.txt @@ -10,3 +10,4 @@ google-cloud-documentai google-cloud-storage numpy pikepdf +numba>=0.63.0b1 From f22b45a6755bd560b02bd18476ac4542ac90d3ca Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:27:48 -0800 Subject: [PATCH 11/21] skip cpp tests in 3.14 --- noxfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 5c0039d7..2313aad4 100644 --- a/noxfile.py +++ b/noxfile.py @@ -175,7 +175,7 @@ def install_unittest_dependencies(session, *constraints): def unit(session, protobuf_implementation): # Install all test dependencies, then install this package in-place. - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): session.skip("cpp implementation is not supported in python 3.11+") constraints_path = str( @@ -383,7 +383,7 @@ def docfx(session): def prerelease_deps(session, protobuf_implementation): """Run all tests with prerelease versions of dependencies installed.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): session.skip("cpp implementation is not supported in python 3.11+") # Install all dependencies From 8eddf58f09e18ea4958e43a6d48eafde662ed7e4 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 19 Nov 2025 00:29:43 +0000 Subject: [PATCH 12/21] =?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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 2313aad4..5c0039d7 100644 --- a/noxfile.py +++ b/noxfile.py @@ -175,7 +175,7 @@ def install_unittest_dependencies(session, *constraints): def unit(session, protobuf_implementation): # Install all test dependencies, then install this package in-place. - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): + 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+") constraints_path = str( @@ -383,7 +383,7 @@ def docfx(session): def prerelease_deps(session, protobuf_implementation): """Run all tests with prerelease versions of dependencies installed.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): + 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 all dependencies From fe564efdded1f1e80fe6a03ae37a5efded761335 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:31:34 -0800 Subject: [PATCH 13/21] updated owlbot image --- .github/.OwlBot.lock.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index c631e1f7..9a784667 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:5581906b957284864632cde4e9c51d1cc66b0094990b27e689132fe5cd036046 -# created: 2025-03-05 + digest: sha256:4a9e5d44b98e8672e2037ee22bc6b4f8e844a2d75fcb78ea8a4b38510112abc6 +# created: 2025-10-07 From cfa2243e7943079b87a485b7dbfeb6580fcf6e60 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:45:07 -0800 Subject: [PATCH 14/21] use blacken instead of format --- owlbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 70db461c..3241bbce 100644 --- a/owlbot.py +++ b/owlbot.py @@ -40,4 +40,4 @@ # Run blacken session # ---------------------------------------------------------------------------- -s.shell.run(["nox", "-s", "format"], hide_output=False) +s.shell.run(["nox", "-s", "blacken"], hide_output=False) From f04767d640fb4b6e43cc8ed68062dede94eb283a Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:48:31 -0800 Subject: [PATCH 15/21] updated default python version --- owlbot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/owlbot.py b/owlbot.py index 3241bbce..6c35e38c 100644 --- a/owlbot.py +++ b/owlbot.py @@ -29,6 +29,7 @@ templated_files = common.py_library( unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"], system_test_python_versions=["3.9", "3.14"], + default_python_version="3.11", cov_level=99, intersphinx_dependencies={ "pandas": "https://pandas.pydata.org/pandas-docs/stable/" @@ -40,4 +41,4 @@ # Run blacken session # ---------------------------------------------------------------------------- -s.shell.run(["nox", "-s", "blacken"], hide_output=False) +s.shell.run(["nox", "-s", "format"], hide_output=False) From b28d8f5db3a7f55c98310ba0ba0f51c7fc7566c0 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:51:27 -0800 Subject: [PATCH 16/21] manually updated noxfile --- noxfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/noxfile.py b/noxfile.py index 5c0039d7..b3f0536e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -32,7 +32,7 @@ ISORT_VERSION = "isort==5.11.0" LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.8" +DEFAULT_PYTHON_VERSION = "3.11" UNIT_TEST_PYTHON_VERSIONS: List[str] = [ "3.8", @@ -175,7 +175,7 @@ def install_unittest_dependencies(session, *constraints): def unit(session, protobuf_implementation): # Install all test dependencies, then install this package in-place. - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): session.skip("cpp implementation is not supported in python 3.11+") constraints_path = str( @@ -383,7 +383,7 @@ def docfx(session): def prerelease_deps(session, protobuf_implementation): """Run all tests with prerelease versions of dependencies installed.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): + if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): session.skip("cpp implementation is not supported in python 3.11+") # Install all dependencies From 14893661611f1b644b472d47a54854b93b0906b1 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 16:56:35 -0800 Subject: [PATCH 17/21] changed default to 3.13 --- noxfile.py | 16 +++++++++++++--- owlbot.py | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/noxfile.py b/noxfile.py index b3f0536e..33e3d380 100644 --- a/noxfile.py +++ b/noxfile.py @@ -32,7 +32,7 @@ ISORT_VERSION = "isort==5.11.0" LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] -DEFAULT_PYTHON_VERSION = "3.11" +DEFAULT_PYTHON_VERSION = "3.13" UNIT_TEST_PYTHON_VERSIONS: List[str] = [ "3.8", @@ -175,7 +175,12 @@ def install_unittest_dependencies(session, *constraints): def unit(session, protobuf_implementation): # Install all test dependencies, then install this package in-place. - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): + if protobuf_implementation == "cpp" and session.python in ( + "3.11", + "3.12", + "3.13", + "3.14", + ): session.skip("cpp implementation is not supported in python 3.11+") constraints_path = str( @@ -383,7 +388,12 @@ def docfx(session): def prerelease_deps(session, protobuf_implementation): """Run all tests with prerelease versions of dependencies installed.""" - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"): + if protobuf_implementation == "cpp" and session.python in ( + "3.11", + "3.12", + "3.13", + "3.14", + ): session.skip("cpp implementation is not supported in python 3.11+") # Install all dependencies diff --git a/owlbot.py b/owlbot.py index 6c35e38c..3db6c39d 100644 --- a/owlbot.py +++ b/owlbot.py @@ -29,7 +29,7 @@ templated_files = common.py_library( unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"], system_test_python_versions=["3.9", "3.14"], - default_python_version="3.11", + default_python_version="3.13", cov_level=99, intersphinx_dependencies={ "pandas": "https://pandas.pydata.org/pandas-docs/stable/" From c7c7516b402f391167387d3ded25cf1c9e7fdc5d Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 19 Nov 2025 00:58:23 +0000 Subject: [PATCH 18/21] =?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 --- .github/workflows/lint.yml | 2 +- .github/workflows/unittest.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4866193a..9a059820 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.8" + python-version: "3.13" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 00364f95..092f47f4 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -45,7 +45,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.8" + python-version: "3.13" - name: Install coverage run: | python -m pip install --upgrade setuptools pip wheel From ee87306c2946d3f6c8c3a023b721792f04426088 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 17:03:49 -0800 Subject: [PATCH 19/21] add setuptools requirement --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index 33e3d380..fdddbce9 100644 --- a/noxfile.py +++ b/noxfile.py @@ -135,7 +135,7 @@ def format(session): @nox.session(python=DEFAULT_PYTHON_VERSION) def lint_setup_py(session): """Verify that setup.py is valid (including RST check).""" - session.install("docutils", "pygments") + session.install("docutils", "pygments", "setuptools") session.run("python", "setup.py", "check", "--restructuredtext", "--strict") From ce79cbe9bfb9248004296560011105cda30bdfa5 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 18:04:02 -0800 Subject: [PATCH 20/21] list out sessions --- noxfile.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index fdddbce9..b7dc3c22 100644 --- a/noxfile.py +++ b/noxfile.py @@ -71,7 +71,12 @@ CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() nox.options.sessions = [ - "unit", + "unit-3.9", + "unit-3.10", + "unit-3.11", + "unit-3.12", + "unit-3.13", + "unit-3.14", "system", "cover", "lint", From 12476ea5b66fee82a0918deaa80cc58cfbf65575 Mon Sep 17 00:00:00 2001 From: Daniel Sanche Date: Tue, 18 Nov 2025 18:07:05 -0800 Subject: [PATCH 21/21] increase Pillow supported versions --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a34cad66..fb82423d 100644 --- a/setup.py +++ b/setup.py @@ -68,7 +68,7 @@ "intervaltree>=3.0.0", "pikepdf>=8.0.0, <11.0.0", "immutabledict>=2.0.0, <5.0.0", - "Pillow>=10.0.0, <11.0.0", + "Pillow>=10.0.0, <12.0.0", "Jinja2>=3.1.0, <4.0.0", ), python_requires=">=3.8",