From d158d2a7128c399e16f55525edba260f8bf38f43 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 13:11:38 -0400 Subject: [PATCH 1/5] feat(ndb): Update setup.py metadata and python_requires --- packages/google-cloud-ndb/setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-ndb/setup.py b/packages/google-cloud-ndb/setup.py index 3221db027b85..87e475ace00e 100644 --- a/packages/google-cloud-ndb/setup.py +++ b/packages/google-cloud-ndb/setup.py @@ -68,7 +68,6 @@ def main(): "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -81,7 +80,7 @@ def main(): packages=packages, install_requires=dependencies, extras_require={}, - python_requires=">=3.9", + python_requires=">=3.10", include_package_data=False, zip_safe=False, ) From adbc09923612a1c0f9b3d69b40e3dead288b30db Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 13:11:57 -0400 Subject: [PATCH 2/5] feat(ndb): Update Nox sessions to remove old versions --- packages/google-cloud-ndb/noxfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-ndb/noxfile.py b/packages/google-cloud-ndb/noxfile.py index b457368bb75f..6fca15eee73b 100644 --- a/packages/google-cloud-ndb/noxfile.py +++ b/packages/google-cloud-ndb/noxfile.py @@ -29,7 +29,7 @@ LOCAL_DEPS = ("google-api-core", "google-cloud-core") NOX_DIR = os.path.abspath(os.path.dirname(__file__)) DEFAULT_INTERPRETER = "3.14" -ALL_INTERPRETERS = ("3.9", "3.10", "3.11", "3.12", "3.13", "3.14") +ALL_INTERPRETERS = ("3.10", "3.11", "3.12", "3.13", "3.14") CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() BLACK_VERSION = "black[jupyter]==23.7.0" @@ -47,7 +47,6 @@ nox.options.sessions = [ "prerelease_deps", - "unit-3.9", "unit-3.10", "unit-3.11", "unit-3.12", @@ -359,7 +358,7 @@ def docfx(session): ) -@nox.session(py="3.9") +@nox.session(py="3.10") def doctest(session): # Install all dependencies. session.install( From 47a2fa2626c01c2335068d7829dd06479a4977ea Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 13:12:24 -0400 Subject: [PATCH 3/5] docs(ndb): Update README and CONTRIBUTING documentation --- packages/google-cloud-ndb/CONTRIBUTING.rst | 4 +--- packages/google-cloud-ndb/README.md | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-ndb/CONTRIBUTING.rst b/packages/google-cloud-ndb/CONTRIBUTING.rst index 70fdbee2dce1..ac6ba9eae205 100644 --- a/packages/google-cloud-ndb/CONTRIBUTING.rst +++ b/packages/google-cloud-ndb/CONTRIBUTING.rst @@ -24,7 +24,7 @@ In order to add a feature to ``python-ndb``: documentation (in ``docs/``). - 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.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 @@ -259,14 +259,12 @@ Supported Python Versions We support: -- `Python 3.9`_ - `Python 3.10`_ - `Python 3.11`_ - `Python 3.12`_ - `Python 3.13`_ - `Python 3.14`_ -.. _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/ diff --git a/packages/google-cloud-ndb/README.md b/packages/google-cloud-ndb/README.md index 8b03966c8dad..20b7cc6ee9ec 100644 --- a/packages/google-cloud-ndb/README.md +++ b/packages/google-cloud-ndb/README.md @@ -30,14 +30,14 @@ GA Our client libraries are compatible with all current [active][3] and [maintenance][4] versions of Python. -Python >= 3.9 +Python >= 3.10 [3]: https://devguide.python.org/devcycle/#in-development-main-branch [4]: https://devguide.python.org/devcycle/#maintenance-branches ### Unsupported Python Versions -Python <= 3.8 +Python <= 3.9 If you are using an [end-of-life][5] version of Python, we recommend that you update as soon as possible to an actively supported version. From 5f8c0af33540d81fd333a103436fc2d60d4327a2 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 13:20:41 -0400 Subject: [PATCH 4/5] test(ndb): Update testing constraints to 3.10 and drop 3.9 --- .../google-cloud-ndb/testing/constraints-3.10.txt | 15 +++++++++++++++ .../google-cloud-ndb/testing/constraints-3.9.txt | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 packages/google-cloud-ndb/testing/constraints-3.9.txt diff --git a/packages/google-cloud-ndb/testing/constraints-3.10.txt b/packages/google-cloud-ndb/testing/constraints-3.10.txt index e69de29bb2d1..3f289547622b 100644 --- a/packages/google-cloud-ndb/testing/constraints-3.10.txt +++ b/packages/google-cloud-ndb/testing/constraints-3.10.txt @@ -0,0 +1,15 @@ +# This constraints file is used to check that lower bounds +# are correct in setup.py +# List *all* library dependencies and extras in this file. +# Pin the version to the lower bound. +# +# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", +# Then this file should have foo==1.14.0 +google-cloud-datastore==2.16.0 +google-api-core==2.11.0 +protobuf==4.25.8 +pymemcache==2.1.0 +redis==3.0.0 +pytz==2018.3 +# TODO(https://github.com/googleapis/python-ndb/issues/913) remove this dependency once six is no longer used in the codebase +six==1.12.0 diff --git a/packages/google-cloud-ndb/testing/constraints-3.9.txt b/packages/google-cloud-ndb/testing/constraints-3.9.txt deleted file mode 100644 index 3f289547622b..000000000000 --- a/packages/google-cloud-ndb/testing/constraints-3.9.txt +++ /dev/null @@ -1,15 +0,0 @@ -# This constraints file is used to check that lower bounds -# are correct in setup.py -# List *all* library dependencies and extras in this file. -# Pin the version to the lower bound. -# -# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", -# Then this file should have foo==1.14.0 -google-cloud-datastore==2.16.0 -google-api-core==2.11.0 -protobuf==4.25.8 -pymemcache==2.1.0 -redis==3.0.0 -pytz==2018.3 -# TODO(https://github.com/googleapis/python-ndb/issues/913) remove this dependency once six is no longer used in the codebase -six==1.12.0 From 131d5fc81c87f77d4b6520e7a8b9e26a23aa1725 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:01:35 -0400 Subject: [PATCH 5/5] fix(ndb): Bump pytz to 2022.1 to fix collections.Mapping ImportError on Python 3.10 --- packages/google-cloud-ndb/setup.py | 2 +- packages/google-cloud-ndb/testing/constraints-3.10.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-ndb/setup.py b/packages/google-cloud-ndb/setup.py index 87e475ace00e..b0789437289f 100644 --- a/packages/google-cloud-ndb/setup.py +++ b/packages/google-cloud-ndb/setup.py @@ -44,7 +44,7 @@ def main(): "google-cloud-datastore >= 2.16.0, != 2.20.2, < 3.0.0", "protobuf >= 4.25.8, < 8.0.0", "pymemcache >= 2.1.0, < 5.0.0", - "pytz >= 2018.3", + "pytz >= 2022.1", "redis >= 3.0.0, < 8.0.0", ] diff --git a/packages/google-cloud-ndb/testing/constraints-3.10.txt b/packages/google-cloud-ndb/testing/constraints-3.10.txt index 3f289547622b..c4835683ad0a 100644 --- a/packages/google-cloud-ndb/testing/constraints-3.10.txt +++ b/packages/google-cloud-ndb/testing/constraints-3.10.txt @@ -10,6 +10,6 @@ google-api-core==2.11.0 protobuf==4.25.8 pymemcache==2.1.0 redis==3.0.0 -pytz==2018.3 +pytz==2022.1 # TODO(https://github.com/googleapis/python-ndb/issues/913) remove this dependency once six is no longer used in the codebase six==1.12.0