Registry / ai-ml / kedro-mlflow

kedro-mlflow

JSON →
library2.0.3pypypi✓ verified 85d ago

A Kedro plugin that integrates MLflow for experiment tracking, model registry, and pipeline logging. Version 2.0.2 supports Kedro >=1.0.0 and MLflow >=3.0.0 (dropped support for MLflow 2.x). Released roughly every few months.

pip install kedro-mlflow
INSTALL
IMPORT
SIG · KEDRO-MLFLOW
K
kedro-mlflow
ai-mlpythonv2.0.3
Install
41.5s avg
Import
Disk
816MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.0.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 41.5s · import 0.000s · 780MB
816MB installed
● package 816MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

mlflow.yml config
kedro mlflow init
Configuration is done via CLI command, not direct import.
MlflowModelTrackingDataset
from kedro_mlflow.io.models import MlflowModelTrackingDataset
from kedro_mlflow.io import MlflowModelTrackingDataset
Common mistake: using wrong subpackage path.

Basic usage: configure Kedro project, create a Kedro session, and save a model using MlflowModelTrackingDataset.

from pathlib import Path from kedro.framework.project import configure_project configure_project(Path.cwd().name) from kedro.framework.session import KedroSession from kedro_mlflow.io.models import MlflowModelTrackingDataset import mlflow with KedroSession.create() as session: context = session.load_context() # Example: log a model with MlflowModelTrackingDataset data_set = MlflowModelTrackingDataset( filepath="model.pkl", flavor="mlflow.sklearn", model_name="test_model", save_args={"registered_model_name": "test_model"} ) # simulate using the dataset import pandas as pd data = pd.DataFrame({"a": [1, 2], "b": [3, 4]}) data_set.save(data) print("Model saved to MLflow.")
kedro --version
Debug
Known issues
breakingv2.0.0 dropped support for MLflow <3.0.0 and Kedro <1.0.0. If upgrading from v1.x, you must upgrade both Kedro and MLflow.
fix
Update Kedro to >=1.0.0 and MLflow to >=3.0.0. See migration guide.
affects: >=2.0.0
breakingv2.0.0 removed the `run_id` argument from `MlflowModelTrackingDataset`. Use `load_args={"model_uri": "models:/<model_name>/<version>"}` instead.
fix
Replace `run_id` in dataset instantiation with `load_args` containing `model_uri`.
affects: >=2.0.0
gotchaOn Databricks, autologging is enabled by default and conflicts with kedro-mlflow. You must disable autologging in mlflow.yml.
fix
Set `tracking.disable_tracking.disable_autologging: true` in mlflow.yml.
affects: all
gotchaMLflow thread-safety can cause tracking to be lost if nodes run in parallel. The plugin reopens the run before each node, but custom logging outside nodes may be lost.
fix
Ensure all MLflow logging happens inside Kedro node functions or callbacks that the plugin manages.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'kedro_mlflow'
kedro-mlflow not installed in the current environment.
fix
pip install kedro-mlflow
ImportError: cannot import name 'MlflowModelTrackingDataset' from 'kedro_mlflow.io'
The correct import path is from kedro_mlflow.io.models.
fix
Use `from kedro_mlflow.io.models import MlflowModelTrackingDataset`
mlflow.exceptions.MlflowException: Unsupported model URI scheme
Using an incorrect model URI format in load_args in MLflow 3.x.
fix
Use `load_args={"model_uri": "models:/<model_name>/<version>"}` instead of `run_id`.
Upgrade
Version history
2.0.3latest on PyPI · released May 10, 2026
Audit
Dependencies
kedrorequiredCore framework dependency; requires >=1.0.0
mlflowrequiredML tracking and model registry; requires >=3.0.0
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
kedro-mlflow — pip install kedro-mlflow · libregistry