MaheshP98's picture
Update app.py
90796a8 verified
raw
history blame
1.13 kB
import streamlit as st
import pandas as pd
from utils.load_data import load_logs
from utils.visualize import plot_usage
from utils.report import generate_pdf
from models.anomaly import detect_anomalies
from utils.amc import upcoming_amc_devices
st.set_page_config(page_title="LabOps Dashboard", layout="wide")
st.title("πŸ“Š Multi-Device LabOps Dashboard")
uploaded_files = st.file_uploader("Upload Device Logs (CSV)", accept_multiple_files=True)
if uploaded_files:
df = load_logs(uploaded_files)
st.subheader("πŸ“‹ Uploaded Logs")
st.dataframe(df.head())
st.subheader("πŸ“ˆ Daily Usage Chart")
st.pyplot(plot_usage(df))
st.subheader("🚨 Detected Anomalies")
anomalies = detect_anomalies(df)
st.dataframe(anomalies)
st.subheader("πŸ›  Upcoming AMC Devices")
if "amc_expiry" in df.columns:
amc_df = upcoming_amc_devices(df)
st.dataframe(amc_df)
else:
st.warning("AMC expiry column (`amc_expiry`) not found in uploaded data.")
if st.button("πŸ“„ Generate PDF Report"):
generate_pdf(df)
st.success("PDF report generated and saved.")