plexus.dashboard.api.models.procedure module
Procedure Model - Python representation of the GraphQL Procedure type.
Provides methods to manage procedures including: - Creating new procedures - Linking to scorecards and scores - Managing graph nodes and versions - YAML configuration handling
Each procedure belongs to an account and is associated with a scorecard and score. Procedures use a tree structure of nodes, where each node has versions containing YAML configurations and computed values.
- class plexus.dashboard.api.models.procedure.Procedure(id: str, featured: bool, accountId: str, createdAt: datetime.datetime, updatedAt: datetime.datetime, rootNodeId: str | None = None, code: str | None = None, state: str | None = None, parentProcedureId: str | None = None, templateId: str | None = None, isTemplate: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None, scoreVersionId: str | None = None, client: ForwardRef('_BaseAPIClient') | None = None)
Bases:
BaseModel- __init__(id: str, featured: bool, accountId: str, createdAt: datetime, updatedAt: datetime, rootNodeId: str | None = None, code: str | None = None, state: str | None = None, parentProcedureId: str | None = None, templateId: str | None = None, isTemplate: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None, scoreVersionId: str | None = None, client: _BaseAPIClient | None = None)
- accountId: str
- classmethod create(client: _BaseAPIClient, accountId: str, scorecardId: str | None = None, scoreId: str | None = None, featured: bool = False, parentProcedureId: str | None = None, isTemplate: bool = False, code: str | None = None, state: str = 'start', scoreVersionId: str | None = None) Procedure
Create a new procedure.
- Args:
client: The API client accountId: ID of the account this procedure belongs to scorecardId: Optional ID of the scorecard this procedure is associated with scoreId: Optional ID of the score this procedure is associated with featured: Whether this procedure should be featured parentProcedureId: Optional ID of the parent procedure (if this is an instance) isTemplate: Whether this procedure is a template (default: False) code: Optional YAML code for the procedure state: Initial state (default: “start”) scoreVersionId: Optional ID of the score version
- Returns:
The created Procedure instance
- create_root_node(yaml_config: str, initial_metadata: Dict[str, Any] | None = None) GraphNode
Create a root node for this procedure with initial metadata.
- Args:
yaml_config: The YAML configuration for the initial version initial_metadata: Optional initial metadata (defaults to {“initialized”: True})
- Returns:
The created GraphNode
- createdAt: datetime
- delete() bool
Delete this procedure.
- Returns:
True if deletion was successful
- featured: bool
- classmethod fields() str
Return the GraphQL fields to query for this model
- classmethod from_dict(data: Dict[str, Any], client: _BaseAPIClient) Procedure
Create an instance from a dictionary of data
- get_root_node() GraphNode | None
Get the root node for this procedure.
- Returns:
The root GraphNode or None if not set
- classmethod list_by_account(accountId: str, client: _BaseAPIClient, limit: int = 100) List[Procedure]
List procedures for an account, ordered by most recent first.
- Args:
accountId: The account ID to filter by client: The API client instance limit: Maximum number of procedures to return
- Returns:
List of Procedure instances ordered by updatedAt descending
- classmethod list_by_scorecard(scorecardId: str, client: _BaseAPIClient, limit: int = 100) List[Procedure]
List procedures for a scorecard, ordered by most recent first.
- Args:
scorecardId: The scorecard ID to filter by client: The API client instance limit: Maximum number of procedures to return
- Returns:
List of Procedure instances ordered by updatedAt descending
- rootNodeId: str | None
- scoreId: str | None
- scoreVersionId: str | None
- scorecardId: str | None
- state: str | None
- update(featured: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None) Procedure
Update this procedure.
- Args:
featured: Whether this procedure should be featured scorecardId: New scorecard ID (optional) scoreId: New score ID (optional)
- Returns:
Updated Procedure instance
- update_root_node(rootNodeId: str | None) Procedure
Update the root node ID for this procedure.
- Args:
rootNodeId: The ID of the node to set as root
- Returns:
Updated Procedure instance
- updatedAt: datetime