Spaces:
Sleeping
Sleeping
import streamlit as st | |
from components import ( | |
buildings_view, | |
models_view, | |
performance_view, | |
computation_view, | |
logos, | |
model_selector, | |
header, | |
overview_view, | |
) | |
import utils | |
PAGES = [ | |
"Overview", | |
"Buildings", | |
"Models", | |
"Performance", | |
"Computational Resources", | |
] | |
st.set_page_config(page_title="Gas Demand Dashboard", layout="wide") | |
def fetch_data(): | |
return utils.get_wandb_data( | |
entity=st.secrets["wandb_entity"], | |
project="enfobench-gas-demand", | |
api_key=st.secrets["wandb_api_key"], | |
job_type="metrics", | |
) | |
# Load data | |
data = fetch_data() | |
# Extract models | |
models = sorted(data["model"].unique().tolist()) | |
with st.sidebar: | |
logos() | |
view = st.selectbox("View", PAGES, index=0) | |
if view == "Performance" or view == "Computational Resources": | |
models_to_plot = model_selector(models) | |
if view == "Overview": | |
st.header("Sources") | |
st.link_button("GitHub Repository", url="https://github.com/attila-balint-kul/energy-forecast-benchmark-toolkit", use_container_width=True) | |
st.link_button("Documentation", url="https://attila-balint-kul.github.io/energy-forecast-benchmark-toolkit/", use_container_width=True) | |
st.link_button("Electricity Demand Dataset", url="https://huggingface.co/datasets/EDS-lab/electricity-demand", use_container_width=True) | |
st.link_button("HuggingFace Organization", url="https://huggingface.co/EDS-lab", use_container_width=True) | |
st.header("Other Dashboards") | |
st.link_button("Electricity Demand", url="https://huggingface.co/spaces/EDS-lab/EnFoBench-ElectricityDemand", use_container_width=True) | |
st.link_button("PV Generation", url="https://huggingface.co/spaces/EDS-lab/EnFoBench-PVGeneration", use_container_width=True) | |
st.header("Refresh data") | |
refresh = st.button( | |
"Refresh", use_container_width=True, help="Fetch the latest data from W&B" | |
) | |
if refresh: | |
fetch_data.clear() | |
st.rerun() | |
header() | |
if view == "Overview": | |
overview_view(data) | |
elif view == "Buildings": | |
buildings_view(data) | |
elif view == "Models": | |
models_view(data) | |
elif view == "Performance": | |
performance_view(data, models_to_plot) | |
elif view == "Computational Resources": | |
computation_view(data, models_to_plot) | |
else: | |
st.write("Not implemented yet") | |