fix: Use ConfigDict instead of class-based Config (#3409)

Signed-off-by: Gabe Goodhart <ghart@us.ibm.com>
This commit is contained in:
Gabe Goodhart
2025-09-04 20:18:25 +05:30
committed by GitHub
parent f0e8c3f760
commit b27879bfd4
16 changed files with 32 additions and 61 deletions
+2 -4
View File
@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
from typing import Any, Dict, List, Optional from typing import Any, Dict, List, Optional
import httpx import httpx
from pydantic import BaseModel, Field from pydantic import BaseModel, ConfigDict, Field
from mem0.client.utils import api_error_handler from mem0.client.utils import api_error_handler
from mem0.memory.telemetry import capture_client_event from mem0.memory.telemetry import capture_client_event
@@ -20,9 +20,7 @@ class ProjectConfig(BaseModel):
project_id: Optional[str] = Field(default=None, description="Project ID") project_id: Optional[str] = Field(default=None, description="Project ID")
user_email: Optional[str] = Field(default=None, description="User email") user_email: Optional[str] = Field(default=None, description="User email")
class Config: model_config = ConfigDict(validate_assignment=True, extra="forbid")
validate_assignment = True
extra = "forbid"
class BaseProject(ABC): class BaseProject(ABC):
@@ -1,6 +1,6 @@
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class AzureAISearchConfig(BaseModel): class AzureAISearchConfig(BaseModel):
@@ -54,6 +54,4 @@ class AzureAISearchConfig(BaseModel):
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, Dict from typing import Any, Dict
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class BaiduDBConfig(BaseModel): class BaiduDBConfig(BaseModel):
@@ -24,6 +24,4 @@ class BaiduDBConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, ClassVar, Dict, Optional from typing import Any, ClassVar, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class ChromaDbConfig(BaseModel): class ChromaDbConfig(BaseModel):
@@ -35,6 +35,4 @@ class ChromaDbConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
from databricks.sdk.service.vectorsearch import EndpointType, VectorIndexType, PipelineType from databricks.sdk.service.vectorsearch import EndpointType, VectorIndexType, PipelineType
@@ -58,6 +58,4 @@ class DatabricksConfig(BaseModel):
return self return self
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class FAISSConfig(BaseModel): class FAISSConfig(BaseModel):
@@ -34,6 +34,4 @@ class FAISSConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, ClassVar, Dict from typing import Any, ClassVar, Dict
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class LangchainConfig(BaseModel): class LangchainConfig(BaseModel):
@@ -27,6 +27,4 @@ class LangchainConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import Enum
from typing import Any, Dict from typing import Any, Dict
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class MetricType(str, Enum): class MetricType(str, Enum):
@@ -39,6 +39,4 @@ class MilvusDBConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,7 +1,7 @@
import os import os
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class PineconeConfig(BaseModel): class PineconeConfig(BaseModel):
@@ -52,6 +52,4 @@ class PineconeConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, ClassVar, Dict, Optional from typing import Any, ClassVar, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class QdrantConfig(BaseModel): class QdrantConfig(BaseModel):
@@ -44,6 +44,4 @@ class QdrantConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, Dict from typing import Any, Dict
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
# TODO: Upgrade to latest pydantic version # TODO: Upgrade to latest pydantic version
@@ -21,6 +21,4 @@ class RedisDBConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class S3VectorsConfig(BaseModel): class S3VectorsConfig(BaseModel):
@@ -29,6 +29,4 @@ class S3VectorsConfig(BaseModel):
) )
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -4
View File
@@ -1,7 +1,7 @@
import os import os
from typing import Any, ClassVar, Dict, Optional from typing import Any, ClassVar, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
try: try:
from upstash_vector import Index from upstash_vector import Index
@@ -31,6 +31,4 @@ class UpstashVectorConfig(BaseModel):
raise ValueError("Either a client or URL and token must be provided.") raise ValueError("Either a client or URL and token must be provided.")
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
@@ -1,6 +1,6 @@
from typing import Optional from typing import Optional
from pydantic import BaseModel, Field from pydantic import BaseModel, ConfigDict, Field
class GoogleMatchingEngineConfig(BaseModel): class GoogleMatchingEngineConfig(BaseModel):
@@ -14,7 +14,7 @@ class GoogleMatchingEngineConfig(BaseModel):
credentials_path: Optional[str] = Field(None, description="Path to service account credentials file") credentials_path: Optional[str] = Field(None, description="Path to service account credentials file")
vector_search_api_endpoint: Optional[str] = Field(None, description="Vector search API endpoint") vector_search_api_endpoint: Optional[str] = Field(None, description="Vector search API endpoint")
model_config = {"extra": "forbid"} model_config = ConfigDict(extra="forbid")
def __init__(self, **kwargs): def __init__(self, **kwargs):
super().__init__(**kwargs) super().__init__(**kwargs)
+2 -4
View File
@@ -1,6 +1,6 @@
from typing import Any, ClassVar, Dict, Optional from typing import Any, ClassVar, Dict, Optional
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, ConfigDict, Field, model_validator
class WeaviateConfig(BaseModel): class WeaviateConfig(BaseModel):
@@ -38,6 +38,4 @@ class WeaviateConfig(BaseModel):
return values return values
model_config = { model_config = ConfigDict(arbitrary_types_allowed=True)
"arbitrary_types_allowed": True,
}
+2 -3
View File
@@ -2,7 +2,7 @@ from datetime import datetime
from typing import List, Optional from typing import List, Optional
from uuid import UUID from uuid import UUID
from pydantic import BaseModel, Field, validator from pydantic import BaseModel, ConfigDict, Field, validator
class MemoryBase(BaseModel): class MemoryBase(BaseModel):
@@ -33,8 +33,7 @@ class Memory(MemoryBase):
categories: Optional[List[Category]] = None categories: Optional[List[Category]] = None
app: App app: App
class Config: model_config = ConfigDict(from_attributes=True)
from_attributes = True
class MemoryUpdate(BaseModel): class MemoryUpdate(BaseModel):
content: Optional[str] = None content: Optional[str] = None