Spaces:
Sleeping
Sleeping
Keep column selector for base columns, use dataset/metric filters for data columns
Browse files
app.py
CHANGED
|
@@ -99,6 +99,15 @@ def build_tab(df, name):
|
|
| 99 |
elem_id="search-bar"
|
| 100 |
)
|
| 101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
# Set datatype to 'markdown' for First Author column to enable clickable links
|
| 103 |
datatypes = []
|
| 104 |
for col in pivoted_df.columns:
|
|
@@ -148,7 +157,7 @@ def build_tab(df, name):
|
|
| 148 |
elem_classes="filter-group"
|
| 149 |
)
|
| 150 |
|
| 151 |
-
def update(search, md, org, dset, metrics):
|
| 152 |
filtered = pivoted_df.copy()
|
| 153 |
|
| 154 |
if search:
|
|
@@ -160,8 +169,13 @@ def build_tab(df, name):
|
|
| 160 |
if org:
|
| 161 |
filtered = filtered[filtered["Organization"].isin(org)]
|
| 162 |
|
| 163 |
-
#
|
| 164 |
-
display_cols = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
|
| 166 |
# Add metric columns that match selected datasets and metrics
|
| 167 |
for col in metric_combo_cols:
|
|
@@ -175,11 +189,12 @@ def build_tab(df, name):
|
|
| 175 |
|
| 176 |
return filtered
|
| 177 |
|
| 178 |
-
search_bar.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
|
| 179 |
-
model_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
|
| 180 |
-
org_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
|
| 181 |
-
dataset_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
|
| 182 |
-
metric_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
|
|
|
|
| 183 |
|
| 184 |
|
| 185 |
custom_css = """
|
|
@@ -261,6 +276,21 @@ custom_css = """
|
|
| 261 |
.filter-group label {
|
| 262 |
font-size: 14px;
|
| 263 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 264 |
"""
|
| 265 |
|
| 266 |
TITLE = """<h1 align="center" id="space-title">MarsBench Leaderboard</h1>"""
|
|
|
|
| 99 |
elem_id="search-bar"
|
| 100 |
)
|
| 101 |
|
| 102 |
+
# Column selector for base columns only (not dataset+metric combos)
|
| 103 |
+
base_cols = ["Model", "Organization", "First Author"]
|
| 104 |
+
col_selector = gr.CheckboxGroup(
|
| 105 |
+
choices=base_cols,
|
| 106 |
+
value=base_cols,
|
| 107 |
+
label="Select Columns to Display:",
|
| 108 |
+
elem_classes="column-select"
|
| 109 |
+
)
|
| 110 |
+
|
| 111 |
# Set datatype to 'markdown' for First Author column to enable clickable links
|
| 112 |
datatypes = []
|
| 113 |
for col in pivoted_df.columns:
|
|
|
|
| 157 |
elem_classes="filter-group"
|
| 158 |
)
|
| 159 |
|
| 160 |
+
def update(search, md, org, dset, metrics, cols):
|
| 161 |
filtered = pivoted_df.copy()
|
| 162 |
|
| 163 |
if search:
|
|
|
|
| 169 |
if org:
|
| 170 |
filtered = filtered[filtered["Organization"].isin(org)]
|
| 171 |
|
| 172 |
+
# Build display columns based on selected base columns and dataset/metric filters
|
| 173 |
+
display_cols = []
|
| 174 |
+
|
| 175 |
+
# Add selected base columns
|
| 176 |
+
for col in cols:
|
| 177 |
+
if col in base_cols:
|
| 178 |
+
display_cols.append(col)
|
| 179 |
|
| 180 |
# Add metric columns that match selected datasets and metrics
|
| 181 |
for col in metric_combo_cols:
|
|
|
|
| 189 |
|
| 190 |
return filtered
|
| 191 |
|
| 192 |
+
search_bar.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 193 |
+
model_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 194 |
+
org_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 195 |
+
dataset_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 196 |
+
metric_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 197 |
+
col_selector.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
|
| 198 |
|
| 199 |
|
| 200 |
custom_css = """
|
|
|
|
| 276 |
.filter-group label {
|
| 277 |
font-size: 14px;
|
| 278 |
}
|
| 279 |
+
|
| 280 |
+
.column-select {
|
| 281 |
+
margin-bottom: 1.5em;
|
| 282 |
+
}
|
| 283 |
+
|
| 284 |
+
.column-select label {
|
| 285 |
+
display: flex;
|
| 286 |
+
flex-wrap: wrap;
|
| 287 |
+
gap: 0.5em;
|
| 288 |
+
}
|
| 289 |
+
|
| 290 |
+
.column-select label > span {
|
| 291 |
+
display: inline-flex;
|
| 292 |
+
align-items: center;
|
| 293 |
+
}
|
| 294 |
"""
|
| 295 |
|
| 296 |
TITLE = """<h1 align="center" id="space-title">MarsBench Leaderboard</h1>"""
|