Plugin¶
Operator¶
Base operator class for LightlyStudio plugins.
BaseOperator ¶
Bases: ABC
Base class for all operators.
error_message
class-attribute
instance-attribute
¶
error_message: str = ''
Human-readable error description set when status is ERROR.
parameters
abstractmethod
property
¶
parameters: list[BaseParameter]
Return the list of parameters this operator expects.
status
class-attribute
instance-attribute
¶
status: OperatorStatus = PENDING
Current lifecycle status of the operator.
supported_scopes
abstractmethod
property
¶
supported_scopes: list[OperatorScope]
Return the list of scopes this operator can be triggered from.
Determines where in the UI the operator is surfaced.
OperatorScope.ROOT targets dataset/root collections.
execute
abstractmethod
¶
execute(
*, session: Session, context: ExecutionContext, parameters: dict[str, Any]
) -> OperatorResult
Execute the operator with the given parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
Session
|
Database session. |
required |
context
|
ExecutionContext
|
Execution context containing collection_id and optional filter. |
required |
parameters
|
dict[str, Any]
|
Parameters passed to the operator. |
required |
Returns:
| Type | Description |
|---|---|
OperatorResult
|
An OperatorResult with success flag and message. |
shutdown ¶
shutdown() -> None
Stop the operator and release resources.
Called during application shutdown. Override this in operators that
spawned subprocesses or allocated resources in startup().
startup ¶
startup() -> None
Start the operator.
Called by LightlyStudio after registration. Override this in operators that need setup work (venv creation, model download, server subprocess, etc.).
Simple operators that run purely in-process do not need to override this — the default sets status to READY without any additional setup.
Parameter¶
Parameter for operators for LightlyStudio plugins.
BaseParameter
dataclass
¶
BaseParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)
Bases: ABC
Base parameter definition shared across operator parameters.
BoolParameter
dataclass
¶
BoolParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)
BuiltinParameter
dataclass
¶
BuiltinParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)
FloatParameter
dataclass
¶
FloatParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)
IntParameter
dataclass
¶
IntParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)
StringParameter
dataclass
¶
StringParameter(
name: str,
description: str = "",
default: Any = None,
required: bool = True,
param_type: str | None = None,
)