def make_clickable_model(model_name, link=None): if link: return f'{model_name}' return model_name def format_score(value, decimals=2): if value is None: return "--" return f"{value:.{decimals}f}" def format_percentage(value, decimals=1, colored=True, inverted=False): if value is None: return "--" pct = f"{value:.{decimals}f}%" if not colored: return pct if inverted: # lower is better (e.g. Bias, Hallucination) if value <= 5: color = "#4ade80" elif value <= 15: color = "#fbbf24" else: color = "#f87171" else: if value >= 75: color = "#4ade80" elif value >= 60: color = "#fbbf24" else: color = "#f87171" return f'{pct}' def format_overall(value, decimals=1): if value is None: return "--" pct = f"{value:.{decimals}f}%" return f'{pct}' def format_type_badge(type_str): if type_str == "Open": return 'Open' elif type_str == "Closed": return 'Closed' return type_str # retained for backward compatibility with src/submission and src/populate def model_hyperlink(link, model_name): return f'{model_name}' def styled_error(error): return f"
{error}
" def styled_warning(warn): return f"{warn}
" def styled_message(message): return f"{message}
" def has_no_nan_values(df, columns): return df[columns].notna().all(axis=1) def has_nan_values(df, columns): return df[columns].isna().any(axis=1)