MCPcopy Create free account
hub / github.com/Kaggle/docker-python / GcpModuleFinder

Class GcpModuleFinder

patches/sitecustomize.py:11–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9import wrapt
10
11class GcpModuleFinder(importlib.abc.MetaPathFinder):
12 _MODULES = [
13 'google.cloud.bigquery',
14 'google.cloud.storage',
15 'google.cloud.translate',
16 'google.cloud.translate_v2',
17 'google.cloud.translate_v3',
18 'google.cloud.language',
19 'google.cloud.language_v1',
20 'google.cloud.videointelligence',
21 'google.cloud.videointelligence_v1',
22 'google.cloud.vision',
23 'google.cloud.vision_v1',
24 ]
25 _KAGGLE_GCP_PATH = 'kaggle_gcp.py'
26 def __init__(self):
27 pass
28
29 def _is_called_from_kaggle_gcp(self):
30 import inspect
31 for frame in inspect.stack():
32 if os.path.basename(frame.filename) == self._KAGGLE_GCP_PATH:
33 return True
34 return False
35
36 def find_spec(self, fullname, path, target=None):
37 if fullname in self._MODULES:
38 # If being called from kaggle_gcp, don't return our
39 # monkeypatched module to avoid circular dependency,
40 # since we call kaggle_gcp to load the module.
41 if self._is_called_from_kaggle_gcp():
42 return None
43 return importlib.machinery.ModuleSpec(fullname, GcpModuleLoader())
44
45
46class GcpModuleLoader(importlib.abc.Loader):

Callers 1

sitecustomize.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected