from pydantic import BaseModel from typing import Optional from datetime import datetime class WeatherForecastBase(BaseModel): location: str date: datetime temperature: float humidity: float wind_speed: float precipitation_probability: float description: str class WeatherForecastCreate(WeatherForecastBase): pass class WeatherForecastUpdate(WeatherForecastBase): location: Optional[str] = None date: Optional[datetime] = None temperature: Optional[float] = None humidity: Optional[float] = None wind_speed: Optional[float] = None precipitation_probability: Optional[float] = None description: Optional[str] = None class WeatherForecastSchema(BaseModel): forecasts: list[WeatherForecastBase] = [ WeatherForecastBase( location="United States", date=datetime(2023, 6, 1), temperature=25.0, humidity=60.0, wind_speed=10.0, precipitation_probability=0.2, description="Partly cloudy" ), WeatherForecastBase( location="Canada", date=datetime(2023, 6, 1), temperature=18.0, humidity=70.0, wind_speed=8.0, precipitation_probability=0.4, description="Rainy" ), # Add 8 more forecasts for different countries ] class Config: orm_mode = True