Package: kedro-mlflow
General informationsPackage managerSoftware repositoryLatest releaseTotal downloadspipPyPIcondaconda-forgeCode healthBranchTestsCoverageLinksDocumentationDeploymentActivitymasterIf you like the repo, please give it a :star:What is kedro-mlflow?kedro-mlflowis akedro-pluginfor lightweight and portable integration ofmlflowcapabilities insidekedroprojects. It enforcesKedroprinciplesto make mlflow usage as production ready as possible. Its core functionalities are :versioning: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 toMlflow Tracking.model packaging: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. Consequently, you canAPI-fyor serve your Kedro pipeline with one line of code, or share a model with without worrying of the preprocessing to be made for further use. This is directly linked toMlflow Models.How do I install kedro-mlflow?Important:kedro-mlflowis only compatible withkedro>=0.16.0andmlflow>=1.0.0. If you have a project created with an older version ofKedro, see thismigration guide.kedro-mlflowis available on PyPI, so you can install it withpip:pip install kedro-mlflowIf you want to use the most up to date version of the package which is under development and not released yet, you can install the package from github:pip install --upgrade git+https://github.com/Galileo-Galilei/kedro-mlflow.gitI strongly recommend to useconda(a package manager) to create an environment and to readkedroinstallation guide.Getting startedThe documentation contains:A  "hello world" examplewhich demonstrates how you tosetup your project,version parametersanddatasets, and browse your runs in the UI.A section foradvanced machine learning versioningto show more advanced features (mlflow configuration through the plugin, package and serve a kedroPipeline...)A section to demonstrate how to usekedro-mlflowas amachine learning frameworkto deliver production ready pipelines and serve them. This section comes withan example repoyou can clone and try out.Some frequently asked questions on more advanced features:You want to log additional metrics to the run? ->TryMlflowMetricsHistoryDataset!You want to log nice dataviz of your pipeline that you register withMatplotlibWriter? ->TryMlflowArtifactDatasetto log any local files (.png, .pkl, .csv...)automagically!You want to create easily an API to share your awesome model to anyone? ->See ifpipeline_ml_factorycan fit your needsYou want to do something that is not straigthforward with current implementation? Open an issue, and let's see what happens!Release and roadmapTherelease historycentralizes packages improvements across time. The main features coming in next releases arelisted on github milestones. Feel free to upvote/downvote and discuss prioritization in associated issues.DisclaimerThis package is still in active development. We useSemVerprinciples to version our releases. Until we reach1.0.0milestone, 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 reach1.0.0milestone before Kedro does (mlflow has already reached1.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 ofkedro-mlflowto most recent ones, see themigration 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 thecontributing guidelines.Main contributorsThe following people actively maintain, enhance and discuss design to make this package as good as possible:Yolan Honoré-RougéTakieddine KadiriMany thanks toAdrian Piotr Kruszewskifor his past work on the repo.