Skip to content

Events

skyward.Event = Request | Fact

skyward.Request = ClusterRequested | InstanceRequested | ShutdownRequested | BootstrapRequested

skyward.Fact = ClusterProvisioned | InstanceLaunched | InstanceRunning | InstanceProvisioned | InstanceBootstrapped | InstancePreempted | InstanceReplaced | InstanceDestroyed | ClusterReady | ClusterDestroyed | TaskStarted | TaskCompleted | Metric | Log | ConsoleOutput | BootstrapPhase | BootstrapCommand | BootstrapFailed | Error

Type aliases

skyward.RequestId = str

skyward.ClusterId = str

skyward.InstanceId = str

skyward.NodeId = int

skyward.ProviderName = Literal['aws', 'gcp', 'vastai', 'verda', 'runpod', 'container']

Requests

skyward.ClusterRequested dataclass

Pool requests a new cluster from a provider.

request_id instance-attribute

provider instance-attribute

spec instance-attribute

reply_to = None class-attribute instance-attribute

__init__(request_id, provider, spec, reply_to=None)

skyward.InstanceRequested dataclass

Node requests an instance (new or replacement).

request_id instance-attribute

provider instance-attribute

cluster_id instance-attribute

node_id instance-attribute

reply_to = None class-attribute instance-attribute

replacing = None class-attribute instance-attribute

__init__(request_id, provider, cluster_id, node_id, reply_to=None, replacing=None)

skyward.ShutdownRequested dataclass

Pool requests cluster shutdown.

cluster_id instance-attribute

reply_to = None class-attribute instance-attribute

__init__(cluster_id, reply_to=None)

Facts

skyward.ClusterProvisioned dataclass

Cluster infrastructure is ready.

request_id instance-attribute

cluster_id instance-attribute

provider instance-attribute

__init__(request_id, cluster_id, provider)

skyward.ClusterReady dataclass

cluster instance-attribute

__init__(cluster)

skyward.ClusterDestroyed dataclass

Cluster was fully shut down.

cluster_id instance-attribute

__init__(cluster_id)

skyward.InstanceProvisioned dataclass

Instance was created (not yet bootstrapped).

request_id instance-attribute

instance instance-attribute

__init__(request_id, instance)

skyward.InstanceBootstrapped dataclass

Instance finished bootstrap, ready for work.

instance instance-attribute

__init__(instance)

skyward.InstancePreempted dataclass

Instance was preempted (spot interruption).

instance instance-attribute

reason instance-attribute

__init__(instance, reason)

skyward.InstanceReplaced dataclass

Instance was successfully replaced after preemption.

request_id instance-attribute

old_id instance-attribute

new instance-attribute

__init__(request_id, old_id, new)

skyward.InstanceDestroyed dataclass

Instance was terminated.

instance_id instance-attribute

__init__(instance_id)

skyward.NodeInstance dataclass

Instance bound to a node — infrastructure context + offer.

instance instance-attribute

node instance-attribute

provider instance-attribute

ssh_user instance-attribute

ssh_key_path instance-attribute

ssh_password = None class-attribute instance-attribute

network_interface = '' class-attribute instance-attribute

__init__(instance, node, provider, ssh_user, ssh_key_path, ssh_password=None, network_interface='')

skyward.TaskStarted dataclass

Task execution started on an instance.

task_id instance-attribute

instance instance-attribute

function_name instance-attribute

__init__(task_id, instance, function_name)

skyward.TaskCompleted dataclass

Task execution completed.

task_id instance-attribute

instance instance-attribute

duration instance-attribute

success instance-attribute

error = None class-attribute instance-attribute

__init__(task_id, instance, duration, success, error=None)

skyward.Metric dataclass

Metric value from an instance.

instance instance-attribute

name instance-attribute

value instance-attribute

timestamp instance-attribute

__init__(instance, name, value, timestamp)

skyward.Log dataclass

Log line from an instance.

instance instance-attribute

line instance-attribute

stream = 'stdout' class-attribute instance-attribute

overwrite = False class-attribute instance-attribute

__init__(instance, line, stream='stdout', overwrite=False)

skyward.Error dataclass

Something went wrong.

request_id instance-attribute

message instance-attribute

fatal = False class-attribute instance-attribute

__init__(request_id, message, fatal=False)