Files
openrouter-python-sdk-retry…/src/openrouter/components/unifiedbenchmarksresponse.py
T

71 lines
2.1 KiB
Python

"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
from .unifiedbenchmarksaaitem import (
UnifiedBenchmarksAAItem,
UnifiedBenchmarksAAItemTypedDict,
)
from .unifiedbenchmarksdaitem import (
UnifiedBenchmarksDAItem,
UnifiedBenchmarksDAItemTypedDict,
)
from .unifiedbenchmarksmeta import UnifiedBenchmarksMeta, UnifiedBenchmarksMetaTypedDict
from functools import partial
from openrouter.types import BaseModel
from openrouter.utils.unions import parse_open_union
from pydantic import ConfigDict
from pydantic.functional_validators import BeforeValidator
from typing import Any, List, Literal, Union
from typing_extensions import Annotated, TypeAliasType, TypedDict
UnifiedBenchmarksResponseDataTypedDict = TypeAliasType(
"UnifiedBenchmarksResponseDataTypedDict",
Union[UnifiedBenchmarksAAItemTypedDict, UnifiedBenchmarksDAItemTypedDict],
)
class UnknownUnifiedBenchmarksResponseData(BaseModel):
r"""A UnifiedBenchmarksResponseData variant the SDK doesn't recognize. Preserves the raw payload."""
source: Literal["UNKNOWN"] = "UNKNOWN"
raw: Any
is_unknown: Literal[True] = True
model_config = ConfigDict(frozen=True)
_UNIFIED_BENCHMARKS_RESPONSE_DATA_VARIANTS: dict[str, Any] = {
"artificial-analysis": UnifiedBenchmarksAAItem,
"design-arena": UnifiedBenchmarksDAItem,
}
UnifiedBenchmarksResponseData = Annotated[
Union[
UnifiedBenchmarksAAItem,
UnifiedBenchmarksDAItem,
UnknownUnifiedBenchmarksResponseData,
],
BeforeValidator(
partial(
parse_open_union,
disc_key="source",
variants=_UNIFIED_BENCHMARKS_RESPONSE_DATA_VARIANTS,
unknown_cls=UnknownUnifiedBenchmarksResponseData,
union_name="UnifiedBenchmarksResponseData",
)
),
]
class UnifiedBenchmarksResponseTypedDict(TypedDict):
data: List[UnifiedBenchmarksResponseDataTypedDict]
meta: UnifiedBenchmarksMetaTypedDict
class UnifiedBenchmarksResponse(BaseModel):
data: List[UnifiedBenchmarksResponseData]
meta: UnifiedBenchmarksMeta