Spaces:
Running
Running
import os | |
import streamlit as st | |
from st_pages import add_page_title, get_nav_from_toml | |
from app.backend.constant import LEADERBOARD_MAP | |
from app.backend.data_engine import DataEngine | |
# init pages | |
with open("app/ui/pages/data_page.py", "r", encoding="utf-8") as f: | |
data_page = f.read() | |
for leaderboard, group_names in LEADERBOARD_MAP.items(): | |
for group_name in group_names: | |
path = os.path.join("app/ui/pages", f"{group_name}.py") | |
with open(path, "w", encoding="utf-8") as f: | |
f.write(data_page.replace("$group_name$", group_name) | |
) | |
# init global data engine | |
data_engine = DataEngine() | |
data_engine.jsons_to_df() | |
st.session_state["data_engine"] = data_engine | |
st.set_page_config(layout="wide") | |
# load page tree | |
nav = get_nav_from_toml( | |
"app/ui/pages_sections.toml" | |
) | |
pg = st.navigation(nav) | |
add_page_title(pg) | |
pg.run() | |