General informations
| Package manager | Software repository | Latest release | Total downloads |
|---|---|---|---|
pip |
PyPI | ||
conda |
conda-forge |
Code health
| Branch | Tests | Coverage | Links | Documentation | Deployment | Activity |
|---|---|---|---|---|---|---|
master |
If you like the repo, please give it a ⭐
kedro-mlflow is a kedro-plugin for lightweight and portable integration of mlflow capabilities inside kedro projects. It enforces Kedro principles to make mlflow usage as production ready as possible. Its core functionalities are :
- experiment tracking:
kedro-mlflowintends to enhance reproducibility for machine learning experimentation. Withkedro-mlflowinstalled, you can effortlessly register your parameters or your datasets with minimal configuration in a kedro run. Later, you will be able to browse your runs in the mlflow UI, and retrieve the runs you want. This is directly linked to Mlflow Tracking. - pipeline as model:
kedro-mlflowintends to be be an agnostic machine learning framework for people who want to write portable, production ready machine learning pipelines. It offers a convenient API to convert a Kedro pipeline to amodelin the mlflow sense. This "model" is self contained : it includes preprocessing and postprocessing steps as well as artifacts produced during training. Consequently, you can serve your Kedro pipeline as an API with one line of code and share. This is directly linked to Mlflow Models.
Important: kedro-mlflow is only compatible with kedro>=0.16.0 and mlflow>=1.0.0. If you have a project created with an older version of Kedro, see this migration guide.
You can install kedro-mlflow with several tools and from several packaging platforms:
I strongly recommend to use a package manager (like conda) to create a virtual environment and to read kedro installation guide.
The documentation contains:
- A quickstart in 1 mn example which demonstrates how you to setup your project, track parameters and datasets, and browse your runs in the UI.
- A section for advanced experiment tracking to show more advanced features (mlflow configuration through the plugin, package and serve a kedro
Pipeline...) - A section to demonstrate how to use
kedro-mlflowto package kedro pipelines as mlflow models to deliver production ready pipelines and serve them. This section comes with an example repo you can clone and try out.
Some frequently asked questions on more advanced features:
- You want to log additional metrics to the run? -> Try
MlflowMetricsHistoryDataset! - You want to log nice dataviz of your pipeline that you register with
MatplotlibWriter? -> TryMlflowArtifactDatasetto log any local files (.png, .pkl, .csv...) automagically! - You want to create easily an API to share your awesome model to anyone? -> See if
pipeline_ml_factorycan fit your needs - You want to do something that is not straigthforward with current implementation? Open an issue, and let's see what happens!
The release history centralizes packages improvements across time. The main features coming in next releases are visible on the repo's project. Feel free to upvote/downvote and discuss prioritization in associated issues.
This package is still in active development. We use SemVer principles to version our releases. Since we reached 1.0.0 (compatible with kedro==1.X and mlflow==1.X or 2.X) on 27th of July 2025, breaking changes will lead to major version number increment, while releases which do not introduce breaking changes in the API will lead to minor or patch (for bugs) version number increment. Current kedro-mlflow 2.0.2 is only compatible with mlflow==3.x
If you want to migrate from an older version of kedro-mlflow to most recent ones, see the migration guide.
We'd be happy to receive help to maintain and improve the package. Any PR will be considered (from typo in the docs to core features add-on) Please check the contributing guidelines.
The following people actively maintain, enhance and discuss design to make this package as good as possible:
Many thanks to Adrian Piotr Kruszewski for his past work on the repo.
