wei.types.event_types

Types related to Events

pydantic model wei.types.event_types.CampaignStartEvent

Event for creating a campaign

Show JSON schema
{
   "title": "CampaignStartEvent",
   "description": "Event for creating a campaign",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "CAMPAIGN",
         "default": "CAMPAIGN",
         "enum": [
            "CAMPAIGN"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "CREATE",
         "default": "CREATE",
         "enum": [
            "CREATE"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "campaign": {
         "$ref": "#/$defs/Campaign"
      }
   },
   "$defs": {
      "Campaign": {
         "description": "A campaign is a collection of related experiments",
         "properties": {
            "campaign_name": {
               "title": "Campaign Name",
               "type": "string"
            },
            "campaign_description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Campaign Description"
            },
            "campaign_id": {
               "title": "Campaign Id",
               "type": "string"
            },
            "experiment_ids": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Experiment Ids",
               "type": "array"
            }
         },
         "required": [
            "campaign_name"
         ],
         "title": "Campaign",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "campaign"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field campaign: Campaign [Required]

The campaign that was started

Validated by:
field event_name: Literal['CREATE'] = 'CREATE'
Validated by:
field event_type: Literal['CAMPAIGN'] = 'CAMPAIGN'
Validated by:
pydantic model wei.types.event_types.CommentEvent

Event for a comment

Show JSON schema
{
   "title": "CommentEvent",
   "description": "Event for a comment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "COMMENT",
         "default": "COMMENT",
         "enum": [
            "COMMENT"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "comment": {
         "title": "Comment",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "comment"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field comment: str [Required]

The comment

Validated by:
field event_name: Literal['COMMENT'] = 'COMMENT'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
pydantic model wei.types.event_types.DecisionEvent

Event for a decision

Show JSON schema
{
   "title": "DecisionEvent",
   "description": "Event for a decision",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "DECISION",
         "default": "DECISION",
         "enum": [
            "DECISION"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "decision_name": {
         "title": "Decision Name",
         "type": "string"
      },
      "decision_value": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decision Value"
      }
   },
   "additionalProperties": true,
   "required": [
      "decision_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field decision_name: str [Required]

The name of the decision made

Validated by:
field decision_value: bool | None = None

The reason for the decision

Validated by:
field event_name: Literal['DECISION'] = 'DECISION'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
pydantic model wei.types.event_types.Event

A single event in an experiment

Show JSON schema
{
   "title": "Event",
   "description": "A single event in an experiment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      }
   },
   "additionalProperties": true,
   "required": [
      "event_type",
      "event_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field campaign_id: str | None = None
Validated by:
field event_id: str [Optional]
Validated by:
field event_info: Any | None = None

Any additional information about the event (mostly kept for backwards compatibility)

Validated by:
field event_name: str [Required]
Validated by:
field event_timestamp: datetime [Optional]
Validated by:
field event_type: str [Required]
Validated by:
field experiment_id: str | None = None
Validated by:
field workcell_id: str | None = None
Validated by:
pydantic model wei.types.event_types.ExperimentContinueEvent

Event for continuing an experiment

Show JSON schema
{
   "title": "ExperimentContinueEvent",
   "description": "Event for continuing an experiment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "CONTINUE",
         "default": "CONTINUE",
         "enum": [
            "CONTINUE"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "experiment": {
         "anyOf": [
            {
               "$ref": "#/$defs/Experiment"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "Experiment": {
         "description": "A single instance of an experiment",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "campaign_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Campaign Id"
            },
            "experiment_description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Description"
            },
            "email_addresses": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Email Addresses",
               "type": "array"
            },
            "experiment_id": {
               "title": "Experiment Id",
               "type": "string"
            },
            "experiment_directory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Directory"
            },
            "check_in_timestamp": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Check In Timestamp"
            }
         },
         "required": [
            "name"
         ],
         "title": "Experiment",
         "type": "object"
      }
   },
   "additionalProperties": true
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['CONTINUE'] = 'CONTINUE'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field experiment: Experiment | None = None

The experiment that was resumed

Validated by:
pydantic model wei.types.event_types.ExperimentDataPointEvent

Event for a data point in an experiment

Show JSON schema
{
   "title": "ExperimentDataPointEvent",
   "description": "Event for a data point in an experiment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "DATA_POINT",
         "default": "DATA_POINT",
         "enum": [
            "DATA_POINT"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "data_point": {
         "title": "Data Point",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "data_point"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field data_point: Dict[str, Any] [Required]

The data point being logged

Validated by:
field event_name: Literal['DATA_POINT'] = 'DATA_POINT'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
pydantic model wei.types.event_types.ExperimentEndEvent

Event for ending an experiment

Show JSON schema
{
   "title": "ExperimentEndEvent",
   "description": "Event for ending an experiment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "END",
         "default": "END",
         "enum": [
            "END"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "experiment": {
         "anyOf": [
            {
               "$ref": "#/$defs/Experiment"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "Experiment": {
         "description": "A single instance of an experiment",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "campaign_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Campaign Id"
            },
            "experiment_description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Description"
            },
            "email_addresses": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Email Addresses",
               "type": "array"
            },
            "experiment_id": {
               "title": "Experiment Id",
               "type": "string"
            },
            "experiment_directory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Directory"
            },
            "check_in_timestamp": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Check In Timestamp"
            }
         },
         "required": [
            "name"
         ],
         "title": "Experiment",
         "type": "object"
      }
   },
   "additionalProperties": true
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['END'] = 'END'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field experiment: Experiment | None = None

The experiment that ended

Validated by:
pydantic model wei.types.event_types.ExperimentStartEvent

Event for starting an experiment

Show JSON schema
{
   "title": "ExperimentStartEvent",
   "description": "Event for starting an experiment",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "START",
         "default": "START",
         "enum": [
            "START"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "experiment": {
         "$ref": "#/$defs/Experiment"
      }
   },
   "$defs": {
      "Experiment": {
         "description": "A single instance of an experiment",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "campaign_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Campaign Id"
            },
            "experiment_description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Description"
            },
            "email_addresses": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Email Addresses",
               "type": "array"
            },
            "experiment_id": {
               "title": "Experiment Id",
               "type": "string"
            },
            "experiment_directory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Experiment Directory"
            },
            "check_in_timestamp": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Check In Timestamp"
            }
         },
         "required": [
            "name"
         ],
         "title": "Experiment",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "experiment"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['START'] = 'START'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field experiment: Experiment [Required]

The experiment that started

Validated by:
pydantic model wei.types.event_types.GladierFlowEvent

Event for a Gladier Flow

Show JSON schema
{
   "title": "GladierFlowEvent",
   "description": "Event for a Gladier Flow",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "GLADIER_FLOW",
         "default": "GLADIER_FLOW",
         "enum": [
            "GLADIER_FLOW"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "flow_name": {
         "title": "Flow Name",
         "type": "string"
      },
      "flow_id": {
         "title": "Flow Id",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "flow_name",
      "flow_id"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['GLADIER_FLOW'] = 'GLADIER_FLOW'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field flow_id: str [Required]

The ID of the flow

Validated by:
field flow_name: str [Required]

The name of the flow

Validated by:
pydantic model wei.types.event_types.GlobusComputeEvent

Event for a globus computation

Show JSON schema
{
   "title": "GlobusComputeEvent",
   "description": "Event for a globus computation",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "GLOBUS_COMPUTE",
         "default": "GLOBUS_COMPUTE",
         "enum": [
            "GLOBUS_COMPUTE"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "function_name": {
         "title": "Function Name",
         "type": "string"
      },
      "args": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Args"
      },
      "kwargs": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Kwargs"
      },
      "result": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Result"
      }
   },
   "additionalProperties": true,
   "required": [
      "function_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field args: List[Any] | None = None

The positional args passed to the function

Validated by:
field event_name: Literal['GLOBUS_COMPUTE'] = 'GLOBUS_COMPUTE'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field function_name: str [Required]

The name of the function called

Validated by:
field kwargs: Dict[str, Any] | None = None

The keyword args passed to the function

Validated by:
field result: Any | None = None

The result of the computation

Validated by:
pydantic model wei.types.event_types.LocalComputeEvent

Event for a local computation

Show JSON schema
{
   "title": "LocalComputeEvent",
   "description": "Event for a local computation",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "LOCAL_COMPUTE",
         "default": "LOCAL_COMPUTE",
         "enum": [
            "LOCAL_COMPUTE"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "function_name": {
         "title": "Function Name",
         "type": "string"
      },
      "args": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Args"
      },
      "kwargs": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Kwargs"
      },
      "result": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Result"
      }
   },
   "additionalProperties": true,
   "required": [
      "function_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field args: List[Any] | None = None

The positional args passed to the function

Validated by:
field event_name: Literal['LOCAL_COMPUTE'] = 'LOCAL_COMPUTE'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field function_name: str [Required]

The name of the function called

Validated by:
field kwargs: Dict[str, Any] | None = None

The keyword args passed to the function

Validated by:
field result: Any | None = None

The result of the computation

Validated by:
pydantic model wei.types.event_types.LoopCheckEvent

Event for the conditional check of a loop

Show JSON schema
{
   "title": "LoopCheckEvent",
   "description": "Event for the conditional check of a loop",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "LOOP_CHECK",
         "default": "LOOP_CHECK",
         "enum": [
            "LOOP_CHECK"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "loop_name": {
         "title": "Loop Name",
         "type": "string"
      },
      "conditional": {
         "title": "Conditional",
         "type": "string"
      },
      "result": {
         "title": "Result",
         "type": "boolean"
      }
   },
   "additionalProperties": true,
   "required": [
      "loop_name",
      "conditional",
      "result"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field conditional: str [Required]

The conditional that was checked

Validated by:
field event_name: Literal['LOOP_CHECK'] = 'LOOP_CHECK'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field loop_name: str [Required]

The name of the loop

Validated by:
field result: bool [Required]
Validated by:
pydantic model wei.types.event_types.LoopEndEvent

Event for the end of a loop

Show JSON schema
{
   "title": "LoopEndEvent",
   "description": "Event for the end of a loop",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "LOOP_END",
         "default": "LOOP_END",
         "enum": [
            "LOOP_END"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "loop_name": {
         "title": "Loop Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "loop_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['LOOP_END'] = 'LOOP_END'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field loop_name: str [Required]

The name of the loop

Validated by:
pydantic model wei.types.event_types.LoopStartEvent

Event for the start of a loop

Show JSON schema
{
   "title": "LoopStartEvent",
   "description": "Event for the start of a loop",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "EXPERIMENT",
         "default": "EXPERIMENT",
         "enum": [
            "EXPERIMENT"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "LOOP_START",
         "default": "LOOP_START",
         "enum": [
            "LOOP_START"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "loop_name": {
         "title": "Loop Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "loop_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['LOOP_START'] = 'LOOP_START'
Validated by:
field event_type: Literal['EXPERIMENT'] = 'EXPERIMENT'
Validated by:
field loop_name: str [Required]

The name of the loop

Validated by:
pydantic model wei.types.event_types.WorkcellStartEvent

Event for the start of a workcell

Show JSON schema
{
   "title": "WorkcellStartEvent",
   "description": "Event for the start of a workcell",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKCELL",
         "default": "WORKCELL",
         "enum": [
            "WORKCELL"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "START",
         "default": "START",
         "enum": [
            "START"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "workcell": {
         "$ref": "#/$defs/Workcell"
      }
   },
   "$defs": {
      "Metadata": {
         "additionalProperties": true,
         "description": "Metadata container",
         "properties": {
            "author": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Author"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": "",
               "title": "Version"
            }
         },
         "title": "Metadata",
         "type": "object"
      },
      "ModuleDefinition": {
         "description": "Static definition of a module, as used in a workcell file",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "model": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Model"
            },
            "interface": {
               "default": "wei_rest_interface",
               "title": "Interface",
               "type": "string"
            },
            "config": {
               "default": {},
               "title": "Config",
               "type": "object"
            },
            "locations": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Locations",
               "type": "array"
            },
            "location": {
               "anyOf": [
                  {},
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Location"
            },
            "active": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "title": "Active"
            }
         },
         "required": [
            "name"
         ],
         "title": "ModuleDefinition",
         "type": "object"
      },
      "Workcell": {
         "description": "Container for definition of a workcell, as used in a workcell file",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "metadata": {
               "$ref": "#/$defs/Metadata"
            },
            "config": {
               "$ref": "#/$defs/WorkcellConfig"
            },
            "modules": {
               "items": {
                  "$ref": "#/$defs/ModuleDefinition"
               },
               "title": "Modules",
               "type": "array"
            },
            "locations": {
               "default": {},
               "title": "Locations",
               "type": "object"
            }
         },
         "required": [
            "name",
            "config",
            "modules"
         ],
         "title": "Workcell",
         "type": "object"
      },
      "WorkcellConfig": {
         "additionalProperties": true,
         "description": "Defines the format for a workcell config\nNote: the extra='allow' parameter allows for\nextra fields to be added to the config, beyond what's defined below",
         "properties": {
            "lab_name": {
               "default": "sdl",
               "description": "Name of the lab to associate the workcell and all associated data with",
               "title": "Lab Name",
               "type": "string"
            },
            "use_diaspora": {
               "default": false,
               "description": "Whether or not to use diaspora",
               "title": "Use Diaspora",
               "type": "boolean"
            },
            "kafka_topic": {
               "default": "wei_diaspora",
               "description": "The Kafka topic to publish to if using diaspora",
               "title": "Kafka Topic",
               "type": "string"
            },
            "verify_locations_before_transfer": {
               "default": false,
               "description": "Whether or not to verify locations are empty before transfer",
               "title": "Verify Locations Before Transfer",
               "type": "boolean"
            },
            "sequential_scheduler": {
               "default": true,
               "description": "Whether or not to schedule workflows sequentially or concurrently",
               "title": "Sequential Scheduler",
               "type": "boolean"
            },
            "reset_locations": {
               "default": true,
               "description": "Whether or not to reset locations when the Engine (re)starts",
               "title": "Reset Locations",
               "type": "boolean"
            },
            "clear_workflow_runs": {
               "default": false,
               "description": "Whether or not to clear workflow runs when the Engine (re)starts",
               "title": "Clear Workflow Runs",
               "type": "boolean"
            },
            "update_interval": {
               "default": 5.0,
               "description": "How often to update the workcell state",
               "title": "Update Interval",
               "type": "number"
            },
            "server_host": {
               "default": "0.0.0.0",
               "description": "Hostname for the WEI server",
               "title": "Server Host",
               "type": "string"
            },
            "server_port": {
               "default": 8000,
               "description": "Port for the WEI server",
               "title": "Server Port",
               "type": "integer"
            },
            "redis_host": {
               "default": "localhost",
               "description": "Hostname for the Redis server",
               "title": "Redis Host",
               "type": "string"
            },
            "redis_port": {
               "default": 6379,
               "description": "Port for the Redis server",
               "title": "Redis Port",
               "type": "integer"
            },
            "redis_password": {
               "default": "",
               "description": "Password for the Redis server, if any",
               "title": "Redis Password",
               "type": "string"
            },
            "data_directory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "default": "/home/docs/.wei",
               "description": "Directory to store data produced by WEI",
               "title": "Data Directory"
            },
            "log_level": {
               "default": 20,
               "description": "Logging level for WEI",
               "title": "Log Level",
               "type": "integer"
            },
            "cold_start_delay": {
               "default": 2,
               "description": "Delay before starting the engine",
               "title": "Cold Start Delay",
               "type": "integer"
            },
            "smtp_server": {
               "default": "mailgateway.anl.gov",
               "description": "Hostname for the SMTP server",
               "title": "Smtp Server",
               "type": "string"
            },
            "smtp_port": {
               "default": 25,
               "description": "Port number for the SMTP server",
               "title": "Smtp Port",
               "type": "integer"
            },
            "autostart_engine": {
               "default": true,
               "description": "Whether or not to start the engine and scheduler for the workcell from the server process (set to False if you want/need to run the engine as a separate process/container). This will default to True in the future.",
               "title": "Autostart Engine",
               "type": "boolean"
            }
         },
         "title": "WorkcellConfig",
         "type": "object"
      }
   },
   "additionalProperties": true,
   "required": [
      "workcell"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['START'] = 'START'
Validated by:
field event_type: Literal['WORKCELL'] = 'WORKCELL'
Validated by:
field workcell: Workcell [Required]

The workcell that was started

Validated by:
pydantic model wei.types.event_types.WorkflowCancelled

Event for a workflow being cancelled

Show JSON schema
{
   "title": "WorkflowCancelled",
   "description": "Event for a workflow being cancelled",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "CANCELLED",
         "default": "CANCELLED",
         "enum": [
            "CANCELLED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['CANCELLED'] = 'CANCELLED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowCancelled

Create a new workflow cancelled event

pydantic model wei.types.event_types.WorkflowCompletedEvent

Event for a workflow completing

Show JSON schema
{
   "title": "WorkflowCompletedEvent",
   "description": "Event for a workflow completing",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "COMPLETED",
         "default": "COMPLETED",
         "enum": [
            "COMPLETED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['COMPLETED'] = 'COMPLETED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowCompletedEvent

Create a new workflow completed event

pydantic model wei.types.event_types.WorkflowFailedEvent

Event for a workflow failing

Show JSON schema
{
   "title": "WorkflowFailedEvent",
   "description": "Event for a workflow failing",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "FAILED",
         "default": "FAILED",
         "enum": [
            "FAILED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['FAILED'] = 'FAILED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowFailedEvent

Create a new workflow failed event

pydantic model wei.types.event_types.WorkflowPausedEvent

Event for a workflow being paused

Show JSON schema
{
   "title": "WorkflowPausedEvent",
   "description": "Event for a workflow being paused",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "PAUSED",
         "default": "PAUSED",
         "enum": [
            "PAUSED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['PAUSED'] = 'PAUSED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowPausedEvent

Create a new workflow paused event

pydantic model wei.types.event_types.WorkflowQueuedEvent

Event for a workflow being queued

Show JSON schema
{
   "title": "WorkflowQueuedEvent",
   "description": "Event for a workflow being queued",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "QUEUED",
         "default": "QUEUED",
         "enum": [
            "QUEUED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['QUEUED'] = 'QUEUED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowQueuedEvent

Create a new workflow queued event

pydantic model wei.types.event_types.WorkflowResumedEvent

Event for a workflow being resumed

Show JSON schema
{
   "title": "WorkflowResumedEvent",
   "description": "Event for a workflow being resumed",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "RESUMED",
         "default": "RESUMED",
         "enum": [
            "RESUMED"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['RESUMED'] = 'RESUMED'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowResumedEvent

Create a new workflow resumed event

pydantic model wei.types.event_types.WorkflowStartEvent

Event for a workflow starting

Show JSON schema
{
   "title": "WorkflowStartEvent",
   "description": "Event for a workflow starting",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "START",
         "default": "START",
         "enum": [
            "START"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['START'] = 'START'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun) WorkflowStartEvent

Create a new workflow start event

pydantic model wei.types.event_types.WorkflowStepEvent

Event for a workflow step

Show JSON schema
{
   "title": "WorkflowStepEvent",
   "description": "Event for a workflow step",
   "type": "object",
   "properties": {
      "event_id": {
         "title": "Event Id",
         "type": "string"
      },
      "event_timestamp": {
         "format": "date-time",
         "title": "Event Timestamp",
         "type": "string"
      },
      "experiment_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Experiment Id"
      },
      "campaign_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Campaign Id"
      },
      "workcell_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Workcell Id"
      },
      "event_type": {
         "const": "WORKFLOW",
         "default": "WORKFLOW",
         "enum": [
            "WORKFLOW"
         ],
         "title": "Event Type",
         "type": "string"
      },
      "event_name": {
         "const": "STEP",
         "default": "STEP",
         "enum": [
            "STEP"
         ],
         "title": "Event Name",
         "type": "string"
      },
      "event_info": {
         "anyOf": [
            {},
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Event Info"
      },
      "run_id": {
         "title": "Run Id",
         "type": "string"
      },
      "workflow_name": {
         "title": "Workflow Name",
         "type": "string"
      },
      "step_index": {
         "title": "Step Index",
         "type": "integer"
      },
      "step": {
         "$ref": "#/$defs/Step"
      }
   },
   "$defs": {
      "Step": {
         "description": "Container for a single step",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "module": {
               "title": "Module",
               "type": "string"
            },
            "action": {
               "title": "Action",
               "type": "string"
            },
            "args": {
               "default": {},
               "title": "Args",
               "type": "object"
            },
            "files": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "format": "path",
                        "type": "string"
                     }
                  ]
               },
               "default": {},
               "title": "Files",
               "type": "object"
            },
            "checks": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Checks"
            },
            "locations": {
               "default": {},
               "title": "Locations",
               "type": "object"
            },
            "requirements": {
               "default": {},
               "title": "Requirements",
               "type": "object"
            },
            "dependencies": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Dependencies",
               "type": "array"
            },
            "priority": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Priority"
            },
            "comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            },
            "data_labels": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "string"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Data Labels"
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "start_time": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Start Time"
            },
            "end_time": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "End Time"
            },
            "duration": {
               "anyOf": [
                  {
                     "format": "duration",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Duration"
            },
            "result": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StepResponse"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name",
            "module",
            "action"
         ],
         "title": "Step",
         "type": "object"
      },
      "StepResponse": {
         "description": "Standard Response returned by module interfaces\nin response to action requests",
         "properties": {
            "status": {
               "$ref": "#/$defs/StepStatus",
               "default": "succeeded"
            },
            "error": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Error"
            },
            "data": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Data"
            },
            "files": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Files"
            }
         },
         "title": "StepResponse",
         "type": "object"
      },
      "StepStatus": {
         "description": "Status for a step of a workflow",
         "enum": [
            "idle",
            "not_ready",
            "running",
            "succeeded",
            "failed",
            "cancelled"
         ],
         "title": "StepStatus",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "run_id",
      "workflow_name",
      "step_index",
      "step"
   ]
}

Config:
  • use_enum_values: bool = True

  • extra: str = allow

Fields:
Validators:

field event_name: Literal['STEP'] = 'STEP'
Validated by:
field event_type: Literal['WORKFLOW'] = 'WORKFLOW'
Validated by:
field run_id: str [Required]

The ID of the workflow

Validated by:
field step: Step [Required]

The step

Validated by:
field step_index: int [Required]

The index of the step

Validated by:
field workflow_name: str [Required]

The name of the workflow

Validated by:
classmethod from_wf_run(wf_run: WorkflowRun, step: Step) WorkflowStepEvent

Create a new workflow step event