from typing import List, Optional from pydantic import BaseModel class Location(BaseModel): latitude: float longitude: float place_name: str historical_significance: str class ArtPeriod(BaseModel): name: str start_year: int end_year: int key_characteristics: List[str] class Artist(BaseModel): name: str birth_year: Optional[int] death_year: Optional[int] nationality: str primary_medium: List[str] class Artwork(BaseModel): title: str year: Optional[int] medium: str current_location: Optional[Location] significance: str class ArtHistoryResponse(BaseModel): time_period: ArtPeriod locations: List[Location] key_artists: List[Artist] notable_works: List[Artwork] cultural_context: str historical_events: List[str] influence_on_later_periods: str