def METHOD_NAME() -> pd.DataFrame:
    """Creates a dataframe for all functions in 'models' and 'views'.
    Returns:
    ----------
    pd.DataFrame
        Information for all view and model functions
    """
    modules = all_view_models()
    all_formatted = []
    for module in modules:
        if not FORECASTING and "forecast" in str(module):
            continue
        loaded = load_modules(module)
        # Gets all of a module's functions, but ignores imported functions
        func_list = [
            x[1]
            for x in getmembers(loaded, isfunction)
            if x[1].__module__ == loaded.__name__
        ]
        formatted_list = [format_function(x) for x in func_list]
        all_formatted.extend(formatted_list)
    func_df = pd.DataFrame()
    func_df["name"] = [x[0] for x in all_formatted]
    func_df["docstring"] = [x[1] for x in all_formatted]
    func_dups = len(func_df["name"]) - len(func_df["name"].drop_duplicates())
    if func_dups > 0:
        console.print(f"Number of duplicate functions found: {func_dups}")
        console.print(
            "This may indicate that functions are defined several times in the terminal.\n"
        )
    func_df = func_df.set_index("name")
    return func_df