@@ -122,17 +122,22 @@ replacements:
122122 \g<3>\g<4>
123123 count : 1
124124 - paths : [packages/google-cloud-spanner/setup.py]
125- before : ' (?s)dependencies = \[.*?\]\nextras = \{\}'
125+ before : ' (?s)dependencies = \[.*?\]\nextras = \{\s*\ }'
126126 after : |
127127 dependencies = [
128- "google-api-core[grpc] >= 1.34.0, <3.0.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*",
129- "google-cloud-core >= 1.4.4, < 3.0.0",
128+ "google-api-core[grpc] >= 2.17.1, <3.0.0",
129+ # Exclude incompatible versions of `google-auth`
130+ # See https://github.com/googleapis/google-cloud-python/issues/12364
131+ "google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0",
132+ "google-cloud-core >= 2.0.0, < 3.0.0",
133+ "grpcio >= 1.49.1, < 2.0.0",
134+ "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
130135 "grpc-google-iam-v1 >= 0.12.4, <1.0.0",
131- "proto-plus >= 1.22.0, <2.0.0",
132- "sqlparse >= 0.4.4",
133- "proto-plus >= 1.22.2, <2.0.0; python_version>='3.11'",
136+ "proto-plus >= 1.22.3, <2.0.0",
137+ "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'",
134138 "protobuf >= 4.25.8, < 8.0.0",
135139 "grpc-interceptor >= 0.15.4",
140+ "sqlparse >= 0.4.4",
136141 # Make OpenTelemetry a core dependency
137142 "opentelemetry-api >= 1.22.0",
138143 "opentelemetry-sdk >= 1.22.0",
@@ -601,6 +606,40 @@ replacements:
601606
602607 Next Steps
603608 count : 1
609+
610+ - paths : [
611+ packages/google-cloud-spanner/README.rst
612+ ]
613+ before : |
614+ Supported Python Versions
615+ \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
616+ Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
617+ Python\.
618+
619+ Python >= 3\.9, including 3\.14
620+
621+ \.\. _active: https://devguide\.python\.org/devcycle/#in-development-main-branch
622+ \.\. _maintenance: https://devguide\.python\.org/devcycle/#maintenance-branches
623+
624+ Unsupported Python Versions
625+ \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
626+ Python <= 3\.8
627+ after : |
628+ Supported Python Versions
629+ ^^^^^^^^^^^^^^^^^^^^^^^^^
630+ Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
631+ Python.
632+
633+ Python >= 3.10, including 3.14
634+
635+ .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
636+ .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
637+
638+ Unsupported Python Versions
639+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
640+ Python <= 3.9
641+ count : 1
642+
604643 # Note: noxfile.py is heavily customized so we clobber the whole file.
605644 - paths : [
606645 packages/google-cloud-spanner/noxfile.py
@@ -627,7 +666,6 @@ replacements:
627666 SYSTEM_TEST_PYTHON_VERSIONS: List[str] = ["3.12"]
628667
629668 ALL_PYTHON: List[str] = [
630- "3.9",
631669 "3.10",
632670 "3.11",
633671 "3.12",
@@ -667,7 +705,6 @@ replacements:
667705 CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()
668706
669707 nox.options.sessions = [
670- "unit-3.9",
671708 "unit-3.10",
672709 "unit-3.11",
673710 "unit-3.12",
@@ -816,8 +853,6 @@ replacements:
816853 def unit(session, protobuf_implementation):
817854 # Install all test dependencies, then install this package in-place.
818855
819- if session.python in ("3.7",):
820- session.skip("Python 3.7 is no longer supported")
821856 if protobuf_implementation == "cpp" and session.python in (
822857 "3.11",
823858 "3.12",
@@ -1379,4 +1414,27 @@ replacements:
13791414 )
13801415 def core_deps_from_source(session, protobuf_implementation) :
13811416 " " " Run all tests with core dependencies installed from source,
1417+ count: 1
1418+ - paths: [packages/google-cloud-spanner/testing/constraints-3.10.txt]
1419+ before: '(?s)protobuf==4.25.8\n (?!google-cloud-core)'
1420+ after: |
1421+ protobuf==4.25.8
1422+ google-cloud-core==2.0.0
1423+ grpc-google-iam-v1==0.12.4
1424+ sqlparse==0.4.4
1425+ grpc-interceptor==0.15.4
1426+ opentelemetry-api==1.22.0
1427+ opentelemetry-sdk==1.22.0
1428+ opentelemetry-semantic-conventions==0.43b0
1429+ opentelemetry-resourcedetector-gcp==1.8.0a0
1430+ google-cloud-monitoring==2.16.0
1431+ mmh3==4.1.0
1432+ libcst==0.2.5
1433+ googleapis-common-protos==1.60.0
1434+ count: 1
1435+ - paths: [packages/google-cloud-spanner/testing/constraints-3.10.txt]
1436+ before: 'grpcio==1\. 44\. 0\n (?!grpcio-status)'
1437+ after: |
1438+ grpcio==1.49.1
1439+ grpcio-status==1.49.1
13821440 count: 1
0 commit comments