qat.experimental.system_data.materialisers.purr.plugin module

PuRR materialiser plugins for boundary dispatch.

Plugins in this module self-register on import via the shared registry API in qat.experimental.system_data.materialisers.plugins.

class PurrV010AdditionalData(**data)

Bases: SourceAdditionalDataModel

Additional-data contract for PuRR v0.1.0 materialisation.

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

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

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

decoder_extra_reduce_target_suffixes: list[str] | None
decoder_extra_reduce_target_types: list[str] | None
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

native_waveform_shapes: list[str] | None
supported_acquire_modes: list[str] | None
target_data: TargetData | None
class PurrV010Plugin

Bases: object

Boundary plugin for PuRR v0.1.0 source payloads.

additional_data_model

alias of PurrV010AdditionalData

materialise(*, source_payload, source_version, additional_data)
Return type:

CanonicalSystemData

resolve_type_and_version(source_payload)

Resolve PuRR source descriptor from structural payload keys.

Return type:

tuple[SourceType, str] | None

source_type = 'purr'
source_version = '0.1.0'
verify_integrity(source_payload)
Return type:

None