dgbowl_schemas.tomato.payload package
- pydantic model dgbowl_schemas.tomato.payload.Payload
Bases:
BaseModel
Show JSON schema
{ "title": "Payload", "type": "object", "properties": { "version": { "const": "1.0", "enum": [ "1.0" ], "title": "Version", "type": "string" }, "settings": { "$ref": "#/$defs/Settings" }, "sample": { "$ref": "#/$defs/Sample" }, "method": { "items": { "$ref": "#/$defs/Task" }, "title": "Method", "type": "array" } }, "$defs": { "Output": { "additionalProperties": false, "description": "Provide the ``path`` and ``prefix`` for the final FAIR-data archive of the *job*.", "properties": { "path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Path" }, "prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Prefix" } }, "title": "Output", "type": "object" }, "Sample": { "additionalProperties": true, "description": "Additional attributes for each :class:`Sample` may be required, depending on the\nmethod within the payload.", "properties": { "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "Sample", "type": "object" }, "Settings": { "additionalProperties": false, "description": "Specification of *job* configuration for tomato.", "properties": { "unlock_when_done": { "default": false, "title": "Unlock When Done", "type": "boolean" }, "verbosity": { "default": "WARNING", "enum": [ "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" ], "title": "Verbosity", "type": "string" }, "output": { "$ref": "#/$defs/Output" }, "snapshot": { "anyOf": [ { "$ref": "#/$defs/Snapshot" }, { "type": "null" } ], "default": null } }, "title": "Settings", "type": "object" }, "Snapshot": { "additionalProperties": false, "description": "Provide the ``frequency``, ``path`` and ``prefix`` to configure the snapshotting\nfunctionality of tomato.", "properties": { "path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Path" }, "prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Prefix" }, "frequency": { "default": 3600.0, "title": "Frequency", "type": "number" } }, "title": "Snapshot", "type": "object" }, "Task": { "additionalProperties": false, "description": "The :class:`Task` is a driver/device-independent abstraction describing the\nmeasurement steps. The driver-specific information for the :class:`Task` can be\nprovided via the ``technique`` parameter.", "properties": { "component_tag": { "title": "Component Tag", "type": "string" }, "max_duration": { "title": "Max Duration", "type": "number" }, "sampling_interval": { "title": "Sampling Interval", "type": "number" }, "polling_interval": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Polling Interval" }, "technique_name": { "title": "Technique Name", "type": "string" }, "technique_params": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Technique Params" } }, "required": [ "component_tag", "max_duration", "sampling_interval", "technique_name" ], "title": "Task", "type": "object" } }, "additionalProperties": false, "required": [ "version", "sample", "method" ] }
- Config:
extra: str = forbid
- Validators:
extract_methodfile
»all fields
extract_samplefile
»all fields
- field version: Literal['1.0'] [Required]
- Validated by:
- validator extract_samplefile » all fields
If
samplefile
is provided invalues
, parse the file assample
.
- validator extract_methodfile » all fields
If
methodfile
is provided invalues
, parse the file asmethod
.
- pydantic model dgbowl_schemas.tomato.payload.Task
Bases:
BaseModel
The
Task
is a driver/device-independent abstraction describing the measurement steps. The driver-specific information for theTask
can be provided via thetechnique
parameter.Show JSON schema
{ "title": "Task", "description": "The :class:`Task` is a driver/device-independent abstraction describing the\nmeasurement steps. The driver-specific information for the :class:`Task` can be\nprovided via the ``technique`` parameter.", "type": "object", "properties": { "component_tag": { "title": "Component Tag", "type": "string" }, "max_duration": { "title": "Max Duration", "type": "number" }, "sampling_interval": { "title": "Sampling Interval", "type": "number" }, "polling_interval": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Polling Interval" }, "technique_name": { "title": "Technique Name", "type": "string" }, "technique_params": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Technique Params" } }, "additionalProperties": false, "required": [ "component_tag", "max_duration", "sampling_interval", "technique_name" ] }
- Config:
extra: str = forbid
- field component_tag: str [Required]
tag of the pipeline component on which this
Method
should run
- field sampling_interval: float [Required]
the interval between measurements, in seconds
- field polling_interval: int | None = None
the interval between polling for data, in seconds; defaults to the value in driver settings
- field technique_name: str [Required]
- field technique_params: Dict[str, Any] | None = None
a
dict
of additional parameters required to specify the experimental technique