feat: web application multipage support

This commit is contained in:
2025-08-16 19:05:24 +02:00
parent 7b652d6999
commit 84f7d41a84
38 changed files with 765 additions and 507 deletions
+22
View File
@@ -0,0 +1,22 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.dashboard import Dashboard
st.set_page_config(page_title="Dashboard", page_icon="📊", layout="wide")
if "config" in st.session_state:
dashboard = Dashboard(
st.session_state.config,
st.session_state.experiment_tracker,
st.session_state.experiment_runner,
)
dashboard.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+18
View File
@@ -0,0 +1,18 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.data_overview import DataOverview
st.set_page_config(page_title="Data Overview", page_icon="📋", layout="wide")
if "config" in st.session_state:
data_overview = DataOverview(st.session_state.config)
data_overview.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+18
View File
@@ -0,0 +1,18 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.data_processing import DataProcessing
st.set_page_config(page_title="Data Processing", page_icon="⚙️", layout="wide")
if "config" in st.session_state:
data_processing = DataProcessing(st.session_state.config, st.session_state.pipeline_monitor)
data_processing.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+22
View File
@@ -0,0 +1,22 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.experiments import Experiments
st.set_page_config(page_title="Experiments", page_icon="🧪", layout="wide")
if "config" in st.session_state:
experiments = Experiments(
st.session_state.config,
st.session_state.experiment_tracker,
st.session_state.experiment_runner,
)
experiments.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+22
View File
@@ -0,0 +1,22 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.results_analysis import ResultsAnalysis
st.set_page_config(page_title="Results & Analysis", page_icon="📈", layout="wide")
if "config" in st.session_state:
results_analysis = ResultsAnalysis(
st.session_state.config,
st.session_state.experiment_tracker,
st.session_state.experiment_runner,
)
results_analysis.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+22
View File
@@ -0,0 +1,22 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.predictions import Predictions
st.set_page_config(page_title="Predictions", page_icon="🔮", layout="wide")
if "config" in st.session_state:
predictions = Predictions(
st.session_state.config,
st.session_state.experiment_tracker,
st.session_state.experiment_runner,
)
predictions.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")
+18
View File
@@ -0,0 +1,18 @@
import sys
from pathlib import Path
import streamlit as st
# Add parent directory to Python path to access core modules
parent_dir = Path(__file__).parent.parent.parent
sys.path.insert(0, str(parent_dir))
from web.interfaces.configuration import Configuration
st.set_page_config(page_title="Configuration", page_icon="⚙️", layout="wide")
if "config" in st.session_state:
configuration = Configuration(st.session_state.config)
configuration.index()
else:
st.error("Please run the main app first to initialize the configuration.")
st.markdown("Go back to the [main page](/) to start the application.")