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:
BaseModelConfiguration 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
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Get extra fields set during validation.
Returns the set of fields that have been explicitly set on this model instance.
- _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)}#