fetch_ml/podman/docs/ML_TOOLS_GUIDE.md
Jeremie Fraeys 7880ea8d79
refactor: reorganize podman directory structure
Organize podman/ directory into logical subdirectories:

New structure:
- docs/          - ML_TOOLS_GUIDE.md, jupyter_workflow.md
- configs/       - environment*.yml, security_policy.json
- containers/    - *.dockerfile, *.podfile
- scripts/       - *.sh, *.py (secure_runner, cli_integration, etc.)
- jupyter/       - jupyter_cookie_secret (flattened from jupyter_runtime/runtime/)
- workspace/     - Example projects (cleaned of temp files)

Cleaned workspace:
- Removed .DS_Store, mlflow.db, cache/
- Removed duplicate cli_integration.py

Removed unnecessary nesting:
- Flattened jupyter_runtime/runtime/ to just jupyter/

Improves maintainability by grouping files by purpose and eliminating root directory clutter.
2026-02-18 16:40:46 -05:00

1.3 KiB

ML Tools Integration Guide

Data scientists can now use their preferred ML tools securely!

Available Tools

  • MLflow - Experiment tracking and model registry
  • Weights & Biases - Experiment tracking and visualization
  • Streamlit - Interactive web apps
  • Dash - Plotly-based web dashboards
  • Panel - Data apps and dashboards
  • Bokeh - Interactive visualizations

Quick Start

1. Test Tools Available

cd podman
python test_ml_tools.py

2. Use MLflow

import mlflow

# Start tracking
with mlflow.start_run():
    mlflow.log_param("epochs", 10)
    mlflow.log_metric("accuracy", 0.95)

3. Launch Streamlit App

# In your secure container
streamlit run my_app.py --server.port 8501

4. Use Dash Dashboard

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash(__name__)
app.run_server(debug=True, host='0.0.0.0', port=8050)

Security Features

  • Network access limited to localhost only
  • Tools pre-approved in security policy
  • Container isolation maintained
  • No external internet access

Custom Requirements

Add your own tools via requirements.txt:

mlflow==2.7.0
wandb==0.16.0
streamlit==1.28.0

Access URLs