File size: 1,691 Bytes
8c89a6d
6a914f4
3788f63
bcc3eb3
3788f63
293121e
 
83b66cb
 
 
 
 
 
 
 
08dccaf
71d997f
f4afc21
83b66cb
 
35b35ab
d80e0ae
 
 
be31a1d
d80e0ae
 
 
 
f5e6a19
 
b4a4ef7
f5e6a19
35b35ab
 
 
be31a1d
3996319
04484c3
35b35ab
b4a4ef7
35b35ab
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import random 
import pandas as pd
import streamlit as st
from datasets import load_dataset

st.title("Code Arena")

with st.spinner("Loading data...", show_time=True):
    problem_dict = dict()
    ds = load_dataset("Elfsong/leetcode_data", split='train')
    for problem in ds:
        problem_id = problem["problem_id"]
        problem_dict[problem_id] = problem


if "problem" in st.query_params:
    problem_id = int(st.query_params["problem"])
    st.write(f"Problem Description - [{problem_id}]")
    st.write(problem_dict[problem_id])
    
else:
    with st.spinner("Loading Framework...", show_time=True):
        df = pd.DataFrame(
            {
                "problem_id": [int(problem['problem_id']) for problem in ds],
                "problem_link": ["https://huggingface.co/spaces/Elfsong/CodeArena/?problem=" + str(problem['problem_id']) for problem in ds],
                "dynamic_point": [[random.randint(0, 5000) for _ in range(30)] for problem in ds],
            }
        )
    
    tab_problem, tab_submission, tab_model = st.tabs(["Problems", "Submissions", "Models"])

    with tab_problem:
        st.dataframe(
            df,
            column_config={
                "problem_id": st.column_config.NumberColumn("Problem ID"),
                "dynamic_point": st.column_config.LineChartColumn("Dynamic Point", y_min=0, y_max=5000),
                "problem_link": st.column_config.LinkColumn("Link", display_text="Open"),
            },
            column_order=("problem_id", "dynamic_point", "problem_link"),
            hide_index=True,
        )

    with tab_submission:
        st.header("Submissions")

    with tab_model:
        st.header("Models")