ovo.core.plugins

Module Contents

Classes

WorkflowPage

Represents a workflow page in the plugin system

DesignView

Represents a design view in the plugin system

OVOPlugin

Plugin configuration validated with Pydantic

Functions

_get_extension_points_from_legacy_plugin_dict

Create “extension_points” entries from legacy plugin dict keys like “pages” and “design_views” with validation

load_plugins

Load all registered plugins and return list of validated OVOPlugin instances

load_variable

get_extension_points

Get all extension points of a given type from all plugins

Data

API

class ovo.core.plugins.WorkflowPage

Represents a workflow page in the plugin system

module_name: str

None

title: str

None

path: str

None

category: str

None

labels: list[str]

‘field(…)’

short_description: str | None

None

thumbnail: str | None

None

class ovo.core.plugins.DesignView

Represents a design view in the plugin system

title: str

None

path: str

None

labels: list[str]

‘field(…)’

class ovo.core.plugins.OVOPlugin(/, **data: typing.Any)

Bases: pydantic.BaseModel

Plugin configuration validated with Pydantic

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

module_name: str

None

submodule_names: list[str]

‘Field(…)’

extension_points: dict[str, list[Any]]

‘Field(…)’

classmethod from_dict(plugin_dict: dict, module_name: str) ovo.core.plugins.OVOPlugin

Create OVOPlugin from legacy dict format with original validation logic

ovo.core.plugins._get_extension_points_from_legacy_plugin_dict(plugin_dict: dict, module_name: str) dict[str, list[Any]]

Create “extension_points” entries from legacy plugin dict keys like “pages” and “design_views” with validation

ovo.core.plugins.load_plugins() list[ovo.core.plugins.OVOPlugin]

Load all registered plugins and return list of validated OVOPlugin instances

ovo.core.plugins.load_variable(path)
ovo.core.plugins.plugins: list[ovo.core.plugins.OVOPlugin]

‘load_plugins(…)’

ovo.core.plugins.T

‘TypeVar(…)’

ovo.core.plugins.get_extension_points(extension_point_key: str, result_type: Type[ovo.core.plugins.T]) list[ovo.core.plugins.T]

Get all extension points of a given type from all plugins

Args: extension_point_key: The extension point identifier (e.g., “ovo.workflow_page”, “ovo.design_view”) result_type: The expected type of the extension point results (e.g., WorkflowPage, DesignView, str)

Returns: List of all items registered for the given extension point across all plugins