Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from chain_data import sync_chain | |
| from leaderboard import create_leaderboard, create_dropdown, create_baseline | |
| from model_demo import create_demo | |
| from submissions import create_submissions, create_duplicate_submissions_plot, DROPDOWN_OPTIONS | |
| from validator_states import create_validator_states | |
| from validator_weights import create_weights | |
| from wandb_data import sync | |
| def main(): | |
| sync_chain() | |
| sync() | |
| with gr.Blocks(css=".typewriter {font-family: 'JMH Typewriter', sans-serif;}", fill_height=True, fill_width=True) as app: | |
| with gr.Tab("Leaderboard") as leaderboard_tab: | |
| dropdown = gr.Dropdown() | |
| dropdown.attach_load_event(lambda: create_dropdown(), None) | |
| baseline_dataframe = gr.Dataframe() | |
| baseline_dataframe.attach_load_event(lambda uid: create_baseline(uid), None, inputs=[dropdown]) | |
| leaderboard_tab.select(lambda uid: create_baseline(uid), inputs=[dropdown], outputs=[baseline_dataframe]) | |
| dropdown.change(lambda uid: create_baseline(uid), inputs=[dropdown], outputs=[baseline_dataframe]) | |
| leaderboard_dataframe = gr.Dataframe() | |
| leaderboard_dataframe.attach_load_event(lambda uid: create_leaderboard(uid), None, inputs=[dropdown]) | |
| leaderboard_tab.select(lambda uid: create_leaderboard(uid), inputs=[dropdown], outputs=[leaderboard_dataframe]) | |
| dropdown.change(lambda uid: create_leaderboard(uid), inputs=[dropdown], outputs=[leaderboard_dataframe]) | |
| with gr.Tab("Validator States") as validator_states_tab: | |
| validator_states_dataframe = gr.Dataframe() | |
| validator_states_dataframe.attach_load_event(lambda: create_validator_states(), None) | |
| validator_states_tab.select(lambda: create_validator_states(), [], [validator_states_dataframe]) | |
| with gr.Tab("Validator Weights") as validator_weights_tab: | |
| include_inactive_checkbox = gr.Checkbox(False, label="Include Inactive", container=False) | |
| validator_weights_dataframe = gr.Dataframe() | |
| validator_weights_dataframe.attach_load_event(lambda include_inactive: create_weights(include_inactive), None, [include_inactive_checkbox]) | |
| validator_weights_tab.select(lambda include_inactive: create_weights(include_inactive), [include_inactive_checkbox], [validator_weights_dataframe]) | |
| include_inactive_checkbox.change(lambda include_inactive: create_weights(include_inactive), [include_inactive_checkbox], [validator_weights_dataframe]) | |
| with gr.Tab("Submissions") as submissions_tab: | |
| filter_dropdown = gr.Dropdown(choices=DROPDOWN_OPTIONS, value=DROPDOWN_OPTIONS, label="Filter", container=False, multiselect=True) | |
| submissions_dataframe = gr.Dataframe() | |
| submissions_dataframe.attach_load_event(lambda include_blacklisted: create_submissions(include_blacklisted), None, [filter_dropdown]) | |
| submissions_tab.select(lambda submission_filter: create_submissions(submission_filter), [filter_dropdown], [submissions_dataframe]) | |
| filter_dropdown.change(lambda submission_filter: create_submissions(submission_filter), [filter_dropdown], [submissions_dataframe]) | |
| duplicate_submissions_plot = gr.Plot() | |
| duplicate_submissions_plot.attach_load_event(lambda: create_duplicate_submissions_plot(), None) | |
| with gr.Tab("Model Demo"): | |
| create_demo() | |
| app.launch() | |
| if __name__ == "__main__": | |
| main() | |