Skip to content

Commit 836f1d2

Browse files
committed
Update goldens; allow for not found dependencies
1 parent 35e3314 commit 836f1d2

File tree

8 files changed

+378
-32
lines changed

8 files changed

+378
-32
lines changed

gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ except AttributeError:
1919
2020
In the meantime, please ensure the functionality here mirrors the
2121
equivalent functionality in api_core, in those two functions above.
22-
-#}
22+
#}
2323
# An older version of api_core is installed, which does not define the
2424
# functions above. We do equivalent checks manually.
2525

2626
import logging
27+
import sys
2728

2829
_py_version_str = sys.version.split()[0]
2930
_package_label = "{{package_path}}"
@@ -39,7 +40,7 @@ except AttributeError:
3940
"it reaches its end of life (October 2025). Please " +
4041
"upgrade to the latest Python version, or at " +
4142
"least Python 3.10, before then, and " +
42-
f"then update {_package_label}. "
43+
f"then update {_package_label}.")
4344

4445
import pkg_resources
4546
from packaging.version import parse as parse_version
@@ -48,22 +49,24 @@ except AttributeError:
4849
version_string = pkg_resources.get_distribution(dependency_name).version
4950
return parse_version(version_string)
5051

51-
_dependency_package = "google.protobuf"
52-
_version_used = _get_version(_dependency_package)
53-
_next_supported_version = "4.25.8"
54-
if _version_used < parse_version(_next_supported_version):
55-
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
56-
f"{_dependency_package}, currently installed at version " +
57-
f"{_version_used.__str__}. Future updates to " +
58-
f"{_package_label} will require {_dependency_package} at " +
59-
f"version {_next_supported_version} or higher. Please ensure " +
60-
"that either (a) your Python environment doesn't pin the " +
61-
f"version of {_dependency_package}, so that updates to " +
62-
f"{_package_label} can require the higher version, or " +
63-
"(b) you manually update your Python environment to use at " +
64-
f"least version {_next_supported_version} of " +
65-
f"{_dependency_package}."
66-
52+
try:
53+
_dependency_package = "google.protobuf"
54+
_version_used = _get_version(_dependency_package)
55+
_next_supported_version = "4.25.8"
56+
if _version_used < parse_version(_next_supported_version):
57+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
58+
f"{_dependency_package}, currently installed at version " +
59+
f"{_version_used.__str__}. Future updates to " +
60+
f"{_package_label} will require {_dependency_package} at " +
61+
f"version {_next_supported_version} or higher. Please ensure " +
62+
"that either (a) your Python environment doesn't pin the " +
63+
f"version of {_dependency_package}, so that updates to " +
64+
f"{_package_label} can require the higher version, or " +
65+
"(b) you manually update your Python environment to use at " +
66+
f"least version {_next_supported_version} of " +
67+
f"{_dependency_package}.")
68+
except pkg_resources.DistributionNotFound:
69+
pass
6770

6871
{# Import subpackages. -#}
6972
{% for subpackage, _ in api.subpackages|dictsort %}

tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,57 @@
2020

2121
import google.api_core as api_core
2222

23-
api_core.check_python_version("google.cloud.asset_v1")
24-
api_core.check_dependency_versions("google.cloud.asset_v1")
23+
try:
24+
api_core.check_python_version("google.cloud.asset_v1")
25+
api_core.check_dependency_versions("google.cloud.asset_v1")
26+
except AttributeError:
27+
# An older version of api_core is installed, which does not define the
28+
# functions above. We do equivalent checks manually.
29+
30+
import logging
31+
import sys
32+
33+
_py_version_str = sys.version.split()[0]
34+
_package_label = "google.cloud.asset_v1"
35+
if sys.version_info < (3, 9):
36+
logging.warning("You are using a non-supported Python version " +
37+
f"({_py_version_str}). Google will not post any further " +
38+
f"updates to {_package_label} supporting this Python version. " +
39+
"Please upgrade to the latest Python version, or at " +
40+
f"least to Python 3.9, and then update {_package_label}.")
41+
if sys.version_info[:2] == (3, 9):
42+
logging.warning(f"You are using a Python version ({_py_version_str}) " +
43+
f"which Google will stop supporting in {_package_label} when " +
44+
"it reaches its end of life (October 2025). Please " +
45+
"upgrade to the latest Python version, or at " +
46+
"least Python 3.10, before then, and " +
47+
f"then update {_package_label}.")
48+
49+
import pkg_resources
50+
from packaging.version import parse as parse_version
51+
52+
def _get_version(dependency_name):
53+
version_string = pkg_resources.get_distribution(dependency_name).version
54+
return parse_version(version_string)
55+
56+
try:
57+
_dependency_package = "google.protobuf"
58+
_version_used = _get_version(_dependency_package)
59+
_next_supported_version = "4.25.8"
60+
if _version_used < parse_version(_next_supported_version):
61+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
62+
f"{_dependency_package}, currently installed at version " +
63+
f"{_version_used.__str__}. Future updates to " +
64+
f"{_package_label} will require {_dependency_package} at " +
65+
f"version {_next_supported_version} or higher. Please ensure " +
66+
"that either (a) your Python environment doesn't pin the " +
67+
f"version of {_dependency_package}, so that updates to " +
68+
f"{_package_label} can require the higher version, or " +
69+
"(b) you manually update your Python environment to use at " +
70+
f"least version {_next_supported_version} of " +
71+
f"{_dependency_package}.")
72+
except pkg_resources.DistributionNotFound:
73+
pass
2574

2675

2776
from .services.asset_service import AssetServiceClient

tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,57 @@
2020

2121
import google.api_core as api_core
2222

23-
api_core.check_python_version("google.iam.credentials_v1")
24-
api_core.check_dependency_versions("google.iam.credentials_v1")
23+
try:
24+
api_core.check_python_version("google.iam.credentials_v1")
25+
api_core.check_dependency_versions("google.iam.credentials_v1")
26+
except AttributeError:
27+
# An older version of api_core is installed, which does not define the
28+
# functions above. We do equivalent checks manually.
29+
30+
import logging
31+
import sys
32+
33+
_py_version_str = sys.version.split()[0]
34+
_package_label = "google.iam.credentials_v1"
35+
if sys.version_info < (3, 9):
36+
logging.warning("You are using a non-supported Python version " +
37+
f"({_py_version_str}). Google will not post any further " +
38+
f"updates to {_package_label} supporting this Python version. " +
39+
"Please upgrade to the latest Python version, or at " +
40+
f"least to Python 3.9, and then update {_package_label}.")
41+
if sys.version_info[:2] == (3, 9):
42+
logging.warning(f"You are using a Python version ({_py_version_str}) " +
43+
f"which Google will stop supporting in {_package_label} when " +
44+
"it reaches its end of life (October 2025). Please " +
45+
"upgrade to the latest Python version, or at " +
46+
"least Python 3.10, before then, and " +
47+
f"then update {_package_label}.")
48+
49+
import pkg_resources
50+
from packaging.version import parse as parse_version
51+
52+
def _get_version(dependency_name):
53+
version_string = pkg_resources.get_distribution(dependency_name).version
54+
return parse_version(version_string)
55+
56+
try:
57+
_dependency_package = "google.protobuf"
58+
_version_used = _get_version(_dependency_package)
59+
_next_supported_version = "4.25.8"
60+
if _version_used < parse_version(_next_supported_version):
61+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
62+
f"{_dependency_package}, currently installed at version " +
63+
f"{_version_used.__str__}. Future updates to " +
64+
f"{_package_label} will require {_dependency_package} at " +
65+
f"version {_next_supported_version} or higher. Please ensure " +
66+
"that either (a) your Python environment doesn't pin the " +
67+
f"version of {_dependency_package}, so that updates to " +
68+
f"{_package_label} can require the higher version, or " +
69+
"(b) you manually update your Python environment to use at " +
70+
f"least version {_next_supported_version} of " +
71+
f"{_dependency_package}.")
72+
except pkg_resources.DistributionNotFound:
73+
pass
2574

2675

2776
from .services.iam_credentials import IAMCredentialsClient

tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,57 @@
2020

2121
import google.api_core as api_core
2222

23-
api_core.check_python_version("google.cloud.eventarc_v1")
24-
api_core.check_dependency_versions("google.cloud.eventarc_v1")
23+
try:
24+
api_core.check_python_version("google.cloud.eventarc_v1")
25+
api_core.check_dependency_versions("google.cloud.eventarc_v1")
26+
except AttributeError:
27+
# An older version of api_core is installed, which does not define the
28+
# functions above. We do equivalent checks manually.
29+
30+
import logging
31+
import sys
32+
33+
_py_version_str = sys.version.split()[0]
34+
_package_label = "google.cloud.eventarc_v1"
35+
if sys.version_info < (3, 9):
36+
logging.warning("You are using a non-supported Python version " +
37+
f"({_py_version_str}). Google will not post any further " +
38+
f"updates to {_package_label} supporting this Python version. " +
39+
"Please upgrade to the latest Python version, or at " +
40+
f"least to Python 3.9, and then update {_package_label}.")
41+
if sys.version_info[:2] == (3, 9):
42+
logging.warning(f"You are using a Python version ({_py_version_str}) " +
43+
f"which Google will stop supporting in {_package_label} when " +
44+
"it reaches its end of life (October 2025). Please " +
45+
"upgrade to the latest Python version, or at " +
46+
"least Python 3.10, before then, and " +
47+
f"then update {_package_label}.")
48+
49+
import pkg_resources
50+
from packaging.version import parse as parse_version
51+
52+
def _get_version(dependency_name):
53+
version_string = pkg_resources.get_distribution(dependency_name).version
54+
return parse_version(version_string)
55+
56+
try:
57+
_dependency_package = "google.protobuf"
58+
_version_used = _get_version(_dependency_package)
59+
_next_supported_version = "4.25.8"
60+
if _version_used < parse_version(_next_supported_version):
61+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
62+
f"{_dependency_package}, currently installed at version " +
63+
f"{_version_used.__str__}. Future updates to " +
64+
f"{_package_label} will require {_dependency_package} at " +
65+
f"version {_next_supported_version} or higher. Please ensure " +
66+
"that either (a) your Python environment doesn't pin the " +
67+
f"version of {_dependency_package}, so that updates to " +
68+
f"{_package_label} can require the higher version, or " +
69+
"(b) you manually update your Python environment to use at " +
70+
f"least version {_next_supported_version} of " +
71+
f"{_dependency_package}.")
72+
except pkg_resources.DistributionNotFound:
73+
pass
2574

2675

2776
from .services.eventarc import EventarcClient

tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,57 @@
2020

2121
import google.api_core as api_core
2222

23-
api_core.check_python_version("google.cloud.logging_v2")
24-
api_core.check_dependency_versions("google.cloud.logging_v2")
23+
try:
24+
api_core.check_python_version("google.cloud.logging_v2")
25+
api_core.check_dependency_versions("google.cloud.logging_v2")
26+
except AttributeError:
27+
# An older version of api_core is installed, which does not define the
28+
# functions above. We do equivalent checks manually.
29+
30+
import logging
31+
import sys
32+
33+
_py_version_str = sys.version.split()[0]
34+
_package_label = "google.cloud.logging_v2"
35+
if sys.version_info < (3, 9):
36+
logging.warning("You are using a non-supported Python version " +
37+
f"({_py_version_str}). Google will not post any further " +
38+
f"updates to {_package_label} supporting this Python version. " +
39+
"Please upgrade to the latest Python version, or at " +
40+
f"least to Python 3.9, and then update {_package_label}.")
41+
if sys.version_info[:2] == (3, 9):
42+
logging.warning(f"You are using a Python version ({_py_version_str}) " +
43+
f"which Google will stop supporting in {_package_label} when " +
44+
"it reaches its end of life (October 2025). Please " +
45+
"upgrade to the latest Python version, or at " +
46+
"least Python 3.10, before then, and " +
47+
f"then update {_package_label}.")
48+
49+
import pkg_resources
50+
from packaging.version import parse as parse_version
51+
52+
def _get_version(dependency_name):
53+
version_string = pkg_resources.get_distribution(dependency_name).version
54+
return parse_version(version_string)
55+
56+
try:
57+
_dependency_package = "google.protobuf"
58+
_version_used = _get_version(_dependency_package)
59+
_next_supported_version = "4.25.8"
60+
if _version_used < parse_version(_next_supported_version):
61+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
62+
f"{_dependency_package}, currently installed at version " +
63+
f"{_version_used.__str__}. Future updates to " +
64+
f"{_package_label} will require {_dependency_package} at " +
65+
f"version {_next_supported_version} or higher. Please ensure " +
66+
"that either (a) your Python environment doesn't pin the " +
67+
f"version of {_dependency_package}, so that updates to " +
68+
f"{_package_label} can require the higher version, or " +
69+
"(b) you manually update your Python environment to use at " +
70+
f"least version {_next_supported_version} of " +
71+
f"{_dependency_package}.")
72+
except pkg_resources.DistributionNotFound:
73+
pass
2574

2675

2776
from .services.config_service_v2 import ConfigServiceV2Client

tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,57 @@
2020

2121
import google.api_core as api_core
2222

23-
api_core.check_python_version("google.cloud.logging_v2")
24-
api_core.check_dependency_versions("google.cloud.logging_v2")
23+
try:
24+
api_core.check_python_version("google.cloud.logging_v2")
25+
api_core.check_dependency_versions("google.cloud.logging_v2")
26+
except AttributeError:
27+
# An older version of api_core is installed, which does not define the
28+
# functions above. We do equivalent checks manually.
29+
30+
import logging
31+
import sys
32+
33+
_py_version_str = sys.version.split()[0]
34+
_package_label = "google.cloud.logging_v2"
35+
if sys.version_info < (3, 9):
36+
logging.warning("You are using a non-supported Python version " +
37+
f"({_py_version_str}). Google will not post any further " +
38+
f"updates to {_package_label} supporting this Python version. " +
39+
"Please upgrade to the latest Python version, or at " +
40+
f"least to Python 3.9, and then update {_package_label}.")
41+
if sys.version_info[:2] == (3, 9):
42+
logging.warning(f"You are using a Python version ({_py_version_str}) " +
43+
f"which Google will stop supporting in {_package_label} when " +
44+
"it reaches its end of life (October 2025). Please " +
45+
"upgrade to the latest Python version, or at " +
46+
"least Python 3.10, before then, and " +
47+
f"then update {_package_label}.")
48+
49+
import pkg_resources
50+
from packaging.version import parse as parse_version
51+
52+
def _get_version(dependency_name):
53+
version_string = pkg_resources.get_distribution(dependency_name).version
54+
return parse_version(version_string)
55+
56+
try:
57+
_dependency_package = "google.protobuf"
58+
_version_used = _get_version(_dependency_package)
59+
_next_supported_version = "4.25.8"
60+
if _version_used < parse_version(_next_supported_version):
61+
logging.warning(f"DEPRECATION: Package {_package_label} depends on " +
62+
f"{_dependency_package}, currently installed at version " +
63+
f"{_version_used.__str__}. Future updates to " +
64+
f"{_package_label} will require {_dependency_package} at " +
65+
f"version {_next_supported_version} or higher. Please ensure " +
66+
"that either (a) your Python environment doesn't pin the " +
67+
f"version of {_dependency_package}, so that updates to " +
68+
f"{_package_label} can require the higher version, or " +
69+
"(b) you manually update your Python environment to use at " +
70+
f"least version {_next_supported_version} of " +
71+
f"{_dependency_package}.")
72+
except pkg_resources.DistributionNotFound:
73+
pass
2574

2675

2776
from .services.config_service_v2 import BaseConfigServiceV2Client

0 commit comments

Comments
 (0)