From fd5dee6a02f3b7f46b9f4ab81314b2cfcec9d076 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:34:29 -0400 Subject: [PATCH 01/11] feat(crc32c): Update setup.cfg and pyproject.toml metadata --- packages/google-crc32c/pyproject.toml | 2 +- packages/google-crc32c/setup.cfg | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/google-crc32c/pyproject.toml b/packages/google-crc32c/pyproject.toml index ddff644d32e6..80a83161b2d4 100644 --- a/packages/google-crc32c/pyproject.toml +++ b/packages/google-crc32c/pyproject.toml @@ -21,4 +21,4 @@ name = "google-crc32c" version = "1.8.0" description = "A python wrapper of the C library 'Google CRC32C'" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.10" diff --git a/packages/google-crc32c/setup.cfg b/packages/google-crc32c/setup.cfg index 9e97011dd7ad..9341e9586e00 100644 --- a/packages/google-crc32c/setup.cfg +++ b/packages/google-crc32c/setup.cfg @@ -29,8 +29,6 @@ classifiers = Intended Audience :: Developers Operating System :: OS Independent Programming Language :: Python :: 3 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 @@ -39,7 +37,7 @@ classifiers = [options] zip_safe = True -python_requires = >=3.8 +python_requires = >=3.10 [options.extras_require] testing = pytest From f9e4bbc480c330abfe869f32883c6af0e045699c Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:34:40 -0400 Subject: [PATCH 02/11] feat(crc32c): Update Nox sessions to remove old versions --- packages/google-crc32c/noxfile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-crc32c/noxfile.py b/packages/google-crc32c/noxfile.py index b58397c9e0b4..e9826cc8df57 100644 --- a/packages/google-crc32c/noxfile.py +++ b/packages/google-crc32c/noxfile.py @@ -25,9 +25,8 @@ # Constants DEFAULT_PYTHON_VERSION = "3.14" -UNIT_TEST_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] +UNIT_TEST_PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13", "3.14"] ALL_PYTHON = list(UNIT_TEST_PYTHON_VERSIONS) -ALL_PYTHON.extend(["3.7"]) FLAKE8_VERSION = "flake8==6.1.0" BLACK_VERSION = "black[jupyter]==23.7.0" From 1485335cfa8cb4d46e4259bfea8a8e61fcf0c575 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:34:57 -0400 Subject: [PATCH 03/11] docs(crc32c): Update README.md to remove Python 3.9 references --- packages/google-crc32c/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-crc32c/README.md b/packages/google-crc32c/README.md index 78088ce883b1..862972fc7994 100644 --- a/packages/google-crc32c/README.md +++ b/packages/google-crc32c/README.md @@ -9,8 +9,8 @@ C toolchain. # Currently Published Wheels -Wheels are currently published for CPython 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14 -for multiple architectures. PyPy 3.9 and 3.10 are also supported for Linux. +Wheels are currently published for CPython 3.10, 3.11, 3.12, 3.13 and 3.14 +for multiple architectures. PyPy 3.10 is also supported for Linux. For information on building your own wheels please view [BUILDING.md](BUILDING.md). From 517822c94501d27e4b86676433164c11c8a20ba3 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 15:35:38 -0400 Subject: [PATCH 04/11] fix(crc32c): Update check session to use editable install instead of wheels --- packages/google-crc32c/noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-crc32c/noxfile.py b/packages/google-crc32c/noxfile.py index e9826cc8df57..f0414fa80bf1 100644 --- a/packages/google-crc32c/noxfile.py +++ b/packages/google-crc32c/noxfile.py @@ -67,7 +67,7 @@ def build_libcrc32c(session): @nox.session(python=UNIT_TEST_PYTHON_VERSIONS) def check(session): session.install("pytest") - session.install("--no-index", f"--find-links={HERE}/wheels", "google-crc32c") + session.install("-e", ".") # Run py.test against the unit tests. session.run("py.test", "tests") From 4669b87ef454cda131672bc7bc2b9616b8ad5a89 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Tue, 5 May 2026 16:03:22 -0400 Subject: [PATCH 05/11] chore(crc32c): Revert check session to use pre-built wheels --- packages/google-crc32c/noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-crc32c/noxfile.py b/packages/google-crc32c/noxfile.py index f0414fa80bf1..e9826cc8df57 100644 --- a/packages/google-crc32c/noxfile.py +++ b/packages/google-crc32c/noxfile.py @@ -67,7 +67,7 @@ def build_libcrc32c(session): @nox.session(python=UNIT_TEST_PYTHON_VERSIONS) def check(session): session.install("pytest") - session.install("-e", ".") + session.install("--no-index", f"--find-links={HERE}/wheels", "google-crc32c") # Run py.test against the unit tests. session.run("py.test", "tests") From ec62ea240ea6f044c87bd5e253ab6bd1f4962515 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 06:30:29 -0400 Subject: [PATCH 06/11] feat(google-crc32c): Remove obsolete conditional dependency in setup.py --- packages/google-crc32c/setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/google-crc32c/setup.py b/packages/google-crc32c/setup.py index cebbca973d22..5b63d48d125f 100644 --- a/packages/google-crc32c/setup.py +++ b/packages/google-crc32c/setup.py @@ -104,9 +104,7 @@ def build_c_extension(): package_dir={"": "src"}, ext_modules=[module], cmdclass={"build_ext": BuildExtWithDLL}, - install_requires=[ - "importlib_resources>=1.3 ; python_version < '3.9' and os_name == 'nt'" - ], + install_requires=[], ) From 60d25db51314fdfbe0e367c615b954e2baa29e1d Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 06:30:34 -0400 Subject: [PATCH 07/11] feat(google-crc32c): Remove obsolete comment in __config__.py --- packages/google-crc32c/src/google_crc32c/__config__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-crc32c/src/google_crc32c/__config__.py b/packages/google-crc32c/src/google_crc32c/__config__.py index 536f0307e7f2..24a8ba960ede 100644 --- a/packages/google-crc32c/src/google_crc32c/__config__.py +++ b/packages/google-crc32c/src/google_crc32c/__config__.py @@ -30,7 +30,6 @@ def modify_path(): extra_dll_dir = str(_resources_files("google_crc32c") / "extra-dll") if os.path.isdir(extra_dll_dir): - # Python 3.8+ uses add_dll_directory. os.add_dll_directory(extra_dll_dir) except ImportError: pass From 44a7a05575198b9fa340245c5531a8a17d69c765 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 06:30:40 -0400 Subject: [PATCH 08/11] feat(google-crc32c): Update mypy configuration to Python 3.10 --- packages/google-crc32c/mypy.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-crc32c/mypy.ini b/packages/google-crc32c/mypy.ini index 8efb6f7241c8..569486a9ce60 100644 --- a/packages/google-crc32c/mypy.ini +++ b/packages/google-crc32c/mypy.ini @@ -1,3 +1,3 @@ [mypy] -python_version = 3.9 +python_version = 3.10 exclude = tests/unit/resources/ From fd53f2ef9d16a29bb27cb5b12fdac695a4374749 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 06:30:46 -0400 Subject: [PATCH 09/11] feat(google-crc32c): Update publish_python_wheel.sh to use Python 3.10 --- .../google-crc32c/scripts/osx/publish_python_wheel.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-crc32c/scripts/osx/publish_python_wheel.sh b/packages/google-crc32c/scripts/osx/publish_python_wheel.sh index c5288eac09fc..e5d6ab115b6f 100755 --- a/packages/google-crc32c/scripts/osx/publish_python_wheel.sh +++ b/packages/google-crc32c/scripts/osx/publish_python_wheel.sh @@ -15,11 +15,11 @@ set -eo pipefail -if [ -z "$(pyenv versions --bare | grep 3.8)" ]; then - echo "Python 3.8 is not installed. Installing..." - pyenv install 3.8 +if [ -z "$(pyenv versions --bare | grep 3.10)" ]; then + echo "Python 3.10 is not installed. Installing..." + pyenv install 3.10 fi -pyenv shell 3.8 +pyenv shell 3.10 python -m pip install "setuptools<71" From 243719607d27d50968f819b6c74cad3b8196d9c9 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 06:30:51 -0400 Subject: [PATCH 10/11] feat(google-crc32c): Remove Python 3.9 from supported versions in osx/build.sh --- packages/google-crc32c/scripts/osx/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-crc32c/scripts/osx/build.sh b/packages/google-crc32c/scripts/osx/build.sh index 075ffcc26193..b567178d0280 100755 --- a/packages/google-crc32c/scripts/osx/build.sh +++ b/packages/google-crc32c/scripts/osx/build.sh @@ -41,7 +41,7 @@ ${OSX_DIR}/build_c_lib.sh rm -rf /Users/kbuilder/.pyenv git clone https://github.com/pyenv/pyenv.git /Users/kbuilder/.pyenv -SUPPORTED_PYTHON_VERSIONS=("3.9" "3.10" "3.11" "3.12" "3.13" "3.14") +SUPPORTED_PYTHON_VERSIONS=("3.10" "3.11" "3.12" "3.13" "3.14") for PYTHON_VERSION in ${SUPPORTED_PYTHON_VERSIONS[@]}; do echo "Build wheel for Python ${PYTHON_VERSION}" From a67972e370f525e86c13449ae58f8a213de3d812 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 6 May 2026 08:37:59 -0400 Subject: [PATCH 11/11] fix(crc32c): skip building wheels for Python 3.9 --- packages/google-crc32c/scripts/manylinux/build_on_centos.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/google-crc32c/scripts/manylinux/build_on_centos.sh b/packages/google-crc32c/scripts/manylinux/build_on_centos.sh index 9507dda09262..323319320e4d 100755 --- a/packages/google-crc32c/scripts/manylinux/build_on_centos.sh +++ b/packages/google-crc32c/scripts/manylinux/build_on_centos.sh @@ -48,10 +48,7 @@ if [[ -z ${BUILD_PYTHON} ]]; then # Collect all target Python versions. for PYTHON_BIN in /opt/python/*/bin; do # H/T: https://stackoverflow.com/a/229606/1068170 - if [[ "${PYTHON_BIN}" == *"39"* ]]; then - PYTHON_VERSIONS="${PYTHON_VERSIONS} ${PYTHON_BIN}" - continue - elif [[ "${PYTHON_BIN}" == *"310"* ]]; then + if [[ "${PYTHON_BIN}" == *"310"* ]]; then PYTHON_VERSIONS="${PYTHON_VERSIONS} ${PYTHON_BIN}" continue elif [[ "${PYTHON_BIN}" == *"311"* ]]; then