fetch_ml/podman/test_ml_tools.py
Jeremie Fraeys 3178cdf575 Enable ML tools integration for data scientists
- Add MLflow, WandB, Streamlit, Dash, Panel, Bokeh to environment.yml
- Update security policy to allow network access for ML tools
- Modify secure_runner.py to check tool permissions
- Add test script and usage guide
- Enable localhost network access for dashboard tools
2025-12-06 15:49:21 -05:00

61 lines
1.7 KiB
Python

#!/usr/bin/env python3
"""
Test script to verify ML tools integration works
"""
import subprocess
import sys
import os
def test_tool_import(tool_name):
"""Test if a tool can be imported"""
try:
if tool_name == "mlflow":
import mlflow
print(f"{tool_name}: {mlflow.__version__}")
elif tool_name == "wandb":
import wandb
print(f"{tool_name}: {wandb.__version__}")
elif tool_name == "streamlit":
import streamlit
print(f"{tool_name}: {streamlit.__version__}")
elif tool_name == "dash":
import dash
print(f"{tool_name}: {dash.__version__}")
elif tool_name == "panel":
import panel
print(f"{tool_name}: {panel.__version__}")
elif tool_name == "bokeh":
import bokeh
print(f"{tool_name}: {bokeh.__version__}")
else:
print(f"{tool_name}: Unknown tool")
return True
except ImportError as e:
print(f"{tool_name}: {e}")
return False
def main():
print("🧪 Testing ML Tools Integration")
print("=" * 40)
tools = ["mlflow", "wandb", "streamlit", "dash", "panel", "bokeh"]
results = []
for tool in tools:
results.append(test_tool_import(tool))
print("\n" + "=" * 40)
success_count = sum(results)
total_count = len(results)
print(f"📊 Results: {success_count}/{total_count} tools available")
if success_count == total_count:
print("🎉 All ML tools are ready to use!")
return 0
else:
print("⚠️ Some tools are missing. Check environment.yml")
return 1
if __name__ == "__main__":
sys.exit(main())