import gradio as gr from article import * from pydantic import BaseModel, Field from typing import Optional, List, Dict class FileUpload(BaseModel): file: bytes = Field(None, alias="file") class ArticleDisplay(BaseModel): title: str = Field(None, alias="title") content: str = Field(None, alias="content") class TableDisplay(BaseModel): table: Optional[Table] = Field(None, alias="table") class StudyTabDisplay(ArticleDisplay): file: FileUpload = Field(None, alias="file") tables: Optional[List[Table]] = Field(None, alias="tables") class IMFTabDsiplay(ArticleDisplay): imf: Optional[DeviceIMF] = Field(None, alias="Device IMF article object") class ArticleCollectionDisplay(BaseModel): article_collection: Optional[ArticleCollection] = Field(None, alias="article_collection") class ParameterDisplay(BaseModel): parameter: Optional[Parameter] = Field(None, alias="parameter") class PreferenceDisplay(BaseModel): preference: Optional[Preference] = Field(None, alias="preference") param_displays: Optional[List[ParameterDisplay]] = Field(None, alias="param_displays") class SummaryDisplay(BaseModel): articles: Optional[ArticleCollectionDisplay] = Field(None, alias="articles") summary: Optional[Summary] = Field(None, alias="summary") preference: Optional[PreferenceDisplay] = Field(None, alias="preference")