kaskada.api.session

Module Contents

Classes

Session

LocalSession

An extension of a kaskada.api.Session that is executed locally. The local session is kept alive by using the LocalSessionKeepAlive.

Builder

Helper class that provides a standard way to create an ABC using

LocalBuilder

Helper class that provides a standard way to create an ABC using

Attributes

logger

KASKADA_PATH_ENV

KASKADA_PATH_DEFAULT

KASKADA_LOG_PATH_DEFAULT

KASKADA_LOG_PATH_ENV

KASKADA_BIN_PATH_DEFAULT

KASKADA_BIN_PATH_ENV

KASKADA_MANAGER_BIN_NAME_DEFAULT

KASKADA_ENGINE_BIN_NAME_DEFAULT

KASKADA_DISABLE_DOWNLOAD_ENV

KASKADA_SESSION

logger[source]
KASKADA_PATH_ENV = 'KASKADA_PATH'[source]
KASKADA_PATH_DEFAULT = '~/.cache/kaskada'[source]
KASKADA_LOG_PATH_DEFAULT = 'logs'[source]
KASKADA_LOG_PATH_ENV = 'KASKADA_LOG_PATH'[source]
KASKADA_BIN_PATH_DEFAULT = 'bin'[source]
KASKADA_BIN_PATH_ENV = 'KASKADA_BIN_PATH'[source]
KASKADA_MANAGER_BIN_NAME_DEFAULT = 'kaskada-manager'[source]
KASKADA_ENGINE_BIN_NAME_DEFAULT = 'kaskada-engine'[source]
KASKADA_DISABLE_DOWNLOAD_ENV = 'KASKADA_DISABLE_DOWNLOAD'[source]
class Session(endpoint, is_secure, client_id=None, client_factory=None)[source]
Parameters:
stop()[source]
connect(should_check_health=True)[source]
Parameters:

should_check_health (bool) –

Return type:

kaskada.client.Client

class LocalSession(endpoint, is_secure, manager_service, engine_service, client_id=None, should_keep_alive=True)[source]

Bases: Session

An extension of a kaskada.api.Session that is executed locally. The local session is kept alive by using the LocalSessionKeepAlive.

Parameters:
keep_alive_watcher: Optional[kaskada.api.local_session.local_session_keep_alive.LocalSessionKeepAlive][source]
start()[source]

Starts the local session by calling start on all services and connect on the client.

stop()[source]

Stops the local session by calling stop on all services and stops the keep alive watcher.

KASKADA_SESSION: Optional[LocalSession][source]
class Builder(endpoint=None, is_secure=None, name=None, client_id=None)[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

Parameters:
  • endpoint (Optional[str]) –

  • is_secure (Optional[bool]) –

  • name (Optional[str]) –

  • client_id (Optional[str]) –

endpoint(endpoint, is_secure)[source]
Parameters:
  • endpoint (str) –

  • is_secure (bool) –

name(name)[source]
Parameters:

name (str) –

client_id(client_id)[source]
Parameters:

client_id (str) –

class LocalBuilder(endpoint=kaskada.client.KASKADA_DEFAULT_ENDPOINT, is_secure=kaskada.client.KASKADA_IS_SECURE, engine_version='engine@v0.11.0')[source]

Bases: Builder

Helper class that provides a standard way to create an ABC using inheritance.

Parameters:
  • endpoint (str) –

  • is_secure (bool) –

  • engine_version (Optional[str]) –

manager_configs: Dict[str, Any][source]
engine_configs: Dict[str, Any][source]
_engine_version: Optional[str][source]
path(path)[source]
Parameters:

path (str) –

log_path(path)[source]
Parameters:

path (str) –

bin_path(path)[source]
Parameters:

path (str) –

download(download)[source]
Parameters:

download (bool) –

keep_alive(keep_alive)[source]
Parameters:

keep_alive (bool) –

in_memory(in_memory)[source]
Parameters:

in_memory (bool) –

database_path(path)[source]
Parameters:

path (str) –

with_manager_args(configs)[source]

Configure the Manager to run with a list of arguments. The arguments must be prefixed with a “-” and boolean values are represented as “1” or “0”.

For example: ``` from kaskada.api.session import LocalBuilder

session = LocalBuilder().with_manager_configs([

(“-object-store-type”, “local”), (“-object-store-path”, “/Users/kevin.nguyen/Github/kaskada/examples3”), (“-db-in-memory”, “1”), (“-rest-port”, 12345)

]).build()

```

Parameters:

configs (List[Tuple[str, Any]]) – Manager arguments

manager_rest_port(port)[source]
Parameters:

port (int) –

manager_grpc_port(port)[source]
Parameters:

port (int) –

engine_version(version)[source]

Set a specific version of the engine to download. The version must be in the format engine@v<semantic-version>.

Parameters:

version (str) – The git tag for a release on the kaskada repo

Raises:

ValueError – When an invalid version if provided. Note this does not check to the version’s existence on Github.

Returns:

Updated instance of LocalBuilder with the engine version set.

Return type:

LocalBuilder

__get_log_path(file_name)[source]
Parameters:

file_name (str) –

Return type:

pathlib.Path

__get_std_paths(service_name)[source]
Parameters:

service_name (str) –

Return type:

Tuple[pathlib.Path, pathlib.Path]

__get_binary_path()[source]
Return type:

pathlib.Path

__get_local_services()[source]
Return type:

Tuple[kaskada.api.local_session.local_service.KaskadaLocalService, kaskada.api.local_session.local_service.KaskadaLocalService]

__download_release(engine_version=None)[source]

Downloads a kaskada release version to the binary path.

Parameters:

engine_version (Optional[str]) – The engine version to download, e.g., engine@v<semantic-version>. Defaults to None for latest release.

build()[source]

Builds the local session. Starts by downloading the latest release and starting the local binaries.

Returns:

The local session object

Return type:

LocalSession