File size: 1,401 Bytes
9be823f
 
 
30b8f34
9be823f
 
 
 
 
 
 
54bda52
e6a31da
9be823f
 
30b8f34
 
c7a8a09
ab4ccfc
30b8f34
9be823f
 
 
 
 
30b8f34
 
9be823f
 
c7a8a09
30b8f34
9be823f
 
 
 
c7a8a09
ab4ccfc
30b8f34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gradio as gr

from src.about import Tasks
from src.display.i18n import t
from src.display.utils import get_dataset_metric_cols
from src.populate import get_dataset_info_markdown, get_dataset_leaderboard_df


def _dataset_datatype(task_name: str) -> list[str]:
    task = Tasks[task_name]
    metric_cols = get_dataset_metric_cols(task)
    return ["markdown", "str"] + ["number"] * len(metric_cols)



def build_datasets_tab() -> list[gr.components.Dataframe]:
    """Create the Datasets tab and return tables for live updates."""
    dataset_tables: list[gr.components.Dataframe] = []

    with gr.TabItem(t("tab_datasets"), elem_id="datasets-tab", id=1):
        with gr.Tabs():
            for task in Tasks:
                task_name = task.name
                task_val = task.value
                with gr.TabItem(task_val.col_name):
                    gr.Markdown(
                        get_dataset_info_markdown(task_name),
                        elem_classes="markdown-text",
                    )
                    table = gr.Dataframe(
                        value=get_dataset_leaderboard_df(task_name),
                        datatype=_dataset_datatype(task_name),
                        interactive=False,
                        elem_id=f"dataset-leaderboard-{task_name}",
                    )
                    dataset_tables.append(table)

    return dataset_tables