mirror of
https://github.com/exo-explore/exo.git
synced 2025-12-23 22:27:50 -05:00
freeze those models
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import re
|
||||
from typing import ClassVar
|
||||
|
||||
from pydantic import BaseModel, computed_field, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, computed_field, field_validator
|
||||
|
||||
|
||||
class Multiaddr(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
frozen=True
|
||||
)
|
||||
address: str
|
||||
|
||||
PATTERNS: ClassVar[list[str]] = [
|
||||
|
||||
@@ -3,10 +3,10 @@ from enum import Enum
|
||||
from loguru import logger
|
||||
|
||||
from exo.shared.types.multiaddr import Multiaddr
|
||||
from exo.utils.pydantic_ext import CamelCaseModel
|
||||
from exo.utils.pydantic_ext import FrozenModel
|
||||
|
||||
|
||||
class RDMAConnection(CamelCaseModel):
|
||||
class RDMAConnection(FrozenModel):
|
||||
source_rdma_iface: str
|
||||
sink_rdma_iface: str
|
||||
|
||||
@@ -22,7 +22,7 @@ class LinkType(str, Enum):
|
||||
WiFi = "WiFi"
|
||||
|
||||
|
||||
class SocketConnection(CamelCaseModel):
|
||||
class SocketConnection(FrozenModel):
|
||||
sink_multiaddr: Multiaddr
|
||||
|
||||
def is_thunderbolt(self) -> bool:
|
||||
|
||||
@@ -19,10 +19,18 @@ class CamelCaseModel(BaseModel):
|
||||
alias_generator=to_camel,
|
||||
validate_by_name=True,
|
||||
extra="forbid",
|
||||
# I want to reenable this ASAP, but it's causing an issue with TaskStatus
|
||||
strict=True,
|
||||
)
|
||||
|
||||
class FrozenModel(BaseModel):
|
||||
|
||||
model_config = ConfigDict(
|
||||
alias_generator=to_camel,
|
||||
validate_by_name=True,
|
||||
extra="forbid",
|
||||
strict=True,
|
||||
frozen=True
|
||||
)
|
||||
|
||||
class TaggedModel(CamelCaseModel):
|
||||
@model_serializer(mode="wrap")
|
||||
|
||||
Reference in New Issue
Block a user