def METHOD_NAME(df: pd.DataFrame, *,
                theme: str = 'balham',
                auto_size_columns: bool = True,
                options: Dict = {}) -> AgGrid:
    """Create an AG Grid from a Pandas DataFrame.
    :param df: Pandas DataFrame
    :param theme: AG Grid theme (default: 'balham')
    :param auto_size_columns: whether to automatically resize columns to fit the grid width (default: `True`)
    :param options: dictionary of additional AG Grid options
    :return: AG Grid element
    """
    return AgGrid({
        'columnDefs': [{'field': col} for col in df.columns],
        'rowData': df.to_dict('records'),
        'suppressDotNotation': True,
        **options,
    }, theme=theme, auto_size_columns=auto_size_columns)