Skip to content

Latest commit

 

History

History
85 lines (54 loc) · 11.9 KB

README.md

File metadata and controls

85 lines (54 loc) · 11.9 KB

General informations

Python Version License Code Style: Black SemVer Powered by Kedro


Package manager Software repository Latest release Total downloads
pip PyPI PyPI version Downloads
conda conda-forge conda version Downloads

Code health


Branch Tests Coverage Links Documentation Deployment Activity
master test codecov links Documentation publish commit

If you like the repo, please give it a ⭐

What is kedro-mlflow?

kedro-mlflow logo

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-mlflow intends to enhance reproducibility for machine learning experimentation. With kedro-mlflow installed, 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-mlflow intends 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 a model in 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.

How do I install kedro-mlflow?

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:

Logo Platform Command
PyPI logo PyPI pip install kedro-mlflow or uv pip install kedro-mlflow
Conda Forge logo Conda Forge conda install kedro-mlflow --channel conda-forge
GitHub logo GitHub pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow.git

I strongly recommend to use a package manager (like conda) to create a virtual environment and to read kedro installation guide.

Getting started

The documentation contains:

Some frequently asked questions on more advanced features:

Release and roadmap

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.

Disclaimer

This package is still in active development. We use SemVer principles to version our releases. Until we reach 1.0.0 milestone, breaking changes will lead to <minor> version number increment, while releases which do not introduce breaking changes in the API will lead to <patch> version number increment.

The user must be aware that we will not reach 1.0.0 milestone before Kedro does (mlflow has already reached 1.0.0). That said, the API is considered as stable from 0.8.0 version and user can reliably consider that no consequent breaking change will happen unless necessary for Kedro compatibility (e.g. for minor or major Kedro version).

If you want to migrate from an older version of kedro-mlflow to most recent ones, see the migration guide.

Can I contribute?

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.

Main contributors

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.