Source code for arize.annotation_configs.types

"""Public types for the annotation_configs subdomain."""

from pydantic import BaseModel, ConfigDict, field_validator

from arize._generated.api_client.models.annotation_config import (
    AnnotationConfig,
)
from arize._generated.api_client.models.annotation_config_type import (
    AnnotationConfigType,
)
from arize._generated.api_client.models.categorical_annotation_config import (
    CategoricalAnnotationConfig,
)
from arize._generated.api_client.models.categorical_annotation_value import (
    CategoricalAnnotationValue,
)
from arize._generated.api_client.models.continuous_annotation_config import (
    ContinuousAnnotationConfig,
)
from arize._generated.api_client.models.freeform_annotation_config import (
    FreeformAnnotationConfig,
)
from arize._generated.api_client.models.optimization_direction import (
    OptimizationDirection,
)
from arize._generated.api_client.models.pagination_metadata import (
    PaginationMetadata,
)


[docs] class AnnotationConfigsList200Response(BaseModel): """SDK view of the generated list response with each ``AnnotationConfig`` unwrapped. The ``annotation_configs`` field contains the concrete inner types (:class:`CategoricalAnnotationConfig`, :class:`ContinuousAnnotationConfig`, or :class:`FreeformAnnotationConfig`) instead of the oneOf wrapper. """ annotation_configs: list[ CategoricalAnnotationConfig | ContinuousAnnotationConfig | FreeformAnnotationConfig ] pagination: PaginationMetadata model_config = ConfigDict(from_attributes=True) @field_validator("annotation_configs", mode="before") @classmethod def _coerce_annotation_configs( cls, v: object ) -> list[ CategoricalAnnotationConfig | ContinuousAnnotationConfig | FreeformAnnotationConfig ]: result = [] for item in v: # type: ignore[attr-defined] if isinstance(item, AnnotationConfig): if item.actual_instance is None: raise ValueError( "AnnotationConfig wrapper has actual_instance=None" ) item = item.actual_instance result.append(item) return result
__all__ = [ "AnnotationConfigType", "AnnotationConfigsList200Response", "CategoricalAnnotationConfig", "CategoricalAnnotationValue", "ContinuousAnnotationConfig", "FreeformAnnotationConfig", "OptimizationDirection", "PaginationMetadata", ]