from dataclasses import dataclass import pandas as pd # These classes are for user facing column names, to avoid having to change them # all around the code when a modif is needed @dataclass class ColumnContent: name: str type: str def fields(raw_class): return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"] def make_clickable_model(df): df["Model"] = df.apply( lambda row: f'{row["model"]} ({row["Parameters"]})' if pd.notna(row["Parameters"]) else f'{row["model"]}', axis=1 ) return df def styled_error(error): return f"

{error}

" def styled_warning(warn): return f"

{warn}

" def styled_message(message): return f"

{message}

"