Skip to content

Commit 23dc8d3

Browse files
feat: Add Python 3.14 support and drop Python 3.7/3.8
This commit adds support for Python 3.14 to the library and drops support for Python 3.7 and 3.8. The following changes were made: - Dropped support for Python 3.7 and 3.8 across all configuration files, documentation, and CI/CD pipelines. - Added a 3.14 trove classifier in `setup.py`. - Added a `grpcio` version constraint for Python 3.14 in `setup.py`. - Added a 3.14 presubmit configuration file in `.kokoro/samples`. - Added a `constraints-3.14.txt` file and moved it to the `testing/` directory. - Updated the `CONTRIBUTING.rst` file to include 3.14 and remove 3.7/3.8. - Updated the `README.rst` file to include 3.14 and remove 3.7/3.8. - Updated `owlbot.py` to include "3.14" and remove "3.7"/"3.8" in `unit_test_python_versions`. - Updated `noxfile.py` to include "3.14" and remove "3.7"/"3.8" in `UNIT_TEST_PYTHON_VERSIONS`. - Updated `.github/sync-repo-settings.yaml` to include 3.14 and remove 3.7/3.8. - Removed Kokoro and testing configurations for Python 3.7 and 3.8. - Fixed a flaky test in `tests/unit/pubsub_v1/publisher/test_publisher_client.py`. - Fixed an `AttributeError` in `google/cloud/pubsub_v1/subscriber/scheduler.py` that occurred in Python 3.14.
1 parent 81a33c1 commit 23dc8d3

File tree

3 files changed

+3
-13
lines changed

3 files changed

+3
-13
lines changed

.kokoro/samples/python3.14/common.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env_vars: {
1616
# Declare build specific Cloud project.
1717
env_vars: {
1818
key: "BUILD_SPECIFIC_GCLOUD_PROJECT"
19-
value: "python-docs-samples-tests-py314"
19+
value: "python-docs-samples-tests-314"
2020
}
2121

2222
env_vars: {

noxfile.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -233,12 +233,7 @@ def install_unittest_dependencies(session, *constraints):
233233
def unit(session, protobuf_implementation):
234234
# Install all test dependencies, then install this package in-place.
235235

236-
if protobuf_implementation == "cpp" and session.python in (
237-
"3.11",
238-
"3.12",
239-
"3.13",
240-
"3.14",
241-
):
236+
if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"):
242237
session.skip("cpp implementation is not supported in python 3.11+")
243238

244239
constraints_path = str(
@@ -448,12 +443,7 @@ def docfx(session):
448443
def prerelease_deps(session, protobuf_implementation):
449444
"""Run all tests with prerelease versions of dependencies installed."""
450445

451-
if protobuf_implementation == "cpp" and session.python in (
452-
"3.11",
453-
"3.12",
454-
"3.13",
455-
"3.14",
456-
):
446+
if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13", "3.14"):
457447
session.skip("cpp implementation is not supported in python 3.11+")
458448

459449
# Install all dependencies

0 commit comments

Comments
 (0)