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 |
|