Python SDK
Types and dataclasses
Public dataclasses you'll see in SDK signatures.
Every dataclass below is exported from reflex and is frozen (immutable).
Training
@dataclass(frozen=True)
class Datum:
observation: dict
actions: list[list[float]]
loss_weights: list[float] | None = None
metadata: dict | None = None
@dataclass(frozen=True)
class AdamParams:
learning_rate: float
beta1: float = 0.9
beta2: float = 0.95
eps: float = 1e-8
weight_decay: float = 0.0
max_grad_norm: float | None = None
@dataclass(frozen=True)
class ForwardBackwardResult:
loss: float | None
metrics: dict
raw: dict
@dataclass(frozen=True)
class OptimStepResult:
step: int | None
metrics: dict
raw: dict
@dataclass(frozen=True)
class AdapterHandle:
lora: str
name: str
version: str
adapter_id: str
raw: dictSee Training for how these flow through LoraTrainingClient.
Connectors and cameras
Used when you implement a custom robot connector, camera source, or transport.
@dataclass
class Observation:
state: list[float]
cameras: dict = field(default_factory=dict)
task: str = ""
extra: dict = field(default_factory=dict)
@dataclass
class ActionChunk:
actions: list[list[float]]
metadata: dict = field(default_factory=dict)
@dataclass
class InferenceRequest:
observation: Observation
control_step: int = 0
extra: dict = field(default_factory=dict)Robot execution loop
Used by reflex.run_robot_execution_loop and the embedded
reflex.connect_runner API.
@dataclass(frozen=True)
class RobotExecutionConfig:
session_id: str
deployment_id: str
robot_id: str
mode: str = "dry_run"
task: str = ""
config_hash: str = ""
max_steps: int = 0
control_period_s: float = 0.02
observe_command: str = ""
action_command: str = ""
safe_stop_command: str = ""
command_timeout_s: float = 2.0
safe_stop_timeout_s: float = 5.0
heartbeat: Callable[[dict], None] | None = None
heartbeat_interval_s: float = 10.0
stop_on_error: bool = True
@dataclass(frozen=True)
class RobotExecutionResult:
steps: int
applied_steps: int
safe_stops: int
last_action_chunk: dict | None = None
errors: list[str] = field(default_factory=list)