AlexNijjar commited on
Commit
21a364f
·
1 Parent(s): eef5820

Show submission state for all validators

Browse files
Files changed (3) hide show
  1. src/chain_data.py +1 -1
  2. src/leaderboard.py +1 -1
  3. src/submissions.py +25 -20
src/chain_data.py CHANGED
@@ -147,7 +147,7 @@ def fetch_commitments(block: int):
147
  commitments = query_subtensor(storage_keys, block)
148
  for storage, commitment in commitments:
149
  try:
150
- if not commitment:
151
  continue
152
 
153
  fields = commitment.value["info"]["fields"]
 
147
  commitments = query_subtensor(storage_keys, block)
148
  for storage, commitment in commitments:
149
  try:
150
+ if not commitment or not commitment.value:
151
  continue
152
 
153
  fields = commitment.value["info"]["fields"]
src/leaderboard.py CHANGED
@@ -17,7 +17,7 @@ def create_dropdown() -> gr.Dropdown:
17
  choices = sorted(choices, key=lambda x: x[1])
18
 
19
  default = DEFAULT_VALIDATOR_UID
20
- if not default in [uid for _, uid in choices]:
21
  default = choices[0][1]
22
  return gr.Dropdown(
23
  choices,
 
17
  choices = sorted(choices, key=lambda x: x[1])
18
 
19
  default = DEFAULT_VALIDATOR_UID
20
+ if default not in [uid for _, uid in choices]:
21
  default = choices[0][1]
22
  return gr.Dropdown(
23
  choices,
src/submissions.py CHANGED
@@ -1,13 +1,9 @@
1
- import os
2
-
3
  import gradio as gr
4
  import pandas as pd
5
 
6
  from chain_data import sync_metagraph, COMMITMENTS, UIDS_BY_HOTKEY
7
  from wandb_data import get_current_runs, Run, Uid
8
 
9
- DEFAULT_VALIDATOR_UID = int(os.environ["DEFAULT_VALIDATOR_UID"])
10
-
11
  def get_status(run: Run, uid: Uid, block: int) -> tuple[str, str]:
12
  if all(not submission.get(uid) or block > submission[uid].info.block for submission in [run.submissions, run.invalid_submissions]):
13
  return "Pending", "orange"
@@ -22,27 +18,36 @@ def get_status(run: Run, uid: Uid, block: int) -> tuple[str, str]:
22
  def create_submissions() -> gr.Dataframe:
23
  data: list[list] = []
24
  sync_metagraph()
25
- for run in get_current_runs():
26
- if not run.uid == DEFAULT_VALIDATOR_UID:
27
- continue
28
- for hotkey, commitment in COMMITMENTS.items():
29
- uid = UIDS_BY_HOTKEY[hotkey]
 
 
 
 
 
 
 
 
 
30
  status, color = get_status(run, uid, commitment.block)
31
- data.append([
32
- uid,
33
- f"[{'/'.join(commitment.get_repo_link().split('/')[-2:])}]({commitment.get_repo_link()})",
34
- f"[{commitment.block}](https://taostats.io/block/{commitment.block})",
35
- f"[{commitment.revision}]({commitment.get_repo_link()}/commit/{commitment.revision})",
36
- f"[{hotkey[:6]}...](https://taostats.io/hotkey/{hotkey})",
37
- commitment.contest.name,
38
- f"<span style='color: {color}'>{status}</span>"
39
- ])
40
 
41
  data.sort(key=lambda x: int(x[2].split('[')[1].split(']')[0]), reverse=True)
42
 
 
 
 
 
 
 
43
  return gr.Dataframe(
44
- pd.DataFrame(data, columns=["UID", "Model", "Block", "Revision", "Hotkey", "Contest", "Status"]),
45
- datatype=["number", "markdown", "markdown", "markdown", "markdown", "markdown", "markdown"],
46
  interactive=False,
47
  max_height=800,
48
  )
 
 
 
1
  import gradio as gr
2
  import pandas as pd
3
 
4
  from chain_data import sync_metagraph, COMMITMENTS, UIDS_BY_HOTKEY
5
  from wandb_data import get_current_runs, Run, Uid
6
 
 
 
7
  def get_status(run: Run, uid: Uid, block: int) -> tuple[str, str]:
8
  if all(not submission.get(uid) or block > submission[uid].info.block for submission in [run.submissions, run.invalid_submissions]):
9
  return "Pending", "orange"
 
18
  def create_submissions() -> gr.Dataframe:
19
  data: list[list] = []
20
  sync_metagraph()
21
+ runs = sorted(get_current_runs(), key=lambda run: run.uid)
22
+
23
+ for hotkey, commitment in COMMITMENTS.items():
24
+ uid = UIDS_BY_HOTKEY[hotkey]
25
+ row = [
26
+ uid,
27
+ f"[{'/'.join(commitment.get_repo_link().split('/')[-2:])}]({commitment.get_repo_link()})",
28
+ f"[{commitment.block}](https://taostats.io/block/{commitment.block})",
29
+ f"[{commitment.revision}]({commitment.get_repo_link()}/commit/{commitment.revision})",
30
+ f"[{hotkey[:6]}...](https://taostats.io/hotkey/{hotkey})",
31
+ commitment.contest.name,
32
+ ]
33
+
34
+ for run in runs:
35
  status, color = get_status(run, uid, commitment.block)
36
+ row.append(f"<span style='color: {color}'>{status}</span>")
37
+
38
+ data.append(row)
 
 
 
 
 
 
39
 
40
  data.sort(key=lambda x: int(x[2].split('[')[1].split(']')[0]), reverse=True)
41
 
42
+ columns = ["UID", "Model", "Block", "Revision", "Hotkey", "Contest"]
43
+ datatype = ["number", "markdown", "markdown", "markdown", "markdown", "markdown"]
44
+ for run in runs:
45
+ columns.append(f"{run.uid} - {run.name}")
46
+ datatype.append("markdown")
47
+
48
  return gr.Dataframe(
49
+ pd.DataFrame(data, columns=columns),
50
+ datatype=datatype,
51
  interactive=False,
52
  max_height=800,
53
  )