Kedro Mlflow Versions Save

A kedro-plugin for integration of mlflow capabilities inside kedro projects (especially machine learning model versioning and packaging)

0.12.2

1 month ago

[0.12.2] - 2024-04-18

Added

  • :construction_worker: :package: Add build distribution (instead of source only distribution) to PyPI release to make install easier and faster (#515)
  • :memo: Document the ability to update configuration at runtime (#395)

Changed

  • :sparkles: Project level CLI commands kedro mlflow init, kedro mlflow ui and kedro mlflow modelify now work even inside a subdirectory and not at the root of the kedro project to be consistent with kedro>0.19.4 (#531)

Fixed

  • :bug: Proxy import of private kedro functions _is_project and _find_kedro_project to be resilient to changes (#531)

0.12.1

3 months ago

[0.12.1] - 2024-02-09

Added

  • :sparkles: Add a km.random_name resolver which enables to use auto-generated names for kedro runs instead of pipeline name in the mlflow.yml configuration file (#426)

Fixed

0.12.0

4 months ago

[0.12.0] - 2023-12-19

Added

  • :sparkles: Add support for python 3.11 (#450, rxm7706)
  • :sparkles: :arrow_up: Add support for pydantic v2 (#476)
  • :sparkles: :arrow_up: Add support for kedro==0.19.X (#)

Changed

  • :boom: ::arrow_up:: Drop support for kedro==0.18.X series.
  • :boom: :sparkles: Change default copy_mode to "assign" in KedroPipelineModel because this is the most efficient setup (and usually the desired one) when serving a Kedro Pipeline as a Mlflow model. This is different from Kedro's default which is to deepcopy the dataset (#463).
  • :boom: :recycle: MlflowArtifactDataset.__init__ method data_set argument is renamed dataset to match new Kedro conventions (#391).
  • :boom: :recycle: Rename the following DataSets with the Dataset suffix (without capitalized S) to match new kedro conventions from kedro>=0.19 and onwards (#439, ShubhamZoro):
    • MlflowArtifactDataSet->MlflowArtifactDataset
    • MlflowAbstractModelDataSet->MlflowAbstractModelDataset
    • MlflowModelRegistryDataSet->MlflowModelRegistryDataset
    • MlflowMetricDataSet->MlflowMetricDataset
    • MlflowMetricHistoryDataSet->MlflowMetricHistoryDataset
  • :boom: :recycle: Rename the following DataSets to make their use more explicit, and use the Dataset suffix:
    • MlflowModelLoggerDataSet->MlflowModelTrackingDataset (#391)
    • MlflowModelSaverDataSet->MlflowModelLocalFileSystemDataset (#391)
    • MlflowMetricsDataSet->MlflowMetricsHistoryDataset (#440)

0.11.10

7 months ago

[0.11.10] - 2023-10-03

Fixed

  • :bug: Avoid error when using kedro==0.18.1 with TemplatedConfigLoader and no mlflow.yml configuration file (#452)

0.11.9

9 months ago

[0.11.9] - 2023-07-23

Fixed

  • :bug: Make kedro-mlflow hook log parameters when the project is configured with the OmegaConfigLoader instead of raising an error (#430)

Removed

0.11.8

1 year ago

[0.11.8] - 2023-02-13

Added

  • :sparkles: Added support for Mlflow 2.0 (#390)

  • :sparkles: The modelify command now accepts a --run-name to specifiy the run name where the model is logged (#408)

Fixed

  • :memo: Update incorrect documentation about model registry with local relative filepath (#400)

  • :bug: The modelify command now creates a conda environment based on your environment python and kedro versions instead of hardcoded python=3.7 and kedro=0.16.5 (#405)

  • :bug: The modelify command now uses correctly the --pip-requirements argument instead of raising an error (#405)

  • :bug: The modelify command now uses modelify as a default run name (#408)

0.11.7

1 year ago

[0.11.7] - 2023-01-28

Added

  • :sparkles: Added a MlflowModelRegistryDataSet in kedro_mlflow.io.models to enable fetching a mlflow model from the mlflow model registry by its name(#260)

Fixed

  • :bug: Use __default__ as a run name if the pipeline is not specified in the kedro run commmand to avoid empty names (#392)

0.11.6

1 year ago

[0.11.6] - 2023-01-09

Changed

  • :sparkles: kedro-mlflow now uses the default configuration (ignoring mlflow.yml) if an active run already exists in the process where the pipeline is started, and uses this active run for logging. This enables using kedro-mlflow with an orchestrator which starts mlflow itself before running kedro (e.g. airflow, the mlflow run command, AzureML...) (#358)

0.11.5

1 year ago

[0.11.5] - 2022-12-12

Added

  • :sparkles: Added an extra server.mlflow_registry_uri key in mlflow.yml to set the mlflow registry uri. (#260)
  • :sparkles: Add support for authorization with expiring tokens by adding an extra server.request_header_provider entry in mlflow.yml (#357)

Fixed

  • :bug: MlflowArtifactDataSet.load() now correctly loads the artifact when both artifact_path and run_id arguments are specified. Previous fix in 0.11.4 did not work because when the file already exist locally, mlflow did not download it again so tests were incorrectly passing (#362)

Removed

  • :fire: :boom: Remove reload_kedro_mlflow line magic for notebook because kedro will deprecate the entrypoint in 0.18.3. It is still possible to access the mlflow client associated to the configuration in a notebook with context.mlflow.server._mlflow_client (#349). This is not considered as a breaking change since apparently no one uses it according to a discussion with kedro's team.

0.11.4

1 year ago

[0.11.4] - 2022-10-04

Fixed

  • :bug: MlflowArtifactDataSet.load() now correctly loads the artifact when both artifact_path and run_id arguments are specified instead of raising an error (#362)