airbyte.secrets.google_colab

Secrets manager for Google Colab user secrets.

 1# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
 2"""Secrets manager for Google Colab user secrets."""
 3
 4from __future__ import annotations
 5
 6from airbyte.secrets.base import SecretManager, SecretSourceEnum, SecretString
 7
 8
 9class ColabSecretManager(SecretManager):
10    """Secret manager that retrieves secrets from Google Colab user secrets."""
11
12    name = SecretSourceEnum.GOOGLE_COLAB.value
13
14    def __init__(self) -> None:
15        try:
16            from google.colab import (  # pyright: ignore[reportMissingImports]
17                userdata as colab_userdata,
18            )
19
20            self.colab_userdata = colab_userdata
21        except ImportError:
22            self.colab_userdata = None
23
24        super().__init__()
25
26    def get_secret(self, secret_name: str) -> SecretString | None:
27        """Get a named secret from Google Colab user secrets."""
28        if self.colab_userdata is None:
29            # The module doesn't exist. We probably aren't in Colab.
30            return None
31
32        try:
33            return SecretString(self.colab_userdata.get(secret_name))
34        except Exception:
35            # Secret name not found. Continue.
36            return None
class ColabSecretManager(airbyte.secrets.base.SecretManager):
10class ColabSecretManager(SecretManager):
11    """Secret manager that retrieves secrets from Google Colab user secrets."""
12
13    name = SecretSourceEnum.GOOGLE_COLAB.value
14
15    def __init__(self) -> None:
16        try:
17            from google.colab import (  # pyright: ignore[reportMissingImports]
18                userdata as colab_userdata,
19            )
20
21            self.colab_userdata = colab_userdata
22        except ImportError:
23            self.colab_userdata = None
24
25        super().__init__()
26
27    def get_secret(self, secret_name: str) -> SecretString | None:
28        """Get a named secret from Google Colab user secrets."""
29        if self.colab_userdata is None:
30            # The module doesn't exist. We probably aren't in Colab.
31            return None
32
33        try:
34            return SecretString(self.colab_userdata.get(secret_name))
35        except Exception:
36            # Secret name not found. Continue.
37            return None

Secret manager that retrieves secrets from Google Colab user secrets.

ColabSecretManager()
15    def __init__(self) -> None:
16        try:
17            from google.colab import (  # pyright: ignore[reportMissingImports]
18                userdata as colab_userdata,
19            )
20
21            self.colab_userdata = colab_userdata
22        except ImportError:
23            self.colab_userdata = None
24
25        super().__init__()

Instantiate the new secret manager.

name = 'google_colab'
def get_secret(self, secret_name: str) -> airbyte.secrets.base.SecretString | None:
27    def get_secret(self, secret_name: str) -> SecretString | None:
28        """Get a named secret from Google Colab user secrets."""
29        if self.colab_userdata is None:
30            # The module doesn't exist. We probably aren't in Colab.
31            return None
32
33        try:
34            return SecretString(self.colab_userdata.get(secret_name))
35        except Exception:
36            # Secret name not found. Continue.
37            return None

Get a named secret from Google Colab user secrets.