AutomationContext
A context helper class.
This class exposes methods to work with the Speckle Automate context inside Speckle Automate functions.
An instance of AutomationContext is injected into every run of a function.
initialize
classmethod
initialize(
automation_run_data: Union[str, AutomationRunData],
speckle_token: str,
) -> AutomationContext
Bootstrap the AutomateSDK from raw data.
Todo:
* bootstrap a structlog logger instance
* expose a logger, that ppl can use instead of print
Source code in src/speckle_automate/automation_context.py
elapsed
elapsed() -> float
receive_version
receive_version() -> Base
Receive the Speckle project version that triggered this automation run.
Source code in src/speckle_automate/automation_context.py
create_new_model_in_project
Source code in src/speckle_automate/automation_context.py
get_model
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model_id
|
str
|
The id of the model to get |
required |
create_new_version_in_project
create_new_version_in_project(
root_object: Base,
model_id: str,
version_message: str = "",
) -> Version
Save a base model to a new version on the project.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
root_object
|
Base
|
The Speckle base object for the new version. |
required |
model_id
|
str
|
Id of model to create the new version on. |
required |
version_message
|
str
|
The message for the new version. |
''
|
Source code in src/speckle_automate/automation_context.py
set_context_view
set_context_view(
resource_ids: Optional[List[str]] = None,
include_source_model_version: bool = True,
) -> None
Source code in src/speckle_automate/automation_context.py
report_run_status
Report the current run status to the project of this automation.
Source code in src/speckle_automate/automation_context.py
store_file_result
Save a file attached to the project of this automation.
Source code in src/speckle_automate/automation_context.py
mark_run_failed
Mark the current run a failure.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
status_message
|
str
|
Optional message to be displayed. |
required |
version_result
|
dict[str, Any] | None
|
Optional data object, that will be attached to the run results. The dictionary should be JSON serializable |
None
|
Source code in src/speckle_automate/automation_context.py
mark_run_exception
mark_run_exception(status_message: str) -> None
mark_run_success
mark_run_success(
status_message: str | None,
version_result: dict[str, Any] | None = None,
) -> None
Mark the current run a success with an optional message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
status_message
|
str | None
|
Optional message to be displayed. |
required |
version_result
|
dict[str, Any] | None
|
Optional data object, that will be attached to the run results. The dictionary should be JSON serializable |
None
|
Source code in src/speckle_automate/automation_context.py
attach_error_to_objects
attach_error_to_objects(
category: str,
affected_objects: Union[Base, List[Base]],
message: Optional[str] = None,
metadata: Optional[Dict[str, Any]] = None,
visual_overrides: Optional[Dict[str, Any]] = None,
) -> None
Add a new error case to the run results. Args: category (str): A short tag for the event type. affected_objects (Union[Base, List[Base]]): A single object or a list of objects that are causing the error case. message (Optional[str]): Optional message. metadata: User provided metadata key value pairs visual_overrides: Case specific 3D visual overrides.
Source code in src/speckle_automate/automation_context.py
attach_warning_to_objects
attach_warning_to_objects(
category: str,
affected_objects: Union[Base, List[Base]],
message: Optional[str] = None,
metadata: Optional[Dict[str, Any]] = None,
visual_overrides: Optional[Dict[str, Any]] = None,
) -> None
Add a new warning case to the run results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
category
|
str
|
A short tag for the event type. |
required |
affected_objects
|
Union[Base, List[Base]]
|
A single object or a list of objects that are causing the warning case. |
required |
message
|
Optional[str]
|
Optional message. |
None
|
metadata
|
Optional[Dict[str, Any]]
|
User provided metadata key value pairs |
None
|
visual_overrides
|
Optional[Dict[str, Any]]
|
Case specific 3D visual overrides. |
None
|
Source code in src/speckle_automate/automation_context.py
attach_success_to_objects
attach_success_to_objects(
category: str,
affected_objects: Union[Base, List[Base]],
message: Optional[str] = None,
metadata: Optional[Dict[str, Any]] = None,
visual_overrides: Optional[Dict[str, Any]] = None,
) -> None
Add a new success case to the run results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
category
|
str
|
A short tag for the event type. |
required |
affected_objects
|
Union[Base, List[Base]]
|
A single object or a list of objects that are causing the success case. |
required |
message
|
Optional[str]
|
Optional message. |
None
|
metadata
|
Optional[Dict[str, Any]]
|
User provided metadata key value pairs |
None
|
visual_overrides
|
Optional[Dict[str, Any]]
|
Case specific 3D visual overrides. |
None
|
Source code in src/speckle_automate/automation_context.py
attach_info_to_objects
attach_info_to_objects(
category: str,
affected_objects: Union[Base, List[Base]],
message: Optional[str] = None,
metadata: Optional[Dict[str, Any]] = None,
visual_overrides: Optional[Dict[str, Any]] = None,
) -> None
Add a new info case to the run results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
category
|
str
|
A short tag for the event type. |
required |
affected_objects
|
Union[Base, List[Base]]
|
A single object or a list of objects that are causing the info case. |
required |
message
|
Optional[str]
|
Optional message. |
None
|
metadata
|
Optional[Dict[str, Any]]
|
User provided metadata key value pairs |
None
|
visual_overrides
|
Optional[Dict[str, Any]]
|
Case specific 3D visual overrides. |
None
|
Source code in src/speckle_automate/automation_context.py
attach_result_to_objects
attach_result_to_objects(
level: ObjectResultLevel,
category: str,
affected_objects: Union[Base, List[Base]],
message: Optional[str] = None,
metadata: Optional[Dict[str, Any]] = None,
visual_overrides: Optional[Dict[str, Any]] = None,
) -> None
Add a new result case to the run results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
level
|
ObjectResultLevel
|
Result level. |
required |
category
|
str
|
A short tag for the event type. |
required |
affected_objects
|
Union[Base, List[Base]]
|
A single object or a list of objects that are causing the info case. |
required |
message
|
Optional[str]
|
Optional message. |
None
|
metadata
|
Optional[Dict[str, Any]]
|
User provided metadata key value pairs |
None
|
visual_overrides
|
Optional[Dict[str, Any]]
|
Case specific 3D visual overrides. |
None
|