Skip to content

Commit e078bb4

Browse files
committed
fix: maintain backwards compatibility for environments without grpc
1 parent 324786d commit e078bb4

2 files changed

Lines changed: 31 additions & 12 deletions

File tree

packages/google-api-core/google/api_core/gapic_v1/__init__.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,26 @@
3030
}
3131

3232
from google.api_core.gapic_v1 import client_info
33-
from google.api_core.gapic_v1 import config
34-
from google.api_core.gapic_v1 import config_async
35-
from google.api_core.gapic_v1 import method
36-
from google.api_core.gapic_v1 import method_async
3733
from google.api_core.gapic_v1 import routing_header
3834

3935
__all__ = [
4036
"client_info",
41-
"config",
42-
"config_async",
43-
"method",
44-
"method_async",
4537
"routing_header",
4638
]
39+
40+
try:
41+
from google.api_core.gapic_v1 import config
42+
from google.api_core.gapic_v1 import config_async
43+
from google.api_core.gapic_v1 import method
44+
from google.api_core.gapic_v1 import method_async
45+
46+
__all__.extend(
47+
[
48+
"config",
49+
"config_async",
50+
"method",
51+
"method_async",
52+
]
53+
)
54+
except ImportError:
55+
pass

packages/google-api-core/tests/unit/gapic/test_lazy_imports.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,25 @@
5151
import sys
5252
import google.api_core.gapic_v1
5353
54+
try:
55+
import grpc
56+
has_grpc = True
57+
except ImportError:
58+
has_grpc = False
59+
5460
HEAVY_MODULES = [
5561
"google.api_core.gapic_v1.client_info",
56-
"google.api_core.gapic_v1.config",
57-
"google.api_core.gapic_v1.config_async",
58-
"google.api_core.gapic_v1.method",
59-
"google.api_core.gapic_v1.method_async",
6062
"google.api_core.gapic_v1.routing_header",
6163
]
6264
65+
if has_grpc:
66+
HEAVY_MODULES.extend([
67+
"google.api_core.gapic_v1.config",
68+
"google.api_core.gapic_v1.config_async",
69+
"google.api_core.gapic_v1.method",
70+
"google.api_core.gapic_v1.method_async",
71+
])
72+
6373
for mod in HEAVY_MODULES:
6474
if mod not in sys.modules:
6575
print(f"FAILED: {mod} was not eagerly loaded into sys.modules")

0 commit comments

Comments
 (0)