New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details โ†’ โ†’
Socket
Book a DemoSign in
Socket

mlopscli

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mlopscli - pypi Package Compare versions

Comparing version
0.1.1
to
0.1.2
+54
mlopscli/dashboard.py
import streamlit as st
import json
from pathlib import Path
ARTIFACTS_DIR = Path("mlops_artifacts")
st.set_page_config(page_title="MLOps CLI Dashboard", layout="wide")
st.title("๐Ÿš€ MLOps CLI Dashboard")
if not ARTIFACTS_DIR.exists():
st.warning("No job runs found in `mlops_artifacts/`.")
st.stop()
# List all runs (sorted latest first)
runs = sorted(ARTIFACTS_DIR.glob("run_*"), reverse=True)
selected_run = st.selectbox("๐Ÿ“ Select a job run:", runs)
pipeline_name = ""
if selected_run:
st.subheader(f"๐Ÿงพ Run: `{selected_run.name}`")
# Load metadata.json
metadata_path = selected_run / "metadata.json"
if metadata_path.exists():
with open(metadata_path) as f:
metadata = json.load(f)
pipeline_name = metadata["job_name"]
st.markdown(f"**Pipeline:** `{pipeline_name}`")
st.markdown(f"**Started at:** `{metadata['timestamp']}`")
st.subheader("๐Ÿ›  Steps")
for step in metadata.get("steps", []):
with st.expander(f"๐Ÿ”น {step['name']} ({step['status']})"):
st.markdown(f"**Script:** `{step['script']}`")
st.markdown(f"**Duration:** {step['duration']} seconds")
log_path = selected_run / "logs" / f"{step['name']}.log"
if log_path.exists():
with open(log_path) as log_file:
st.code(log_file.read(), language="bash")
else:
st.text("๐Ÿšซ No logs found for this step.")
else:
st.error("โš ๏ธ metadata.json not found for this run.")
# Show DAG image
dag_path = selected_run / f"{pipeline_name}_dag.png"
if dag_path.exists():
st.subheader("๐Ÿ“ˆ DAG")
st.image(str(dag_path))
else:
st.warning("No DAG image found.")
+1
-1

@@ -72,3 +72,3 @@ # mlopscli/cli.py

subprocess.run(["streamlit", "run", "dashboard/dashboard.py"])
subprocess.run(["streamlit", "run", "mlopscli/dashboard.py"])

@@ -75,0 +75,0 @@

Metadata-Version: 2.3
Name: mlopscli
Version: 0.1.1
Version: 0.1.2
Summary: CLI to turn DS scripts to composable pipelines.

@@ -5,0 +5,0 @@ Author: Himanshu Bajpai

[project]
name = "mlopscli"
version = "0.1.1"
version = "0.1.2"
description = "CLI to turn DS scripts to composable pipelines."

@@ -5,0 +5,0 @@ authors = [