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

Function post_import_logic

patches/sitecustomize.py:77–116  ·  view source on GitHub ↗
(module)

Source from the content-addressed store, hash-verified

75
76@wrapt.when_imported('google.generativeai')
77def post_import_logic(module):
78 if os.getenv('KAGGLE_DISABLE_GOOGLE_GENERATIVE_AI_INTEGRATION') != None:
79 return
80 if (os.getenv('KAGGLE_DATA_PROXY_TOKEN') == None or
81 os.getenv('KAGGLE_USER_SECRETS_TOKEN') == None or
82 (os.getenv('KAGGLE_DATA_PROXY_URL') == None and
83 os.getenv('KAGGLE_GRPC_DATA_PROXY_URL') == None)):
84 return
85
86 old_configure = module.configure
87
88 def new_configure(*args, **kwargs):
89 if ('default_metadata' in kwargs):
90 default_metadata = kwargs['default_metadata']
91 else:
92 default_metadata = []
93 default_metadata.append(("x-kaggle-proxy-data", os.environ['KAGGLE_DATA_PROXY_TOKEN']))
94 user_secrets_token = os.environ['KAGGLE_USER_SECRETS_TOKEN']
95 default_metadata.append(('x-kaggle-authorization', f'Bearer {user_secrets_token}'))
96 kwargs['default_metadata'] = default_metadata
97
98 if ('client_options' in kwargs):
99 client_options = kwargs['client_options']
100 else:
101 client_options = {}
102
103 if os.getenv('KAGGLE_GOOGLE_GENERATIVE_AI_USE_REST_ONLY') != None:
104 kwargs['transport'] = 'rest'
105
106 if 'transport' in kwargs and kwargs['transport'] == 'rest':
107 client_options['api_endpoint'] = os.environ['KAGGLE_DATA_PROXY_URL']
108 client_options['api_endpoint'] += '/palmapi'
109 else:
110 client_options['api_endpoint'] = os.environ['KAGGLE_GRPC_DATA_PROXY_URL']
111 kwargs['client_options'] = client_options
112
113 old_configure(*args, **kwargs)
114
115 module.configure = new_configure
116 module.configure() # generativeai can use GOOGLE_API_KEY env variable, so make sure we have the other configs set
117
118@wrapt.when_imported('google.genai')
119def post_genai_import_logic(module):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected