src/estimagic/dashboard/dashboard_app.py
def dashboard_app(
    doc,
    session_data,
    updating_options,
):
    """Create plots showing the development of the criterion and parameters.

    Args:
        doc (bokeh.Document): Argument required by bokeh.
        session_data (dict): Infos to be passed between and within apps.
            Keys of this app's entry are:
            - last_retrieved (int): last iteration currently in the ColumnDataSource.
            - database_path (str or pathlib.Path)
            - callbacks (dict): dictionary to be populated with callbacks.
        updating_options (dict): Specification how to update the plotting data.
            It contains rollover, update_frequency, update_chunk, jump and stride.

    """
    # style the Document
    template_folder = Path(__file__).resolve().parent
    # conversion to string from pathlib Path is necessary for FileSystemLoader
    env = Environment(loader=FileSystemLoader(str(template_folder)))
    doc.template = env.get_template("index.html")

    # process inputs
    database = load_database(path=session_data["database_path"])
    start_point = _calculate_start_point(database, updating_options)
    session_data["last_retrieved"] = start_point
    start_params = read_start_params(path_or_database=database)
    start_params["id"] = _create_id_column(start_params)
    group_to_param_ids = _map_group_to_other_column(start_params, "id")
    group_to_param_names = _map_group_to_other_column(start_params, "name")
    criterion_history, params_history = _create_cds_for_dashboard(group_to_param_ids)

    # create elements
    title_text = """<h1 style="font-size:30px;">estimagic Dashboard</h1>"""
    title = Row(
        children=[
            Div(
                text=title_text,
                sizing_mode="scale_width",
            )
        ],
        name="title",
        margin=(5, 5, -20, 5),
    )
    plots = _create_initial_plots(
        criterion_history=criterion_history,
        params_history=params_history,
        group_to_param_ids=group_to_param_ids,
        group_to_param_names=group_to_param_names,
    )

    restart_button = _create_restart_button(
        doc=doc,
        database=database,
        session_data=session_data,
        start_params=start_params,
        updating_options=updating_options,
    )
    button_row = Row(
        children=[restart_button],
        name="button_row",
    )

    # add elements to bokeh Document
    grid = Column(children=[title, button_row, *plots], sizing_mode="stretch_width")
    doc.add_root(grid)

    # start the convergence plot immediately
    # this must happen here befo
    restart_button.active = True
Create plots showing the development of the criterion and parameters.

    Args:
        doc (bokeh.Document): Argument required by bokeh.
        session_data (dict): Infos to be passed between and within apps.
            Keys of this app's entry are:
            - last_retrieved (int): last iteration currently in the ColumnDataSource.
            - database_path (str or pathlib.Path)
            - callbacks (dict): dictionary to be populated with callbacks.
        updating_options (dict): Specification how to update the plotting data.
            It contains rollover, update_frequency, update_chunk, jump and stride.

    
Create plots showing the development of the criterion and parameters.
Create plots showing the development of the criterion and parameters .
def dashboard_app(
    doc,
    session_data,
    updating_options,
):
    template_folder = Path(__file__).resolve().parent
    env = Environment(loader=FileSystemLoader(str(template_folder)))
    doc.template = env.get_template("index.html")
    database = load_database(path=session_data["database_path"])
    start_point = _calculate_start_point(database, updating_options)
    session_data["last_retrieved"] = start_point
    start_params = read_start_params(path_or_database=database)
    start_params["id"] = _create_id_column(start_params)
    group_to_param_ids = _map_group_to_other_column(start_params, "id")
    group_to_param_names = _map_group_to_other_column(start_params, "name")
    criterion_history, params_history = _create_cds_for_dashboard(group_to_param_ids)
    title_text = """<h1 style="font-size:30px;">estimagic Dashboard</h1>"""
    title = Row(
        children=[
            Div(
                text=title_text,
                sizing_mode="scale_width",
            )
        ],
        name="title",
        margin=(5, 5, -20, 5),
    )
    plots = _create_initial_plots(
        criterion_history=criterion_history,
        params_history=params_history,
        group_to_param_ids=group_to_param_ids,
        group_to_param_names=group_to_param_names,
    )
    restart_button = _create_restart_button(
        doc=doc,
        database=database,
        session_data=session_data,
        start_params=start_params,
        updating_options=updating_options,
    )
    button_row = Row(
        children=[restart_button],
        name="button_row",
    )
    grid = Column(children=[title, button_row, *plots], sizing_mode="stretch_width")
    doc.add_root(grid)
    restart_button.active = True
def dashboard_app ( doc , session_data , updating_options , ) : template_folder = Path ( __file__ ) . resolve ( ) . parent env = Environment ( loader = FileSystemLoader ( str ( template_folder ) ) ) doc . template = env . get_template ( "index.html" ) database = load_database ( path = session_data [ "database_path" ] ) start_point = _calculate_start_point ( database , updating_options ) session_data [ "last_retrieved" ] = start_point start_params = read_start_params ( path_or_database = database ) start_params [ "id" ] = _create_id_column ( start_params ) group_to_param_ids = _map_group_to_other_column ( start_params , "id" ) group_to_param_names = _map_group_to_other_column ( start_params , "name" ) criterion_history , params_history = _create_cds_for_dashboard ( group_to_param_ids ) title_text = """<h1 style="font-size:30px;">estimagic Dashboard</h1>""" title = Row ( children = [ Div ( text = title_text , sizing_mode = "scale_width" , ) ] , name = "title" , margin = ( 5 , 5 , - 20 , 5 ) , ) plots = _create_initial_plots ( criterion_history = criterion_history , params_history = params_history , group_to_param_ids = group_to_param_ids , group_to_param_names = group_to_param_names , ) restart_button = _create_restart_button ( doc = doc , database = database , session_data = session_data , start_params = start_params , updating_options = updating_options , ) button_row = Row ( children = [ restart_button ] , name = "button_row" , ) grid = Column ( children = [ title , button_row , * plots ] , sizing_mode = "stretch_width" ) doc . add_root ( grid ) restart_button . active = True
Create plots showing the development of the criterion and parameters.
Create plots showing the development of the criterion and parameters .
"""Create plots showing the development of the criterion and parameters.

    Args:
        doc (bokeh.Document): Argument required by bokeh.
        session_data (dict): Infos to be passed between and within apps.
            Keys of this app's entry are:
            - last_retrieved (int): last iteration currently in the ColumnDataSource.
            - database_path (str or pathlib.Path)
            - callbacks (dict): dictionary to be populated with callbacks.
        updating_options (dict): Specification how to update the plotting data.
            It contains rollover, update_frequency, update_chunk, jump and stride.

    """ # style the Document # conversion to string from pathlib Path is necessary for FileSystemLoader # process inputs # create elements # add elements to bokeh Document # start the convergence plot immediately # this must happen here befo
doc
Argument required by bokeh.
Argument required by bokeh .
session_data
Infos to be passed between and within apps.
Keys of this app's entry are:
last_retrieved (int): last iteration currently in the ColumnDataSource.
database_path (str or pathlib.Path)
callbacks (dict): dictionary to be populated with callbacks.
Infos to be passed between and within apps . Keys of this app ' s entry are : last_retrieved ( int ) : last iteration currently in the ColumnDataSource . database_path ( str or pathlib . Path ) callbacks ( dict ) : dictionary to be populated with callbacks .
updating_options
Specification how to update the plotting data.
It contains rollover, update_frequency, update_chunk, jump and stride.
Specification how to update the plotting data . It contains rollover update_frequency update_chunk jump and stride .