From 15b595456a0d06293ea9fa943d512174a47e95da Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Sun, 26 Jul 2026 12:54:54 +1000 Subject: [PATCH] fix: modernize pydantic config to remove deprecation warning - Replace deprecated class Config pattern with model_config = ConfigDict(...) - Add ConfigDict import from pydantic - Fixes PydanticDeprecatedSince20 warning in test output - Maintains all existing functionality All 73 tests pass without warnings. --- steward/config.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/steward/config.py b/steward/config.py index 4def91c..2bfd70e 100644 --- a/steward/config.py +++ b/steward/config.py @@ -13,7 +13,7 @@ import os from pathlib import Path from omegaconf import OmegaConf -from pydantic import BaseModel, Field +from pydantic import BaseModel, ConfigDict, Field logger = logging.getLogger(__name__) @@ -68,17 +68,14 @@ class ToolsConfig(BaseModel): class Settings(BaseModel): """Application settings with OmegaConf and pydantic integration.""" + model_config = ConfigDict(arbitrary_types_allowed=True) + telegram: TelegramConfig = Field(default_factory=TelegramConfig) openai: OpenAIConfig = Field(default_factory=OpenAIConfig) analysis: AnalysisConfig = Field(default_factory=AnalysisConfig) memory: MemoryConfig = Field(default_factory=MemoryConfig) tools: ToolsConfig = Field(default_factory=ToolsConfig) - class Config: - """Pydantic config.""" - - arbitrary_types_allowed = True - # Compatibility properties for existing code @property def telegram_bot_token(self) -> str: