[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/HadokenCode/docker-python/master/patches/sitecustomize.py [Back]  [Original]

# Monkey patches BigQuery client creation to use proxy.

# Import tensorflow and torch before anything else. This is a hacky workaround to an error on dlopen
# reporting a limit on static TLS, tracked in:
# tensorflow: https://github.com/tensorflow/tensorflow/issues/19010
# torch: https://github.com/pytorch/pytorch/issues/2575
import tensorflow
import torch
import os

kaggle_proxy_token = os.getenv("KAGGLE_DATA_PROXY_TOKEN")
if kaggle_proxy_token:
    from google.auth import credentials
    from google.cloud import bigquery
    from google.cloud.bigquery._http import Connection

    Connection.API_BASE_URL = os.getenv("KAGGLE_DATA_PROXY_URL")
    Connection._EXTRA_HEADERS["X-KAGGLE-PROXY-DATA"] = kaggle_proxy_token

    bq_client = bigquery.Client
    bigquery.Client = lambda *args, **kwargs: bq_client(
        *args,
        credentials=credentials.AnonymousCredentials(),
        project=os.getenv("KAGGLE_DATA_PROXY_PROJECT"),
        **kwargs)

    credentials.AnonymousCredentials.refresh = lambda *args: None

Web Proxy Viewer  |  New URL  |  Original Page