libera_utils.l1a.l1a_packet_configs.AggregationGroup#

class libera_utils.l1a.l1a_packet_configs.AggregationGroup(*, name: str, field_pattern: str, field_count: int, dtype: dtype = <factory>)#

Bases: BaseModel

Configuration for aggregating multiple sequential fields into a single binary blob.

This class defines how to combine multiple numbered fields (e.g., ICIE__WFOV_DATA_0 through ICIE__WFOV_DATA_971) into a single bytes object per packet.

Variables:
  • name (str) – Name for the aggregated variable (e.g., “ICIE__WFOV_DATA”)

  • field_pattern (str) – Pattern with %i placeholder for field index (e.g., “ICIE__WFOV_DATA_%i”)

  • field_count (int) – Expected number of fields to aggregate (e.g., 972)

  • dtype (np.dtype) – Resulting numpy dtype for the aggregated data (e.g., np.dtype('|S972'))

__init__(**data: Any) → None#

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.

Attributes

model_computed_fields

model_config

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

model_extra

Get extra fields set during validation.

model_fields

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

classmethod _convert_dtype(v: Any) → dtype#

Convert dtype from string to numpy dtype.

_validate_aggregation_group() → AggregationGroup#

Validate AggregationGroup constraints after all fields are set.

model_computed_fields = {}#
model_config = {'arbitrary_types_allowed': True, 'frozen': True}#

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

property model_extra: Dict[str, Any] | None#

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to “allow”.

model_fields = {'dtype': FieldInfo(annotation=dtype, required=False, default_factory=<lambda>), 'field_count': FieldInfo(annotation=int, required=True), 'field_pattern': FieldInfo(annotation=str, required=True), 'name': FieldInfo(annotation=str, required=True)}#
property model_fields_set: set[str]#

Returns the set of fields that have been explicitly set on this model instance.

Returns:

A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.