Skip to main content

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.