# gradio display leaderboard import pandas as pd import numpy as np import matplotlib # matplotlib.use('macosx') import gradio as gr import matplotlib.pyplot as plt import plotly.graph_objects as go from apscheduler.schedulers.background import BackgroundScheduler from texts import INTRODUCTION_TEXT, TITLE df_lang = { 'English': pd.read_csv("./leaderboard/wired_network_en.csv"), 'Chinese': pd.read_csv("./leaderboard/wired_network_zh.csv"), } def create_lang_leader_board(df): headers = df.columns types = ["str"] + ["number"] * (len(headers) - 1) return gr.components.Dataframe( value=df.values.tolist(), headers=[col_name for col_name in headers], datatype=types, # max_rows=10, ) def launch_gradio(): demo = gr.Blocks() with demo: gr.HTML(TITLE) gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text") for key, df in df_lang.items(): with gr.Tab(key): create_lang_leader_board(df) demo.launch() scheduler = BackgroundScheduler() scheduler.add_job(launch_gradio, 'interval', hours=1) scheduler.start() launch_gradio()