Commit
·
c4f1261
1
Parent(s):
6fd7518
Adding more debugging to figure out the state issues
Browse files
app.py
CHANGED
@@ -1,6 +1,4 @@
|
|
1 |
-
from datetime import datetime
|
2 |
import pandas as pd
|
3 |
-
|
4 |
import gradio as gr
|
5 |
from gradio.themes.utils import sizes
|
6 |
from gradio_leaderboard import Leaderboard
|
@@ -18,7 +16,7 @@ from constants import (
|
|
18 |
SUBMIT_TAB_NAME,
|
19 |
)
|
20 |
from submit import make_submission
|
21 |
-
from utils import fetch_hf_results, show_output_box
|
22 |
|
23 |
|
24 |
def format_leaderboard_table(df_results: pd.DataFrame, assay: str | None = None):
|
@@ -67,6 +65,10 @@ def get_leaderboard_object(assay: str | None = None):
|
|
67 |
# Initialize global dataframe
|
68 |
current_dataframe = fetch_hf_results()
|
69 |
|
|
|
|
|
|
|
|
|
70 |
# Make font size bigger using gradio theme
|
71 |
with gr.Blocks(theme=gr.themes.Default(text_size=sizes.text_lg)) as demo:
|
72 |
timer = gr.Timer(3) # Run every 3 seconds when page is focused
|
@@ -78,8 +80,7 @@ with gr.Blocks(theme=gr.themes.Default(text_size=sizes.text_lg)) as demo:
|
|
78 |
|
79 |
# Check if data has actually changed
|
80 |
if not current_dataframe.equals(new_dataframe):
|
81 |
-
|
82 |
-
print(f"TMP Dataframe has changed at {time}")
|
83 |
current_dataframe = new_dataframe
|
84 |
return data_version.value + 1 # Increment version to trigger updates
|
85 |
return data_version.value
|
@@ -153,8 +154,7 @@ with gr.Blocks(theme=gr.themes.Default(text_size=sizes.text_lg)) as demo:
|
|
153 |
lb = get_leaderboard_object()
|
154 |
|
155 |
def refresh_overall_leaderboard():
|
156 |
-
|
157 |
-
print(f"TMP Refreshing overall leaderboard at {time}")
|
158 |
return format_leaderboard_table(df_results=current_dataframe)
|
159 |
|
160 |
# Refresh when data version changes
|
@@ -288,4 +288,4 @@ with gr.Blocks(theme=gr.themes.Default(text_size=sizes.text_lg)) as demo:
|
|
288 |
)
|
289 |
|
290 |
if __name__ == "__main__":
|
291 |
-
demo.launch(ssr_mode=False)
|
|
|
|
|
1 |
import pandas as pd
|
|
|
2 |
import gradio as gr
|
3 |
from gradio.themes.utils import sizes
|
4 |
from gradio_leaderboard import Leaderboard
|
|
|
16 |
SUBMIT_TAB_NAME,
|
17 |
)
|
18 |
from submit import make_submission
|
19 |
+
from utils import fetch_hf_results, show_output_box, get_time
|
20 |
|
21 |
|
22 |
def format_leaderboard_table(df_results: pd.DataFrame, assay: str | None = None):
|
|
|
65 |
# Initialize global dataframe
|
66 |
current_dataframe = fetch_hf_results()
|
67 |
|
68 |
+
# Lood: Two problems currently:
|
69 |
+
# 1. The data_version state value isn't being incremented, it seems (even though it's triggering the dataframe change correctly)
|
70 |
+
# 2. The global current_dataframe is being shared across all sessions
|
71 |
+
|
72 |
# Make font size bigger using gradio theme
|
73 |
with gr.Blocks(theme=gr.themes.Default(text_size=sizes.text_lg)) as demo:
|
74 |
timer = gr.Timer(3) # Run every 3 seconds when page is focused
|
|
|
80 |
|
81 |
# Check if data has actually changed
|
82 |
if not current_dataframe.equals(new_dataframe):
|
83 |
+
print(f"TMP Dataframe has changed at {get_time()}. New value will be {data_version.value + 1}")
|
|
|
84 |
current_dataframe = new_dataframe
|
85 |
return data_version.value + 1 # Increment version to trigger updates
|
86 |
return data_version.value
|
|
|
154 |
lb = get_leaderboard_object()
|
155 |
|
156 |
def refresh_overall_leaderboard():
|
157 |
+
print(f"TMP Refreshing overall leaderboard at {get_time()}. Data version: {data_version.value}")
|
|
|
158 |
return format_leaderboard_table(df_results=current_dataframe)
|
159 |
|
160 |
# Refresh when data version changes
|
|
|
288 |
)
|
289 |
|
290 |
if __name__ == "__main__":
|
291 |
+
demo.launch(ssr_mode=False, share=True)
|
utils.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
import pandas as pd
|
2 |
from datasets import load_dataset
|
3 |
import gradio as gr
|
@@ -8,6 +9,14 @@ from constants import RESULTS_REPO, ASSAY_RENAME, LEADERBOARD_RESULTS_COLUMNS, B
|
|
8 |
pd.set_option("display.max_columns", None)
|
9 |
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
def show_output_box(message):
|
12 |
return gr.update(value=message, visible=True)
|
13 |
|
|
|
1 |
+
from datetime import datetime, timezone, timedelta
|
2 |
import pandas as pd
|
3 |
from datasets import load_dataset
|
4 |
import gradio as gr
|
|
|
9 |
pd.set_option("display.max_columns", None)
|
10 |
|
11 |
|
12 |
+
def get_time(tz_name="EST") -> str:
|
13 |
+
offsets = {"EST": -5, "UTC": 0}
|
14 |
+
if tz_name not in offsets:
|
15 |
+
print("Invalid timezone, using EST")
|
16 |
+
tz_name = "EST"
|
17 |
+
offset = offsets[tz_name]
|
18 |
+
return datetime.now(timezone(timedelta(hours=offset))).strftime("%Y-%m-%d %H:%M:%S") + f" ({tz_name})"
|
19 |
+
|
20 |
def show_output_box(message):
|
21 |
return gr.update(value=message, visible=True)
|
22 |
|