Spaces:
Running
Running
jasonshaoshun
commited on
Commit
·
c33e0a8
1
Parent(s):
a3ba9e7
debug
Browse files
app.py
CHANGED
@@ -133,7 +133,7 @@ from dataclasses import fields
|
|
133 |
|
134 |
class SmartSelectColumns(SelectColumns):
|
135 |
"""
|
136 |
-
Enhanced SelectColumns component
|
137 |
"""
|
138 |
def __init__(
|
139 |
self,
|
@@ -143,14 +143,17 @@ class SmartSelectColumns(SelectColumns):
|
|
143 |
label: str = "Select Results:",
|
144 |
**kwargs
|
145 |
):
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
150 |
self.benchmark_keywords = benchmark_keywords or []
|
151 |
self.model_keywords = model_keywords or []
|
152 |
-
|
153 |
-
|
154 |
def get_filtered_groups(self, columns: List[str]) -> Dict[str, List[str]]:
|
155 |
"""Get column groups based on keywords."""
|
156 |
filtered_groups = {}
|
@@ -172,27 +175,9 @@ class SmartSelectColumns(SelectColumns):
|
|
172 |
]
|
173 |
if matching_cols:
|
174 |
filtered_groups[f"Model group for {model}"] = matching_cols
|
175 |
-
|
176 |
return filtered_groups
|
177 |
|
178 |
-
def update(
|
179 |
-
self,
|
180 |
-
value: Union[pd.DataFrame, Dict[str, List[str]], Any]
|
181 |
-
) -> Dict:
|
182 |
-
"""Update component, staying close to original SelectColumns behavior."""
|
183 |
-
if isinstance(value, pd.DataFrame):
|
184 |
-
columns = list(value.columns)
|
185 |
-
filtered_cols = self.get_filtered_groups(columns)
|
186 |
-
|
187 |
-
return {
|
188 |
-
"choices": columns,
|
189 |
-
"value": self.initial_selected or columns,
|
190 |
-
"filtered_cols": filtered_cols,
|
191 |
-
"__type__": "update"
|
192 |
-
}
|
193 |
-
|
194 |
-
return super().update(value)
|
195 |
-
|
196 |
|
197 |
|
198 |
|
@@ -477,9 +462,11 @@ def init_leaderboard_mib_subgraph(dataframe, track):
|
|
477 |
benchmark_keywords=benchmark_keywords,
|
478 |
model_keywords=model_keywords,
|
479 |
initial_selected=["Method", "Average"],
|
480 |
-
label="Select Results:"
|
|
|
481 |
)
|
482 |
|
|
|
483 |
# Create Leaderboard
|
484 |
print("\nCreating leaderboard...")
|
485 |
leaderboard = Leaderboard(
|
@@ -490,8 +477,6 @@ def init_leaderboard_mib_subgraph(dataframe, track):
|
|
490 |
hide_columns=[],
|
491 |
interactive=False
|
492 |
)
|
493 |
-
print("Leaderboard created successfully")
|
494 |
-
print("Leaderboard is", leaderboard)
|
495 |
return leaderboard
|
496 |
|
497 |
|
|
|
133 |
|
134 |
class SmartSelectColumns(SelectColumns):
|
135 |
"""
|
136 |
+
Enhanced SelectColumns component following the gradio_leaderboard docs pattern.
|
137 |
"""
|
138 |
def __init__(
|
139 |
self,
|
|
|
143 |
label: str = "Select Results:",
|
144 |
**kwargs
|
145 |
):
|
146 |
+
# Initialize with basic SelectColumns parameters
|
147 |
+
default_selection = initial_selected or []
|
148 |
+
super().__init__(
|
149 |
+
default_selection=default_selection,
|
150 |
+
label=label,
|
151 |
+
**kwargs
|
152 |
+
)
|
153 |
+
|
154 |
self.benchmark_keywords = benchmark_keywords or []
|
155 |
self.model_keywords = model_keywords or []
|
156 |
+
|
|
|
157 |
def get_filtered_groups(self, columns: List[str]) -> Dict[str, List[str]]:
|
158 |
"""Get column groups based on keywords."""
|
159 |
filtered_groups = {}
|
|
|
175 |
]
|
176 |
if matching_cols:
|
177 |
filtered_groups[f"Model group for {model}"] = matching_cols
|
178 |
+
|
179 |
return filtered_groups
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
|
182 |
|
183 |
|
|
|
462 |
benchmark_keywords=benchmark_keywords,
|
463 |
model_keywords=model_keywords,
|
464 |
initial_selected=["Method", "Average"],
|
465 |
+
label="Select Results:",
|
466 |
+
cant_deselect=["Method"] # Ensure Method column is always shown
|
467 |
)
|
468 |
|
469 |
+
|
470 |
# Create Leaderboard
|
471 |
print("\nCreating leaderboard...")
|
472 |
leaderboard = Leaderboard(
|
|
|
477 |
hide_columns=[],
|
478 |
interactive=False
|
479 |
)
|
|
|
|
|
480 |
return leaderboard
|
481 |
|
482 |
|