Download views/leaderboard_task.py from NASK-PIB/PoVisLE: direct link, hf CLI and curl.
- Browser
- Download file 3.68 kB
-
https://huggingface.co/spaces/NASK-PIB/PoVisLE/resolve/main/views/leaderboard_task.py
- Command line
-
hf download hf://spaces/NASK-PIB/PoVisLE/views/leaderboard_task.py
-
curl -L -o leaderboard_task.py https://huggingface.co/spaces/NASK-PIB/PoVisLE/resolve/main/views/leaderboard_task.py
3.68 kB
| from __future__ import annotations | |
| import gradio as gr | |
| import pandas as pd | |
| from .leaderboard_category import ( | |
| filter_leaderboard, | |
| style_leaderboard, | |
| ) | |
| TASK_DISPLAY_COLUMNS = ["Org", "Model", "Size", "Overall", "MCQ", "Y/N", "Open"] | |
| def render_task_leaderboard( | |
| leaderboard_df: pd.DataFrame, | |
| search_query: str, | |
| selected_split: str, | |
| selected_types: list[str], | |
| selected_size_ranges: list[str], | |
| selected_families: list[str], | |
| ): | |
| filtered = filter_leaderboard( | |
| leaderboard_df, | |
| TASK_DISPLAY_COLUMNS, | |
| search_query, | |
| selected_split, | |
| selected_types, | |
| selected_size_ranges, | |
| selected_families, | |
| ) | |
| return style_leaderboard(filtered, TASK_DISPLAY_COLUMNS) | |
| def update_split_task_leaderboards( | |
| leaderboard_df: pd.DataFrame, | |
| search_query: str, | |
| selected_types: list[str], | |
| selected_size_ranges: list[str], | |
| selected_families: list[str], | |
| ): | |
| return ( | |
| render_task_leaderboard( | |
| leaderboard_df, | |
| search_query, | |
| "Test", | |
| selected_types, | |
| selected_size_ranges, | |
| selected_families, | |
| ), | |
| render_task_leaderboard( | |
| leaderboard_df, | |
| search_query, | |
| "Validation", | |
| selected_types, | |
| selected_size_ranges, | |
| selected_families, | |
| ), | |
| ) | |
| def render_leaderboard_task_tab( | |
| leaderboard_df: pd.DataFrame, | |
| search_box, | |
| type_filter, | |
| size_filter, | |
| family_filter, | |
| ) -> None: | |
| initial_test_table_value = render_task_leaderboard( | |
| leaderboard_df, | |
| "", | |
| "Test", | |
| [], | |
| [], | |
| [], | |
| ) | |
| initial_validation_table_value = render_task_leaderboard( | |
| leaderboard_df, | |
| "", | |
| "Validation", | |
| [], | |
| [], | |
| [], | |
| ) | |
| with gr.Tabs(elem_id="leaderboard-task-split-tabs", elem_classes=["leaderboard-split-tabs"]): | |
| with gr.Tab("Test"): | |
| test_leaderboard_table = gr.Dataframe( | |
| value=initial_test_table_value, | |
| max_height=760, | |
| interactive=False, | |
| wrap=True, | |
| buttons=[], | |
| elem_id="leaderboard-table-test", | |
| elem_classes=["leaderboard-table"], | |
| ) | |
| with gr.Tab("Validation"): | |
| validation_leaderboard_table = gr.Dataframe( | |
| value=initial_validation_table_value, | |
| max_height=760, | |
| interactive=False, | |
| wrap=True, | |
| buttons=[], | |
| elem_id="leaderboard-table-validation", | |
| elem_classes=["leaderboard-table"], | |
| ) | |
| search_box.submit( | |
| fn=lambda search_query, selected_type, selected_size, selected_family: update_split_task_leaderboards( | |
| leaderboard_df, | |
| search_query, | |
| selected_type, | |
| selected_size, | |
| selected_family, | |
| ), | |
| inputs=[search_box, type_filter, size_filter, family_filter], | |
| outputs=[test_leaderboard_table, validation_leaderboard_table], | |
| ) | |
| for component in (type_filter, size_filter, family_filter): | |
| component.change( | |
| fn=lambda search_query, selected_type, selected_size, selected_family: update_split_task_leaderboards( | |
| leaderboard_df, | |
| search_query, | |
| selected_type, | |
| selected_size, | |
| selected_family, | |
| ), | |
| inputs=[search_box, type_filter, size_filter, family_filter], | |
| outputs=[test_leaderboard_table, validation_leaderboard_table], | |
| ) | |