import typing if typing.TYPE_CHECKING: import pandas as pd # This should be one line, but written in multiple lines for readability MODEL_HYPERLINK_TEMPLATE = " ".join([ line.strip() for line in """ {model_name} """.strip().splitlines() if line.strip() ]) def model_hyperlink(link: str, model_name: str) -> str: return MODEL_HYPERLINK_TEMPLATE.format(link=link, model_name=model_name) def make_clickable_model(model_name: str, link: str | None = None) -> str: org, _, model = model_name.rpartition("/") if not link: if not org: # Not a full model name, cannot be clicked return model_name link = f"https://huggingface.co/{org}/{model}" return model_hyperlink(link, model_name) def styled_error(error: str) -> str: return f"

{error}

" def styled_warning(warn: str) -> str: return f"

{warn}

" def styled_message(message: str) -> str: return f"

{message}

" def has_no_nan_values(df: "pd.DataFrame", columns: list[str]) -> "pd.Series": return df.loc[:, columns].notna().any(axis=1) def has_nan_values(df: "pd.DataFrame", columns: list[str]) -> "pd.Series": return df.loc[:, columns].isna().any(axis=1)