napoles3d commited on
Commit
8fe2dca
·
verified ·
1 Parent(s): c7e2071

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -14
app.py CHANGED
@@ -1,11 +1,39 @@
1
  import gradio as gr
 
2
 
3
  from about import ABOUT_TEXT, INTRO_TEXT, SUBMISSION_TEXT, TITLE
4
  from utils import load_results_dataframe, submit_zip
5
 
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  def refresh_leaderboard():
8
- return load_results_dataframe()
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
 
11
  with gr.Blocks(title="The Well Leaderboard MVP") as demo:
@@ -13,36 +41,35 @@ with gr.Blocks(title="The Well Leaderboard MVP") as demo:
13
  gr.Markdown(INTRO_TEXT)
14
 
15
  with gr.Tab("Leaderboard"):
 
16
  leaderboard = gr.Dataframe(
17
- value=load_results_dataframe(),
 
18
  label="Ranked results",
19
  wrap=True,
 
20
  )
21
-
22
  refresh_button = gr.Button("Refresh leaderboard")
23
  refresh_button.click(
24
  fn=refresh_leaderboard,
25
- outputs=leaderboard,
26
- api_name="refresh_leaderboard",
27
  )
28
 
29
  with gr.Tab("Submit"):
30
  gr.Markdown(SUBMISSION_TEXT)
31
-
32
  zip_file = gr.File(
33
  label="Submission zip",
34
  file_count="single",
35
  file_types=[".zip"],
36
  )
37
-
38
  submit_button = gr.Button("Submit")
39
  submission_status = gr.Markdown()
40
-
41
  submit_button.click(
42
- fn=submit_zip,
43
  inputs=zip_file,
44
  outputs=submission_status,
45
- api_name="submit_zip",
46
  )
47
 
48
  with gr.Tab("About"):
@@ -50,9 +77,8 @@ with gr.Blocks(title="The Well Leaderboard MVP") as demo:
50
 
51
  demo.load(
52
  fn=refresh_leaderboard,
53
- outputs=leaderboard,
 
54
  )
55
 
56
-
57
- if __name__ == "__main__":
58
- demo.launch()
 
1
  import gradio as gr
2
+ import pandas as pd
3
 
4
  from about import ABOUT_TEXT, INTRO_TEXT, SUBMISSION_TEXT, TITLE
5
  from utils import load_results_dataframe, submit_zip
6
 
7
 
8
+ EMPTY_COLUMNS = [
9
+ "rank",
10
+ "model_name",
11
+ "team_name",
12
+ "avg_vrmse",
13
+ "density_vrmse",
14
+ "pressure_vrmse",
15
+ "velocity_x_vrmse",
16
+ "velocity_y_vrmse",
17
+ "submitted_at",
18
+ "status",
19
+ ]
20
+
21
+
22
  def refresh_leaderboard():
23
+ try:
24
+ df = load_results_dataframe()
25
+ if df is None or not isinstance(df, pd.DataFrame):
26
+ df = pd.DataFrame(columns=EMPTY_COLUMNS)
27
+ return df, "Leaderboard loaded."
28
+ except Exception as exc:
29
+ return pd.DataFrame(columns=EMPTY_COLUMNS), f"Error loading leaderboard: {exc}"
30
+
31
+
32
+ def handle_submit(zip_file):
33
+ try:
34
+ return submit_zip(zip_file)
35
+ except Exception as exc:
36
+ return f"Submission failed: {exc}"
37
 
38
 
39
  with gr.Blocks(title="The Well Leaderboard MVP") as demo:
 
41
  gr.Markdown(INTRO_TEXT)
42
 
43
  with gr.Tab("Leaderboard"):
44
+ leaderboard_status = gr.Markdown("Loading leaderboard...")
45
  leaderboard = gr.Dataframe(
46
+ headers=EMPTY_COLUMNS,
47
+ value=pd.DataFrame(columns=EMPTY_COLUMNS),
48
  label="Ranked results",
49
  wrap=True,
50
+ interactive=False,
51
  )
 
52
  refresh_button = gr.Button("Refresh leaderboard")
53
  refresh_button.click(
54
  fn=refresh_leaderboard,
55
+ outputs=[leaderboard, leaderboard_status],
56
+ api_name=False,
57
  )
58
 
59
  with gr.Tab("Submit"):
60
  gr.Markdown(SUBMISSION_TEXT)
 
61
  zip_file = gr.File(
62
  label="Submission zip",
63
  file_count="single",
64
  file_types=[".zip"],
65
  )
 
66
  submit_button = gr.Button("Submit")
67
  submission_status = gr.Markdown()
 
68
  submit_button.click(
69
+ fn=handle_submit,
70
  inputs=zip_file,
71
  outputs=submission_status,
72
+ api_name=False,
73
  )
74
 
75
  with gr.Tab("About"):
 
77
 
78
  demo.load(
79
  fn=refresh_leaderboard,
80
+ outputs=[leaderboard, leaderboard_status],
81
+ api_name=False,
82
  )
83
 
84
+ demo.launch()