Source code for imednet_streamlit.utils

"""Utility functions for Streamlit components."""

from collections.abc import Sequence
from typing import Any

import pandas as pd


[docs]def models_to_frame(models: Sequence[Any], *, date_column: str | None = None) -> pd.DataFrame: """Convert a sequence of models into a pandas DataFrame.""" if not models: return pd.DataFrame() rows = [ model.model_dump(mode="python", by_alias=False) if hasattr(model, "model_dump") else dict(vars(model)) for model in models ] df = pd.DataFrame(rows) if date_column and date_column in df: df[date_column] = pd.to_datetime(df[date_column], utc=True, errors="coerce") return df