storage
Token storage backend implementations for Core.
class TokenStorage()
Abstract base class for token storage backends.
get(key: str) -> Optional[str]
Get value from storage.
set(key: str, value: str) -> None
Set value in storage.
delete(key: str) -> None
Delete value from storage.
is_available() -> bool
Check if storage backend is available.
get_token() -> Optional[str]
Get stored authentication token.
set_token(token: str) -> None
Store authentication token.
delete_token() -> None
Delete authentication token.
clear() -> None
Clear all authentication data.
class KeyringStorage(service_name: str = 'https://prod1.datalayer.run')
System keyring-based token storage using keyring library.
__init__(service_name: str = 'https://prod1.datalayer.run')
Initialize keyring storage.
Args: service_name: Service name for keyring entries (MUST be run_url for backwards compatibility)
is_available() -> bool
Check if keyring is available.
get(key: str) -> Optional[str]
Get value from keyring.
set(key: str, value: str) -> None
Set value in keyring.
delete(key: str) -> None
Delete value from keyring.
class EnvironmentStorage(prefix: str = 'DATALAYER_')
Environment variable-based token storage.
__init__(prefix: str = 'DATALAYER_')
Initialize environment storage.
Args: prefix: Prefix for environment variable names
is_available() -> bool
Environment storage is always available.
get(key: str) -> Optional[str]
Get value from environment variable.
set(key: str, value: str) -> None
Set value in environment variable.
delete(key: str) -> None
Delete value from environment variable.
get_token() -> Optional[str]
Get token from DATALAYER_API_KEY or DATALAYER_TOKEN.
class FileStorage(config_dir: Optional[pathlib.Path] = None)
File-based token storage with JSON format.
__init__(config_dir: Optional[pathlib.Path] = None)
Initialize file storage.
Args: config_dir: Directory for config files. Defaults to ~/.datalayer
is_available() -> bool
File storage is always available.
get(key: str) -> Optional[str]
Get value from file.
set(key: str, value: str) -> None
Set value in file.
delete(key: str) -> None
Delete value from file.
clear() -> None
Clear all data from file.
def get_default_storage() -> datalayer_core.authn.storage.TokenStorage
Get the default storage backend for the current environment.
Returns
-
TokenStorage
The appropriate storage backend.