qat.experimental.system_data.materialisers.purr.ingress.v0_1_0 module

PuRR v0.1.0 ingress DTO definitions.

The ingress DTO captures the compiler-owned view of the supported PuRR source contract at the materialisation boundary. It is intentionally permissive for nested legacy payloads so that structural decoding and top-level compatibility checks can evolve before the full boundary schema is fully typed.

class PurrIngressV010(**data)

Bases: BaseModel

Boundary DTO for PuRR source version 0.1.0 payloads.

Only the top-level collections and scalar compatibility fields used by the current materialiser are modelled explicitly.

Collection field structure

The following fields use a two-level mapping shape:

  • quantum_devices: dict[str, dict[str, Any]]

  • pulse_channels: dict[str, dict[str, Any]]

  • physical_channels: dict[str, dict[str, Any]]

  • basebands: dict[str, dict[str, Any]]

For each field:

  • Outer dict[str, ...] key: source-defined entity identifier.

    Examples include a device id, pulse-channel id, physical-channel id, or baseband id.

  • Inner dict[str, Any] value: untyped payload blob for that entity.

    This preserves legacy nested structures while boundary validators and mapping helpers enforce shape and semantic constraints.

The inner payload remains Any-typed by design at this stage so the boundary can accept source variants and perform incremental validation/mapping without requiring a fully rigid nested DTO schema.

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.

basebands: dict[str, dict[str, Any]]
calibration_id: str
default_acquire_mode: str | None
default_repeat_count: int | None
default_reset_method: str | None
error_mitigation: dict[str, Any] | None
model_config: ClassVar[ConfigDict] = {'extra': 'allow'}

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

passive_reset_time: float | None
physical_channels: dict[str, dict[str, Any]]
pulse_channels: dict[str, dict[str, Any]]
quantum_devices: dict[str, dict[str, Any]]
qubit_direction_couplings: list[dict[str, Any]]
repeat_limit: int | None
supported_acquire_modes: list[str]
supported_reset_methods: list[str]