message¶
- class MessageType(*values)[source]¶
- announce = 'announce'¶
- identify = 'identify'¶
- process = 'process'¶
- init = 'init'¶
- deinit = 'deinit'¶
- ping = 'ping'¶
- start = 'start'¶
- status = 'status'¶
- stop = 'stop'¶
- event = 'event'¶
- error = 'error'¶
- class NodeStatus(*values)[source]¶
- stopped = 'stopped'¶
Node is deinitialized - does not have an instantiated node, etc., but is responsive.
- waiting = 'waiting'¶
Node is waiting for its dependency nodes to be ready
- ready = 'ready'¶
Node is ready to process events
- running = 'running'¶
Node is running in free-run mode. Note that we do not update status for every process call at the moment, as that level of granularity is not relevant to the command node when sending commands
- closed = 'closed'¶
Node is permanently gone, should not be expected to respond to further messages.
- pydantic model Message[source]¶
Show JSON schema
{ "title": "Message", "type": "object", "properties": { "type": { "$ref": "#/$defs/MessageType" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "default": null, "title": "Value" } }, "$defs": { "MessageType": { "enum": [ "announce", "identify", "process", "init", "deinit", "ping", "start", "status", "stop", "event", "error" ], "title": "MessageType", "type": "string" } }, "required": [ "type", "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field type_: MessageType [Required] (alias 'type')¶
- class IdentifyValue[source]¶
-
- status: NodeStatus¶
- pydantic model AnnounceMsg[source]¶
Command node ‘announces’ identities of other peers and the events they emit
Show JSON schema
{ "title": "AnnounceMsg", "description": "Command node 'announces' identities of other peers and the events they emit", "type": "object", "properties": { "type": { "const": "announce", "default": "announce", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "$ref": "#/$defs/AnnounceValue" } }, "$defs": { "AnnounceValue": { "properties": { "inbox": { "title": "Inbox", "type": "string" }, "nodes": { "additionalProperties": { "$ref": "#/$defs/IdentifyValue" }, "title": "Nodes", "type": "object" } }, "required": [ "inbox", "nodes" ], "title": "AnnounceValue", "type": "object" }, "IdentifyValue": { "properties": { "node_id": { "title": "Node Id", "type": "string" }, "outbox": { "title": "Outbox", "type": "string" }, "status": { "$ref": "#/$defs/NodeStatus" }, "signals": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Signals" }, "slots": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Slots" } }, "required": [ "node_id", "outbox", "status", "signals", "slots" ], "title": "IdentifyValue", "type": "object" }, "NodeStatus": { "enum": [ "stopped", "waiting", "ready", "running", "closed" ], "title": "NodeStatus", "type": "string" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field value: AnnounceValue [Required]¶
- pydantic model IdentifyMsg[source]¶
A node sends its configuration to the command node on initialization
Show JSON schema
{ "title": "IdentifyMsg", "description": "A node sends its configuration to the command node on initialization", "type": "object", "properties": { "type": { "const": "identify", "default": "identify", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "$ref": "#/$defs/IdentifyValue" } }, "$defs": { "IdentifyValue": { "properties": { "node_id": { "title": "Node Id", "type": "string" }, "outbox": { "title": "Outbox", "type": "string" }, "status": { "$ref": "#/$defs/NodeStatus" }, "signals": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Signals" }, "slots": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Slots" } }, "required": [ "node_id", "outbox", "status", "signals", "slots" ], "title": "IdentifyValue", "type": "object" }, "NodeStatus": { "enum": [ "stopped", "waiting", "ready", "running", "closed" ], "title": "NodeStatus", "type": "string" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field value: IdentifyValue [Required]¶
- pydantic model PingMsg[source]¶
Request other nodes to identify themselves and report their status
Show JSON schema
{ "title": "PingMsg", "description": "Request other nodes to identify themselves and report their status", "type": "object", "properties": { "type": { "const": "ping", "default": "ping", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "default": null, "title": "Value", "type": "null" } }, "required": [ "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- pydantic model ProcessMsg[source]¶
Process a single iteration of the graph
Show JSON schema
{ "title": "ProcessMsg", "description": "Process a single iteration of the graph", "type": "object", "properties": { "type": { "const": "process", "default": "process", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "$ref": "#/$defs/ProcessValue" } }, "$defs": { "ProcessValue": { "properties": { "epoch": { "title": "Epoch", "type": "integer" }, "input": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Input" } }, "required": [ "epoch", "input" ], "title": "ProcessValue", "type": "object" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field value: ProcessValue [Required]¶
Any process-scoped input passed to the process call
- pydantic model InitMsg[source]¶
Initialize nodes within node runners
Show JSON schema
{ "title": "InitMsg", "description": "Initialize nodes within node runners", "type": "object", "properties": { "type": { "const": "init", "default": "init", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "default": null, "title": "Value", "type": "null" } }, "required": [ "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- pydantic model DeinitMsg[source]¶
Deinitializes nodes within node runners
Show JSON schema
{ "title": "DeinitMsg", "description": "Deinitializes nodes within node runners", "type": "object", "properties": { "type": { "const": "deinit", "default": "deinit", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "default": null, "title": "Value", "type": "null" } }, "required": [ "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- pydantic model StartMsg[source]¶
Start free-running nodes
Show JSON schema
{ "title": "StartMsg", "description": "Start free-running nodes", "type": "object", "properties": { "type": { "const": "start", "default": "start", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Value" } }, "required": [ "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- pydantic model StatusMsg[source]¶
Node updating its current status
Show JSON schema
{ "title": "StatusMsg", "description": "Node updating its current status", "type": "object", "properties": { "type": { "const": "status", "default": "status", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "$ref": "#/$defs/NodeStatus" } }, "$defs": { "NodeStatus": { "enum": [ "stopped", "waiting", "ready", "running", "closed" ], "title": "NodeStatus", "type": "string" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field value: NodeStatus [Required]¶
- pydantic model StopMsg[source]¶
Stop processing
Show JSON schema
{ "title": "StopMsg", "description": "Stop processing", "type": "object", "properties": { "type": { "const": "stop", "default": "stop", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "default": null, "title": "Value", "type": "null" } }, "required": [ "node_id" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- pydantic model ErrorMsg[source]¶
An error occurred in one of the processing nodes
Show JSON schema
{ "title": "ErrorMsg", "description": "An error occurred in one of the processing nodes", "type": "object", "properties": { "type": { "const": "error", "default": "error", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "$ref": "#/$defs/ErrorValue" } }, "$defs": { "ErrorValue": { "properties": { "err_type": { "title": "Err Type" }, "err_args": { "items": {}, "title": "Err Args", "type": "array" }, "traceback": { "title": "Traceback", "type": "string" } }, "required": [ "err_type", "err_args", "traceback" ], "title": "ErrorValue", "type": "object" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field value: Annotated[ErrorValue, BeforeValidator(func=_from_jsonable_pickle, json_schema_input_type=PydanticUndefined), WrapSerializer(func=_to_jsonable_pickle, return_type=PydanticUndefined, when_used=json)] [Required]¶
- Constraints:
func = <function _to_jsonable_pickle at 0x77de2d438ae0>
json_schema_input_type = PydanticUndefined
return_type = PydanticUndefined
when_used = json
- pydantic model EventMsg[source]¶
Show JSON schema
{ "title": "EventMsg", "type": "object", "properties": { "type": { "const": "event", "default": "event", "title": "Type", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "value": { "items": { "$ref": "#/$defs/Event" }, "title": "Value", "type": "array" } }, "$defs": { "Event": { "description": "Container for a single value returned from a single :meth:`.Node.process` call", "properties": { "id": { "title": "Id", "type": "integer" }, "timestamp": { "format": "date-time", "title": "Timestamp", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "signal": { "title": "Signal", "type": "string" }, "epoch": { "title": "Epoch", "type": "integer" }, "value": { "title": "Value" } }, "required": [ "id", "timestamp", "node_id", "signal", "epoch", "value" ], "title": "Event", "type": "object" } }, "required": [ "node_id", "value" ] }
- Config:
use_enum_values: bool = True
validate_by_alias: bool = True
serialize_by_alias: bool = True
- Fields:
- field value: list[Annotated[Event, WrapSerializer(func=_to_json, return_type=PydanticUndefined, when_used=json), BeforeValidator(func=_from_json, json_schema_input_type=PydanticUndefined)]] [Required]¶