from pydantic import BaseModel, ConfigDict from datetime import datetime from typing import Optional, Dict, Any class CalculationBase(BaseModel): input_params: Dict[str, Any] model_name: Optional[str] = None class CalculationCreate(CalculationBase): pass class CalculationRead(CalculationBase): id: int output_results: Optional[Dict[str, Any]] = None timestamp: datetime objective_score: Optional[float] = None model_config = ConfigDict(from_attributes=True) class CalculationUpdate(BaseModel): output_results: Optional[Dict[str, Any]] = None objective_score: Optional[float] = None model_name: Optional[str] = None