An MLflow plugin that integrates provenance tracking with sustainability metrics for ML experiments built on the yProv4ML library.
Report Bug
·
Request Feature
An MLflow plugin that integrates W3C PROV-compliant provenance tracking with sustainability metrics for machine learning experiments built on the yProv4ML (prov4ml) library.
- Python 3.9 or higher
- pip package manager
- Git (for installing from source)
pip install -r requirements.txt# Clone the repository
git clone https://github.com/yourusername/yProv4ML_MLflow_Plugin.git
cd yProv4ML_MLflow_Plugin
# Install the plugin in development mode
pip install .# Check that the plugin is registered
python -c "import mlflow; print(mlflow.__version__)"
# Verify prov4ml is installed
python -c "import prov4ml; print('prov4ml installed successfully')"
# Check plugin entry points
python -c "from importlib.metadata import entry_points; eps = [ep for ep in entry_points().get('mlflow.tracking_store', []) if 'yprov' in ep.name]; print(f'Found {len(eps)} yprov entry points')"
# Test basic functionality
python -c "import mlflow; mlflow.set_tracking_uri('yprov+file:///tmp/test'); print('✅ Plugin activated successfully')"The plugin activates automatically when you use the yprov+ URI scheme:
import mlflow
# 🔑 CRITICAL: Use yprov+ prefix to activate the plugin
mlflow.set_tracking_uri("yprov+file:///path/to/mlruns")
# Standard MLflow code - no changes needed!
mlflow.set_experiment("my_experiment")
with mlflow.start_run(run_name="example_run"):
# Log parameters
mlflow.log_param("learning_rate", 0.001)
mlflow.log_param("batch_size", 32)
# Log metrics
for epoch in range(5):
mlflow.log_metric("loss", 0.5 - epoch * 0.05, step=epoch)
mlflow.log_metric("accuracy", 0.7 + epoch * 0.05, step=epoch)
# Log artifacts
mlflow.log_artifact("model.pt", artifact_path="models")
# ✅ PROV JSON automatically generated in data/prov/my_experiment/- MLflow - Open source ML lifecycle platform
- yProv4ML (prov4ml) - W3C PROV provenance tracking
- CodeCarbon - Carbon emissions tracking
- W3C PROV - Provenance standard