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
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.
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.