Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -125,25 +125,24 @@ replacements:
before: '(?s)dependencies = \[.*?\]\nextras = \{\s*\}'
after: |
dependencies = [
"google-api-core[grpc] >= 2.17.1, <3.0.0",
"google-api-core[grpc] >= 2.24.2, <3.0.0",
# Exclude incompatible versions of `google-auth`
# See https://github.com/googleapis/google-cloud-python/issues/12364
"google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0",
"google-cloud-core >= 2.0.0, < 3.0.0",
"grpcio >= 1.49.1, < 2.0.0",
"grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
"grpc-google-iam-v1 >= 0.12.4, <1.0.0",
"proto-plus >= 1.22.3, <2.0.0",
"proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'",
"protobuf >= 4.25.8, < 8.0.0",
"grpc-google-iam-v1 >= 0.14.2, <1.0.0",
"proto-plus >= 1.26.1, <2.0.0",
"protobuf >= 6.33.5, < 8.0.0",
"grpc-interceptor >= 0.15.4",
"sqlparse >= 0.4.4",
# Make OpenTelemetry a core dependency
"opentelemetry-api >= 1.22.0",
"opentelemetry-sdk >= 1.22.0",
"opentelemetry-semantic-conventions >= 0.43b0",
"opentelemetry-resourcedetector-gcp >= 1.8.0a0",
"google-cloud-monitoring >= 2.16.0",
"google-cloud-monitoring >= 2.28.0",
"mmh3 >= 4.1.0",
]
extras = {
Expand Down Expand Up @@ -1397,21 +1396,21 @@ replacements:
"""Run all tests with core dependencies installed from source,
count: 1
- paths: [packages/google-cloud-spanner/testing/constraints-3.10.txt]
before: '(?s)protobuf==4.25.8\n(?!google-cloud-core)'
before: '(?s)protobuf==6.33.5\n(?!google-cloud-core)'
after: |
protobuf==4.25.8
protobuf==6.33.5
google-cloud-core==2.0.0
grpc-google-iam-v1==0.12.4
grpc-google-iam-v1==0.14.2
sqlparse==0.4.4
grpc-interceptor==0.15.4
opentelemetry-api==1.22.0
opentelemetry-sdk==1.22.0
opentelemetry-semantic-conventions==0.43b0
opentelemetry-resourcedetector-gcp==1.8.0a0
google-cloud-monitoring==2.16.0
google-cloud-monitoring==2.28.0
mmh3==4.1.0
libcst==0.2.5
googleapis-common-protos==1.60.0
googleapis-common-protos==1.69.2
count: 1
- paths: [
packages/google-cloud-spanner/noxfile.py
Expand All @@ -1437,4 +1436,13 @@ replacements:
after: |
grpcio==1.49.1
grpcio-status==1.49.1
count: 1
count: 1
- paths: [packages/google-cloud-spanner/.coveragerc]
before: |
\[report\]
show_missing = True
after: |
[report]
fail_under = 98
show_missing = True
count: 1
1 change: 1 addition & 0 deletions .release-please-bulk-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@
"packages/google-cloud-servicehealth": "0.5.0",
"packages/google-cloud-shell": "1.16.0",
"packages/google-cloud-source-context": "1.11.0",
"packages/google-cloud-spanner": "3.68.0",
"packages/google-cloud-speech": "2.40.0",
"packages/google-cloud-storage": "3.12.0",
"packages/google-cloud-storage-control": "1.12.0",
Expand Down
1 change: 0 additions & 1 deletion .release-please-individual-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"packages/google-cloud-bigtable": "2.39.0",
"packages/google-cloud-compute": "1.48.0",
"packages/google-cloud-firestore": "2.27.0",
"packages/google-cloud-spanner": "3.68.0",
"packages/google-crc32c": "1.8.0",
"packages/pandas-gbq": "0.35.0",
"packages/sqlalchemy-bigquery": "1.17.0"
Expand Down
2 changes: 0 additions & 2 deletions librarian.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1937,8 +1937,6 @@ libraries:
- docs/spanner_v1/table.rst
- docs/spanner_v1/transaction.rst
- tests/unit/gapic/conftest.py
skip_generate: true
skip_release: true
python:
library_type: GAPIC_COMBO
opt_args_by_api:
Expand Down
1 change: 1 addition & 0 deletions packages/google-cloud-spanner/.coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
branch = True

[report]
fail_under = 98
show_missing = True
omit =
google/cloud/spanner/__init__.py
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@

def parse_version_to_tuple(version_string: str):
"""Safely converts a semantic version string to a comparable tuple of integers.
Example: "4.25.8" -> (4, 25, 8)
Example: "6.33.5" -> (6, 33, 5)
Ignores non-numeric parts and handles common version formats.
Args:
version_string: Version string in the format "x.y.z" or "x.y.z<suffix>"
Expand Down Expand Up @@ -148,9 +148,9 @@ def _get_version(dependency_name):
return (None, "--")

_dependency_package = "google.protobuf"
_next_supported_version = "4.25.8"
_next_supported_version_tuple = (4, 25, 8)
_recommendation = " (we recommend 6.x)"
_next_supported_version = "6.33.5"
_next_supported_version_tuple = (6, 33, 5)
_recommendation = " (we recommend 7.x)"
(_version_used, _version_used_string) = _get_version(_dependency_package)
if _version_used and _version_used < _next_supported_version_tuple:
warnings.warn(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@

def parse_version_to_tuple(version_string: str):
"""Safely converts a semantic version string to a comparable tuple of integers.
Example: "4.25.8" -> (4, 25, 8)
Example: "6.33.5" -> (6, 33, 5)
Ignores non-numeric parts and handles common version formats.
Args:
version_string: Version string in the format "x.y.z" or "x.y.z<suffix>"
Expand Down Expand Up @@ -120,9 +120,9 @@ def _get_version(dependency_name):
return (None, "--")

_dependency_package = "google.protobuf"
_next_supported_version = "4.25.8"
_next_supported_version_tuple = (4, 25, 8)
_recommendation = " (we recommend 6.x)"
_next_supported_version = "6.33.5"
_next_supported_version_tuple = (6, 33, 5)
_recommendation = " (we recommend 7.x)"
(_version_used, _version_used_string) = _get_version(_dependency_package)
if _version_used and _version_used < _next_supported_version_tuple:
warnings.warn(
Expand Down
16 changes: 9 additions & 7 deletions packages/google-cloud-spanner/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@
version = None

with open(os.path.join(package_root, "google/cloud/spanner/gapic_version.py")) as fp:
version_candidates = re.findall(r"(?<=\")\d+.\d+.\d+(?=\")", fp.read())
version_candidates = re.findall(
r"(?<=\")\d+\.\d+\.\d+[^\"\s]*(?=\")",
fp.read(),
)
assert len(version_candidates) == 1
version = version_candidates[0]

Expand All @@ -39,25 +42,24 @@
release_status = "Development Status :: 5 - Production/Stable"

dependencies = [
"google-api-core[grpc] >= 2.17.1, <3.0.0",
"google-api-core[grpc] >= 2.24.2, <3.0.0",
# Exclude incompatible versions of `google-auth`
# See https://github.com/googleapis/google-cloud-python/issues/12364
"google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0",
"google-cloud-core >= 2.0.0, < 3.0.0",
"grpcio >= 1.49.1, < 2.0.0",
"grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
"grpc-google-iam-v1 >= 0.12.4, <1.0.0",
"proto-plus >= 1.22.3, <2.0.0",
"proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'",
"protobuf >= 4.25.8, < 8.0.0",
"grpc-google-iam-v1 >= 0.14.2, <1.0.0",
"proto-plus >= 1.26.1, <2.0.0",
"protobuf >= 6.33.5, < 8.0.0",
"grpc-interceptor >= 0.15.4",
"sqlparse >= 0.4.4",
# Make OpenTelemetry a core dependency
"opentelemetry-api >= 1.22.0",
"opentelemetry-sdk >= 1.22.0",
"opentelemetry-semantic-conventions >= 0.43b0",
"opentelemetry-resourcedetector-gcp >= 1.8.0a0",
"google-cloud-monitoring >= 2.16.0",
"google-cloud-monitoring >= 2.28.0",
"mmh3 >= 4.1.0",
]
extras = {
Expand Down
12 changes: 6 additions & 6 deletions packages/google-cloud-spanner/testing/constraints-3.10.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@
# pinning their versions to their lower bounds.
# For example, if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0",
# then this file should have google-cloud-foo==1.14.0
google-api-core==2.17.1
google-api-core==2.24.2
google-auth==2.14.1
grpcio==1.49.1
grpcio-status==1.49.1
proto-plus==1.22.3
protobuf==4.25.8
proto-plus==1.26.1
protobuf==6.33.5
google-cloud-core==2.0.0
grpc-google-iam-v1==0.12.4
grpc-google-iam-v1==0.14.2
sqlparse==0.4.4
grpc-interceptor==0.15.4
opentelemetry-api==1.22.0
opentelemetry-sdk==1.22.0
opentelemetry-semantic-conventions==0.43b0
opentelemetry-resourcedetector-gcp==1.8.0a0
google-cloud-monitoring==2.16.0
google-cloud-monitoring==2.28.0
mmh3==4.1.0
libcst==0.2.5
googleapis-common-protos==1.60.0
googleapis-common-protos==1.69.2
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ google-api-core>=2
google-auth>=2
grpcio>=1
proto-plus>=1
protobuf>=6
protobuf>=7
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ google-api-core>=2
google-auth>=2
grpcio>=1
proto-plus>=1
protobuf>=6
protobuf>=7
7 changes: 5 additions & 2 deletions packages/google-cloud-spanner/tests/system/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
import operator
import os
import time
import uuid

from google.api_core import exceptions
from test_utils import retry, system
from test_utils import retry

from google.cloud.spanner_v1 import instance as instance_mod
from tests import _fixtures
Expand Down Expand Up @@ -159,7 +160,9 @@ def cleanup_old_instances(spanner_client):


def unique_id(prefix, separator="-"):
return f"{prefix}{system.unique_resource_id(separator)}"
# Database name size: Spanner database names are limited to 30 characters.
# See: https://docs.cloud.google.com/spanner/docs/reference/rpc/google.spanner.admin.database.v1#createdatabaserequest
return f"{prefix}{separator}{uuid.uuid4().hex[:13]}"


class FauxCall:
Expand Down
26 changes: 26 additions & 0 deletions release-please-bulk-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2799,6 +2799,32 @@
"google/cloud/source_context_v1/gapic_version.py"
]
},
"packages/google-cloud-spanner": {
"component": "google-cloud-spanner",
"extra-files": [
"google/cloud/spanner/gapic_version.py",
"google/cloud/spanner_admin_database/gapic_version.py",
"google/cloud/spanner_admin_database_v1/gapic_version.py",
"google/cloud/spanner_admin_instance/gapic_version.py",
"google/cloud/spanner_admin_instance_v1/gapic_version.py",
"google/cloud/spanner_v1/gapic_version.py",
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.admin.database.v1.json",
"type": "json"
},
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.admin.instance.v1.json",
"type": "json"
},
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.v1.json",
"type": "json"
}
]
},
"packages/google-cloud-speech": {
"component": "google-cloud-speech",
"extra-files": [
Expand Down
26 changes: 0 additions & 26 deletions release-please-individual-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,32 +51,6 @@
}
]
},
"packages/google-cloud-spanner": {
"component": "google-cloud-spanner",
"extra-files": [
"google/cloud/spanner/gapic_version.py",
"google/cloud/spanner_admin_database/gapic_version.py",
"google/cloud/spanner_admin_database_v1/gapic_version.py",
"google/cloud/spanner_admin_instance/gapic_version.py",
"google/cloud/spanner_admin_instance_v1/gapic_version.py",
"google/cloud/spanner_v1/gapic_version.py",
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.admin.database.v1.json",
"type": "json"
},
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.admin.instance.v1.json",
"type": "json"
},
{
"jsonpath": "$.clientLibrary.version",
"path": "samples/generated_samples/snippet_metadata_google.spanner.v1.json",
"type": "json"
}
]
},
"packages/google-crc32c": {
"component": "google-crc32c"
},
Expand Down
Loading