mlrun 1.10.0rc1__py3-none-any.whl → 1.10.0rc2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mlrun might be problematic. Click here for more details.

mlrun/serving/states.py CHANGED
@@ -30,6 +30,7 @@ from typing import Any, Optional, Union, cast
30
30
  import storey.utils
31
31
 
32
32
  import mlrun
33
+ import mlrun.artifacts
33
34
  import mlrun.common.schemas as schemas
34
35
  from mlrun.datastore.datastore_profile import (
35
36
  DatastoreProfileKafkaSource,
@@ -402,6 +403,9 @@ class BaseStep(ModelObj):
402
403
  class_args=class_args,
403
404
  model_endpoint_creation_strategy=model_endpoint_creation_strategy,
404
405
  )
406
+
407
+ self.verify_model_runner_step(step)
408
+
405
409
  step = parent._steps.update(name, step)
406
410
  step.set_parent(parent)
407
411
  if not hasattr(self, "steps"):
@@ -446,6 +450,36 @@ class BaseStep(ModelObj):
446
450
  def supports_termination(self):
447
451
  return False
448
452
 
453
+ def verify_model_runner_step(self, step: "ModelRunnerStep"):
454
+ """
455
+ Verify ModelRunnerStep, can be part of Flow graph and models can not repeat in graph.
456
+ :param step: ModelRunnerStep to verify
457
+ """
458
+ if not isinstance(step, ModelRunnerStep):
459
+ return
460
+
461
+ root = self
462
+ while root.parent is not None:
463
+ root = root.parent
464
+
465
+ if not isinstance(root, RootFlowStep):
466
+ raise GraphError(
467
+ "ModelRunnerStep can be added to 'Flow' topology graph only"
468
+ )
469
+ step_model_endpoints_names = list(
470
+ step.class_args[schemas.ModelRunnerStepData.MODELS].keys()
471
+ )
472
+ # Get all model_endpoints names that are in both lists
473
+ common_endpoints_names = list(
474
+ set(root.model_endpoints_names) & set(step_model_endpoints_names)
475
+ )
476
+ if common_endpoints_names:
477
+ raise GraphError(
478
+ f"The graph already contains the model endpoints named - {common_endpoints_names}."
479
+ )
480
+ else:
481
+ root.extend_model_endpoints_names(step_model_endpoints_names)
482
+
449
483
 
450
484
  class TaskStep(BaseStep):
451
485
  """task execution step, runs a class or handler"""
@@ -1005,24 +1039,87 @@ class ModelRunnerStep(TaskStep, StepToDict):
1005
1039
  **kwargs,
1006
1040
  )
1007
1041
 
1008
- def add_model(self, model: Union[str, Model], **model_parameters) -> None:
1042
+ def add_model(
1043
+ self,
1044
+ endpoint_name: str,
1045
+ model_class: str,
1046
+ model_artifact: Optional[Union[str, mlrun.artifacts.ModelArtifact]] = None,
1047
+ labels: Optional[Union[list[str], dict[str, str]]] = None,
1048
+ creation_strategy: Optional[
1049
+ schemas.ModelEndpointCreationStrategy
1050
+ ] = schemas.ModelEndpointCreationStrategy.INPLACE,
1051
+ inputs: Optional[list[str]] = None,
1052
+ outputs: Optional[list[str]] = None,
1053
+ input_path: Optional[str] = None,
1054
+ override: bool = False,
1055
+ **model_parameters,
1056
+ ) -> None:
1009
1057
  """
1010
1058
  Add a Model to this ModelRunner.
1011
1059
 
1012
- :param model: Model class name or object
1013
- :param model_parameters: Parameters for model instantiation
1060
+ :param endpoint_name: str, will identify the model in the ModelRunnerStep, and assign model endpoint name
1061
+ :param model_class: Model class name
1062
+ :param model_artifact: model artifact or mlrun model artifact uri
1063
+ :param labels: model endpoint labels, should be list of str or mapping of str:str
1064
+ :param creation_strategy: Strategy for creating or updating the model endpoint:
1065
+ * **overwrite**:
1066
+ 1. If model endpoints with the same name exist, delete the `latest` one.
1067
+ 2. Create a new model endpoint entry and set it as `latest`.
1068
+ * **inplace** (default):
1069
+ 1. If model endpoints with the same name exist, update the `latest` entry.
1070
+ 2. Otherwise, create a new entry.
1071
+ * **archive**:
1072
+ 1. If model endpoints with the same name exist, preserve them.
1073
+ 2. Create a new model endpoint with the same name and set it to `latest`.
1074
+ :param inputs: list of the model inputs (e.g. features) ,if provided will override the inputs that
1075
+ been configured in the model artifact, please note that those inputs need to be
1076
+ equal in length and order to the inputs that model_class predict method expects
1077
+ :param outputs: list of the model outputs (e.g. labels) ,if provided will override the outputs that
1078
+ been configured in the model artifact, please note that those outputs need to be
1079
+ equal to the model_class predict method outputs (length, and order)
1080
+ :param input_path: input path inside the user event, expect scopes to be defined by dot notation
1081
+ (e.g "inputs.my_model_inputs"). expects list or dictionary type object in path.
1082
+ :param override: bool allow override existing model on the current ModelRunnerStep.
1083
+ :param model_parameters: Parameters for model instantiation
1014
1084
  """
1015
- models = self.class_args.get("models", [])
1016
- models.append((model, model_parameters))
1017
- self.class_args["models"] = models
1085
+ # TODO allow model_class as Model object as part of ML-9924
1086
+ model_parameters = model_parameters or {}
1087
+ if model_parameters.get("name", endpoint_name) != endpoint_name:
1088
+ raise mlrun.errors.MLRunInvalidArgumentError(
1089
+ "Inconsistent name for model added to ModelRunnerStep."
1090
+ )
1091
+
1092
+ models = self.class_args.get(schemas.ModelRunnerStepData.MODELS, {})
1093
+ if endpoint_name in models and not override:
1094
+ raise mlrun.errors.MLRunInvalidArgumentError(
1095
+ f"Model with name {endpoint_name} already exists in this ModelRunnerStep."
1096
+ )
1097
+
1098
+ model_parameters["name"] = endpoint_name
1099
+ monitoring_data = self.class_args.get(
1100
+ schemas.ModelRunnerStepData.MONITORING_DATA, {}
1101
+ )
1102
+ models[endpoint_name] = (model_class, model_parameters)
1103
+ monitoring_data[endpoint_name] = {
1104
+ schemas.MonitoringData.INPUTS: inputs,
1105
+ schemas.MonitoringData.OUTPUTS: outputs,
1106
+ schemas.MonitoringData.INPUT_PATH: input_path,
1107
+ schemas.MonitoringData.CREATION_STRATEGY: creation_strategy,
1108
+ schemas.MonitoringData.LABELS: labels,
1109
+ schemas.MonitoringData.MODEL_PATH: model_artifact.uri
1110
+ if isinstance(model_artifact, mlrun.artifacts.Artifact)
1111
+ else model_artifact,
1112
+ }
1113
+ self.class_args[schemas.ModelRunnerStepData.MODELS] = models
1114
+ self.class_args[schemas.ModelRunnerStepData.MONITORING_DATA] = monitoring_data
1018
1115
 
1019
1116
  def init_object(self, context, namespace, mode="sync", reset=False, **extra_kwargs):
1020
1117
  model_selector = self.class_args.get("model_selector")
1021
- models = self.class_args.get("models")
1118
+ models = self.class_args.get(schemas.ModelRunnerStepData.MODELS, {})
1022
1119
  if isinstance(model_selector, str):
1023
1120
  model_selector = get_class(model_selector, namespace)()
1024
1121
  model_objects = []
1025
- for model, model_params in models:
1122
+ for model, model_params in models.values():
1026
1123
  if not isinstance(model, Model):
1027
1124
  model = get_class(model, namespace)(**model_params)
1028
1125
  model_objects.append(model)
@@ -1256,6 +1353,8 @@ class FlowStep(BaseStep):
1256
1353
  class_args=class_args,
1257
1354
  )
1258
1355
 
1356
+ self.verify_model_runner_step(step)
1357
+
1259
1358
  after_list = after if isinstance(after, list) else [after]
1260
1359
  for after in after_list:
1261
1360
  self.insert_step(name, step, after, before)
@@ -1676,7 +1775,41 @@ class RootFlowStep(FlowStep):
1676
1775
  """root flow step"""
1677
1776
 
1678
1777
  kind = "root"
1679
- _dict_fields = ["steps", "engine", "final_step", "on_error"]
1778
+ _dict_fields = [
1779
+ "steps",
1780
+ "engine",
1781
+ "final_step",
1782
+ "on_error",
1783
+ "model_endpoints_names",
1784
+ ]
1785
+
1786
+ def __init__(
1787
+ self,
1788
+ name=None,
1789
+ steps=None,
1790
+ after: Optional[list] = None,
1791
+ engine=None,
1792
+ final_step=None,
1793
+ ):
1794
+ super().__init__(
1795
+ name,
1796
+ steps,
1797
+ after,
1798
+ engine,
1799
+ final_step,
1800
+ )
1801
+ self._models = []
1802
+
1803
+ @property
1804
+ def model_endpoints_names(self) -> list[str]:
1805
+ return self._models
1806
+
1807
+ @model_endpoints_names.setter
1808
+ def model_endpoints_names(self, models: list[str]):
1809
+ self._models = models
1810
+
1811
+ def extend_model_endpoints_names(self, model_endpoints_names: list):
1812
+ self._models.extend(model_endpoints_names)
1680
1813
 
1681
1814
 
1682
1815
  classes_map = {
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "4d532f1a4e8dd427fd5f870863084fa564680bd6",
3
- "version": "1.10.0-rc1"
2
+ "git_commit": "104d0f2f30c2896ede9efe0344f8cbaed8b5616c",
3
+ "version": "1.10.0-rc2"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.10.0rc1
3
+ Version: 1.10.0rc2
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -44,14 +44,14 @@ Requires-Dist: semver~=3.0
44
44
  Requires-Dist: dependency-injector~=4.41
45
45
  Requires-Dist: fsspec<2024.7,>=2023.9.2
46
46
  Requires-Dist: v3iofs~=0.1.17
47
- Requires-Dist: storey~=1.9.0
47
+ Requires-Dist: storey~=1.10.0
48
48
  Requires-Dist: inflection~=0.5.0
49
49
  Requires-Dist: python-dotenv~=1.0
50
50
  Requires-Dist: setuptools>=75.2
51
51
  Requires-Dist: deprecated~=1.2
52
- Requires-Dist: jinja2>=3.1.3,~=3.1
52
+ Requires-Dist: jinja2>=3.1.6,~=3.1
53
53
  Requires-Dist: orjson<4,>=3.9.15
54
- Requires-Dist: mlrun-pipelines-kfp-common~=0.5.1
54
+ Requires-Dist: mlrun-pipelines-kfp-common~=0.5.2
55
55
  Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.1
56
56
  Requires-Dist: docstring_parser~=0.16
57
57
  Requires-Dist: aiosmtplib~=3.0
@@ -79,7 +79,7 @@ Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "google-cloud"
79
79
  Requires-Dist: google-cloud==0.34; extra == "google-cloud"
80
80
  Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "google-cloud"
81
81
  Provides-Extra: kafka
82
- Requires-Dist: kafka-python~=2.0; extra == "kafka"
82
+ Requires-Dist: kafka-python~=2.1.0; extra == "kafka"
83
83
  Requires-Dist: avro~=1.11; extra == "kafka"
84
84
  Provides-Extra: redis
85
85
  Requires-Dist: redis~=4.3; extra == "redis"
@@ -139,7 +139,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "all"
139
139
  Requires-Dist: google-cloud-storage==2.14.0; extra == "all"
140
140
  Requires-Dist: google-cloud==0.34; extra == "all"
141
141
  Requires-Dist: graphviz~=0.20.0; extra == "all"
142
- Requires-Dist: kafka-python~=2.0; extra == "all"
142
+ Requires-Dist: kafka-python~=2.1.0; extra == "all"
143
143
  Requires-Dist: mlflow~=2.16; extra == "all"
144
144
  Requires-Dist: msrest~=0.6.21; extra == "all"
145
145
  Requires-Dist: oss2==2.18.1; extra == "all"
@@ -170,7 +170,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "comple
170
170
  Requires-Dist: google-cloud-storage==2.14.0; extra == "complete"
171
171
  Requires-Dist: google-cloud==0.34; extra == "complete"
172
172
  Requires-Dist: graphviz~=0.20.0; extra == "complete"
173
- Requires-Dist: kafka-python~=2.0; extra == "complete"
173
+ Requires-Dist: kafka-python~=2.1.0; extra == "complete"
174
174
  Requires-Dist: mlflow~=2.16; extra == "complete"
175
175
  Requires-Dist: msrest~=0.6.21; extra == "complete"
176
176
  Requires-Dist: oss2==2.18.1; extra == "complete"
@@ -209,7 +209,7 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete-api"
209
209
  Requires-Dist: grpcio~=1.70.0; extra == "complete-api"
210
210
  Requires-Dist: humanfriendly~=10.0; extra == "complete-api"
211
211
  Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
212
- Requires-Dist: kafka-python~=2.0; extra == "complete-api"
212
+ Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
213
213
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "complete-api"
214
214
  Requires-Dist: mlflow~=2.16; extra == "complete-api"
215
215
  Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.1; extra == "complete-api"
@@ -1,13 +1,13 @@
1
1
  mlrun/__init__.py,sha256=Cqm9U9eCEdLpMejhU2BEhubu0mHL71igJJIwYa738EA,7450
2
- mlrun/__main__.py,sha256=0NDzPf9VFRO8KFfGgb8mkGUPIDS285aASV8Hbxs-ND0,45920
2
+ mlrun/__main__.py,sha256=VdfzVztkOePCLVmQ8Ip7XgWtqEhp1wKxiZq5FbhO-lU,46353
3
3
  mlrun/config.py,sha256=bilYGInCOi4K_M8AL-GWCz5QHZRFqjFTSfnIkhMcwJ4,71918
4
- mlrun/errors.py,sha256=IyWYVaTBvV10ozr8tBUON9GstGINxiCLqTFM6Kv9O8U,8221
5
- mlrun/execution.py,sha256=5l3_njQJ_WCIYfuyhPHd1rsjJccWVodnt4QbtsbmFbc,50319
4
+ mlrun/errors.py,sha256=v_CaACo-7DH4gp1iAVWjpld3u0_tUP7KqP22fMuj-EQ,8423
5
+ mlrun/execution.py,sha256=ZUFUWj3BwCybTmxXqv9Yc42VF96qwhyuTj_bTS-5UWE,50663
6
6
  mlrun/features.py,sha256=jMEXo6NB36A6iaxNEJWzdtYwUmglYD90OIKTIEeWhE8,15841
7
7
  mlrun/k8s_utils.py,sha256=mMnGyouHoJC93ZD2KGf9neJM1pD7mR9IXLnHOEwYVTQ,21469
8
8
  mlrun/lists.py,sha256=-nbmqScRia0v2IdSHt6Pd0fLRLSEtdB9bSxyD92BWvs,8562
9
9
  mlrun/model.py,sha256=wZADXOzaKMInw6w7xRxaSzx7Xgazlf_oJtWfoqPX8bE,86301
10
- mlrun/render.py,sha256=940H9fBBFeghH4dlifbURvtjlvw4GlWdAXezN6ky4rI,13275
10
+ mlrun/render.py,sha256=5DlhD6JtzHgmj5RVlpaYiHGhX84Q7qdi4RCEUj2UMgw,13195
11
11
  mlrun/run.py,sha256=0ORoMtEq6-D1pZLHcYMb2szCFXS3P6N8XhAzu6Ud1NA,45112
12
12
  mlrun/secrets.py,sha256=dZPdkc_zzfscVQepOHUwmzFqnBavDCBXV9DQoH_eIYM,7800
13
13
  mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
@@ -21,7 +21,7 @@ mlrun/artifacts/manager.py,sha256=bqp2-VgThx5RAGEui6LwTA9EMNNq6Vu1Z_-yjBpk92c,16
21
21
  mlrun/artifacts/model.py,sha256=cad5pvEz3jmA7xgqfRUT5ojc3co0ikSD7UzO99NypQ0,22229
22
22
  mlrun/artifacts/plots.py,sha256=dS0mHGt1b20tN2JyEH9H5o5I0oMKZkzn3Uz_3Hf4WjU,4813
23
23
  mlrun/common/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
24
- mlrun/common/constants.py,sha256=14xMUX9C5BB-LxsTlMTJQf_Xz2DyRjaK9yeR5dadcDU,3426
24
+ mlrun/common/constants.py,sha256=Yj5YHANbpKHDKxZ1y5bV1wifvV3UQZ2QuvECUuYhrpM,3594
25
25
  mlrun/common/helpers.py,sha256=DIdqs_eN3gO5bZ8iFobIvx8cEiOxYxhFIyut6-O69T0,1385
26
26
  mlrun/common/secrets.py,sha256=8g9xtIw-9DGcwiZRT62a5ozSQM-aYo8yK5Ghey9WM0g,5179
27
27
  mlrun/common/types.py,sha256=1gxThbmC0Vd0U1ffIkEwz4T4S7JOgHt70rvw8TCO21c,1073
@@ -38,8 +38,8 @@ mlrun/common/formatters/project.py,sha256=4cxC5B6PKvpL2SYxxqg9vpEhoaWtart6iCIr2A
38
38
  mlrun/common/formatters/run.py,sha256=LlqhhVY4dAp5y17k_sWBtHaJogdNdtJWF0iO9sX-bUw,1059
39
39
  mlrun/common/model_monitoring/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
40
40
  mlrun/common/model_monitoring/helpers.py,sha256=AkuHz4u318MEP4ebxmNWlNXh6HiNLrI5oF7QvJiJkYc,2707
41
- mlrun/common/runtimes/constants.py,sha256=wb0Id_98jLY-RSFW2ATGZOV5Ta_mXBQ25KyO73cH4yk,12323
42
- mlrun/common/schemas/__init__.py,sha256=-A4dl2PRHmSAlTY0yOdaAuDItfnJtkJbvdXnxebttco,5343
41
+ mlrun/common/runtimes/constants.py,sha256=aa8C5WcStJuisMKBl2yALqv17tK1fwtT3T7p6TzVui0,12526
42
+ mlrun/common/schemas/__init__.py,sha256=6f5oAznWONwTb0oxEwdBomdQrv-pfymwPWu85JOWqBc,5400
43
43
  mlrun/common/schemas/alert.py,sha256=u6INAHBhQIfm-mMsGqDJo1_JDN6gOuWZa-8fOU-aOUE,10182
44
44
  mlrun/common/schemas/api_gateway.py,sha256=bgC3vXbyb1SVwsSZkLXtEoQLCe_QDKpIhAVX3X_HWW4,7126
45
45
  mlrun/common/schemas/artifact.py,sha256=-Ah1XtX3wpcNVTdnmAml9GyDcm8CmvxJnH-tHblv0L8,4248
@@ -69,7 +69,7 @@ mlrun/common/schemas/runs.py,sha256=-OJOQiorFUiWgy2DKLGovWr-xbMTJ1BC3IIVXCdyp94,
69
69
  mlrun/common/schemas/runtime_resource.py,sha256=TybJmCHJXmm1z3s5J1dd89TeFE6lG5t7vjcrf1R9YfE,1568
70
70
  mlrun/common/schemas/schedule.py,sha256=L7z9Lp06-xmFmdp0q5PypCU_DCl6zZIyQTVoJa01gfM,4291
71
71
  mlrun/common/schemas/secret.py,sha256=Td2UAeWHSAdA4nIP3rQv_PIVKVqcBnCnK6xjr528tS8,1486
72
- mlrun/common/schemas/serving.py,sha256=81ZxlDHP1fm9VPmXZGkjZj2n6cVRmqEN478hsmvv5QA,744
72
+ mlrun/common/schemas/serving.py,sha256=wQYco1DvUp8rhltLWsHwrk-sAVcIlw5PjcMvbAMnIi8,1135
73
73
  mlrun/common/schemas/tag.py,sha256=1wqEiAujsElojWb3qmuyfcaLFjXSNAAQdafkDx7fkn0,891
74
74
  mlrun/common/schemas/workflow.py,sha256=iZySnpro7UatEePH6S542c7xy9H2v1h6mx5n-gz9Oeg,2107
75
75
  mlrun/common/schemas/model_monitoring/__init__.py,sha256=SxHG-GIdcTEuFxpKzkUdT9zKaU5Xqz9qF1uCwXvZ2z8,1709
@@ -86,7 +86,7 @@ mlrun/datastore/alibaba_oss.py,sha256=k-OHVe08HjMewlkpsT657CbOiVFAfSq9_EqhCE-k86
86
86
  mlrun/datastore/azure_blob.py,sha256=SzAcHYSXkm8Zpopz2Ea-rWVClH0URocUazcNK04S9W0,12776
87
87
  mlrun/datastore/base.py,sha256=9R3lwB_L4hv5WW2q24WS62_KTh-wO4UG6pwzISZU6bM,26231
88
88
  mlrun/datastore/datastore.py,sha256=AXXPgHpSG8Ig1RtTDGfdCJu4UT-AQPC43FGBOptIVOg,9484
89
- mlrun/datastore/datastore_profile.py,sha256=RRpb5TfTDBOnZQGSr6Zlmi1QSPHRDssBlWGLIpNBHM0,23860
89
+ mlrun/datastore/datastore_profile.py,sha256=bQ5qDioFcTVq2VfOdJ-UN9g1igoSOHNLT04azItcy6M,22095
90
90
  mlrun/datastore/dbfs_store.py,sha256=QkDRzwFnvm7CgEg4NuGxes6tBgKDyhX0CiBUvK8c9pk,6568
91
91
  mlrun/datastore/filestore.py,sha256=OcykjzhbUAZ6_Cb9bGAXRL2ngsOpxXSb4rR0lyogZtM,3773
92
92
  mlrun/datastore/google_cloud_storage.py,sha256=MnToY6irdhBZ8Wcapqnr1Yq2724LAh2uPO7MAtdWfUY,8716
@@ -95,23 +95,23 @@ mlrun/datastore/inmem.py,sha256=IsM83nn-3CqmGdLzim7i9ZmJwG6ZGhBZGN6_hszWZnE,2951
95
95
  mlrun/datastore/redis.py,sha256=QeNMkSz3zQXiXZhFUZcEtViqqbUysGJditbqe5M-J48,5682
96
96
  mlrun/datastore/s3.py,sha256=lD4Fs69rwMeISovZzOxRdz_z9FuffysTdjJA9ybdnLA,9262
97
97
  mlrun/datastore/snowflake_utils.py,sha256=KBbIN8REEuQyk1tVIW33rpwORzbC0Wmj0pm43h-dInA,1481
98
- mlrun/datastore/sources.py,sha256=juPTIDpxHxbRBoTMPEG1V-6bgR3E3ufCir-Dnq_SFyg,48975
98
+ mlrun/datastore/sources.py,sha256=BiKHW7Fzyi0bRgPMbLY-edlhoYcj_UqY4IlPZgDqjbA,49386
99
99
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
100
100
  mlrun/datastore/spark_utils.py,sha256=dn0RWpYzee-M8UZw-NVuHAdqlNAZ7VO-fNtI8ZiDkyM,2864
101
101
  mlrun/datastore/store_resources.py,sha256=PFOMrZ6KH6hBOb0PiO-cHx_kv0UpHu5P2t8_mrR-lS4,6842
102
102
  mlrun/datastore/storeytargets.py,sha256=dSy9wr4IyxrIE1GHBxzVEeEY1sdU66s4w-oUuaIfa2U,6620
103
103
  mlrun/datastore/targets.py,sha256=7qLf26BDH3qYTHOR7TSP0tUMPBhYOkaaOwffUBxgqY0,81201
104
- mlrun/datastore/utils.py,sha256=x9TACyvJ5UNC0-wk4QI38b5OWO1I-qIxc6Ke9dtccZs,10603
104
+ mlrun/datastore/utils.py,sha256=fMCsO1NOVShL0TD1w2EdCw4niqzsM5wx2JCMcIpXIAI,11228
105
105
  mlrun/datastore/v3io.py,sha256=QSYBORRLcJTeM9mt0EaWzyLcdmzrPkqrF7k5uLTam5U,8209
106
106
  mlrun/datastore/vectorstore.py,sha256=k-yom5gfw20hnVG0Rg7aBEehuXwvAloZwn0cx0VGals,11708
107
107
  mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev56Te4,1343
108
108
  mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
109
109
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
110
110
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
111
- mlrun/db/base.py,sha256=4ILHlN9vMw3n78qiiTJ1997ykgDKKqxDkLl7lHVVKJg,30814
111
+ mlrun/db/base.py,sha256=fiXni5U4ZhHCA6Qxk19ORZnshZcEzc_8H1quzPkmtsc,30815
112
112
  mlrun/db/factory.py,sha256=yP2vVmveUE7LYTCHbS6lQIxP9rW--zdISWuPd_I3d_4,2111
113
- mlrun/db/httpdb.py,sha256=CTmlyQX8dITnwVGQsQYocnq9QwZfz2EsNEwxlD_FJ7w,232389
114
- mlrun/db/nopdb.py,sha256=uSva5_WRrWrEOyL8KI-Ue2GD8WmIWnW5fBzBieLjO3g,27195
113
+ mlrun/db/httpdb.py,sha256=ZpE_PWznV3ZgQSSGfXukHuNdy-M0Ed16wFUeu88miqc,232859
114
+ mlrun/db/nopdb.py,sha256=uNqqT5TPpUNL8syY-UjWsJeeCprlMrq7g6yOwuMyKhc,27196
115
115
  mlrun/feature_store/__init__.py,sha256=SlI845bWt6xX34SXunHHqhmFAR9-5v2ak8N-qpcAPGo,1328
116
116
  mlrun/feature_store/api.py,sha256=qKj5Tk6prTab6XWatWhBuPRVp0eJEctoxRMN2wz48vA,32168
117
117
  mlrun/feature_store/common.py,sha256=Z7USI-d1fo0iwBMsqMBtJflJfyuiV3BLoDXQPSAoBAs,12826
@@ -213,13 +213,13 @@ mlrun/frameworks/xgboost/model_handler.py,sha256=bJq4D1VK3rzhALovqIV5mS0LvGiTlsg
213
213
  mlrun/frameworks/xgboost/utils.py,sha256=4rShiFChzDbWJ4HoTo4qV_lj-Z89pHBAp6Z1yHmU8wA,1068
214
214
  mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
215
215
  mlrun/launcher/base.py,sha256=J3lmVdj10eLFvsze1kPXqR7_UlJOcAqArjWrObFINN4,16482
216
- mlrun/launcher/client.py,sha256=lJ3y9brmPspgwAZrUPAeu3Dn5B7mh9k3MhrbFKhNDvw,6286
216
+ mlrun/launcher/client.py,sha256=iZS5rqIf2do1XNGJ4oyQHkdQtndr48l9Mffs_xCI_NI,6280
217
217
  mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
218
218
  mlrun/launcher/local.py,sha256=9XEkWSRYokXbtL1d_XEH3yTNU2fQXX7JcUwfC_8NG_4,11457
219
219
  mlrun/launcher/remote.py,sha256=GYXsxVIwcUZ1V-cv2R3Yk4nSoUeAtRurEawrUN3AkEE,7715
220
220
  mlrun/model_monitoring/__init__.py,sha256=ELy7njEtZnz09Dc6PGZSFFEGtnwI15bJNWM3Pj4_YIs,753
221
221
  mlrun/model_monitoring/api.py,sha256=LU58dzE4QZiMH23lgiqfI__3m2E3eEZP-DQe2ioUSwM,28317
222
- mlrun/model_monitoring/controller.py,sha256=V5eLOIYsVB6SYMlDQD3--FEW2qN133D1J5I61yzMDn0,36880
222
+ mlrun/model_monitoring/controller.py,sha256=p4UphE9y-YN_ndZQykvPvJow2sAhnYj3nkuJmyIzvf4,37661
223
223
  mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
224
224
  mlrun/model_monitoring/helpers.py,sha256=8QsoYRPOVSnR3Lcv99m4XYrp_cR6hSqBUflYSOkJmFQ,21019
225
225
  mlrun/model_monitoring/stream_processing.py,sha256=Gu3TQzYoNjbreZYI73-F49QpYrod9RZOyGSgininBsA,33373
@@ -232,7 +232,7 @@ mlrun/model_monitoring/applications/context.py,sha256=VfyPCIdO4z73uqFcJs87jzSI4P
232
232
  mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
233
233
  mlrun/model_monitoring/applications/results.py,sha256=_qmj6TWT0SR2bi7gUyRKBU418eGgGoLW2_hTJ7S-ock,5782
234
234
  mlrun/model_monitoring/applications/evidently/__init__.py,sha256=-DqdPnBSrjZhFvKOu_Ie3MiFvlur9sPTZpZ1u0_1AE8,690
235
- mlrun/model_monitoring/applications/evidently/base.py,sha256=3loXT5gOn5v7j2CiXDQnA0cQXroItBSso6aU0t_pzBs,7851
235
+ mlrun/model_monitoring/applications/evidently/base.py,sha256=LYYtbP4uwfIE5QyQofFUoeSQPXx8QnncVbV-gspn1WA,7371
236
236
  mlrun/model_monitoring/db/__init__.py,sha256=r47xPGZpIfMuv8J3PQCZTSqVPMhUta4sSJCZFKcS7FM,644
237
237
  mlrun/model_monitoring/db/_schedules.py,sha256=RWn4wtKsIXg668gMLpxO9I8GlkxvPSaA5y7w-wFDcgE,9048
238
238
  mlrun/model_monitoring/db/_stats.py,sha256=VVMWLMqG3Us3ozBkLaokJF22Ewv8WKmVE1-OvS_g9vA,6943
@@ -246,7 +246,7 @@ mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py,sha256=8xo2O_yQrJ
246
246
  mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=h0ZrNgOwTlBRd_DaYDc6eeVM9f_8CLJMUPEAIrZpbyU,37803
247
247
  mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
248
248
  mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=_-zo9relCDtjGgievxAcAP9gVN9nDWs8BzGtFwTjb9M,6284
249
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=7USfELnW2pwDhjbmFb0nmdqwq7glKfYt-HE7GxPlsEM,46777
249
+ mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=aDdyHWJLOG-3EgPTJgbEzOOQf5NetpFQk_HdQbs5_zI,47160
250
250
  mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
251
251
  mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
252
252
  mlrun/package/__init__.py,sha256=v7VDyK9kDOOuDvFo4oiGV2fx-vM1KL7fdN9pGLakhUQ,7008
@@ -271,9 +271,9 @@ mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13
271
271
  mlrun/projects/__init__.py,sha256=0Krf0WIKfnZa71WthYOg0SoaTodGg3sV_hK3f_OlTPI,1220
272
272
  mlrun/projects/operations.py,sha256=bpIcEbt2mTpCzCAY_gk6NY6NUoBOTW2e6R5Qum3z-wQ,20837
273
273
  mlrun/projects/pipelines.py,sha256=wud7ezeEmhIJvfYE_wzQbA4ygEfGXHtbOtoOpan6poY,48556
274
- mlrun/projects/project.py,sha256=8MfYQGVM3ymHPflUvqBeucdS-x7-dDcol9jzcFZHCWY,236532
274
+ mlrun/projects/project.py,sha256=XS-uJqTkN_QqXDCJqS8sgA35Zl7AVvGtNHUtaDSZNy0,238615
275
275
  mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
276
- mlrun/runtimes/base.py,sha256=Lywnl1q7-ZfJbbAh_tqpidXRj9BuRFt8Ra_b3IYtEM8,38498
276
+ mlrun/runtimes/base.py,sha256=rt14frZWUNsqHKdBZLa593OkrTC4qmdJAVx1QMyJedE,38492
277
277
  mlrun/runtimes/daskjob.py,sha256=BHJ-BiAIozj9vQAnpsR0mN9xXQ7RE8aISEGPUR0d2-k,19558
278
278
  mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
279
279
  mlrun/runtimes/function_reference.py,sha256=fnMKUEieKgy4JyVLhFpDtr6JvKgOaQP8F_K2H3-Pk9U,5030
@@ -283,7 +283,7 @@ mlrun/runtimes/local.py,sha256=yedo3R1c46cB1mX7aOz8zORXswQPvX86U-_fYxXoqTY,22717
283
283
  mlrun/runtimes/mounts.py,sha256=2dkoktm3TXHe4XHmRhvC0UfvWzq2vy_13MeaW7wgyPo,18735
284
284
  mlrun/runtimes/pod.py,sha256=nucFAGTcKbN79VRs06NVmcEnahtkQAsX_9MDDum3_Zg,51755
285
285
  mlrun/runtimes/remotesparkjob.py,sha256=dod99nqz3GdRfmnBoQKfwFCXTetfuCScd2pKH3HJyoY,7394
286
- mlrun/runtimes/utils.py,sha256=3_Vu_OHlhi8f0vh_w9ii2eTKgS5dh6RVi1HwX9oDKuU,15675
286
+ mlrun/runtimes/utils.py,sha256=VFKA7dWuILAcJGia_7Pw_zBBG00wZlat7o2N6u5EItw,16284
287
287
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
288
288
  mlrun/runtimes/databricks_job/databricks_cancel_task.py,sha256=ufjcLKA5E6FSDF5CXm5l8uP_mUSFppwr5krLHln1kAU,2243
289
289
  mlrun/runtimes/databricks_job/databricks_runtime.py,sha256=qLhK_XOjso4hYH6cvN-n-c_kEeKdbDjeYnif5hnFCOg,12888
@@ -307,7 +307,7 @@ mlrun/serving/remote.py,sha256=Igha2FipK3-6rV_PZ1K464kTbiTu8rhc6SMm-HiEJ6o,18817
307
307
  mlrun/serving/routers.py,sha256=SY6AsaiSnh8ssXq8hQE2z9MYapOxFOFJBx9QomiZMO8,53915
308
308
  mlrun/serving/server.py,sha256=KiNhW0nTV5STZPzR6kEAUFVzCCAX8qv0g9AoCopARrM,23429
309
309
  mlrun/serving/serving_wrapper.py,sha256=UL9hhWCfMPcTJO_XrkvNaFvck1U1E7oS8trTZyak0cA,835
310
- mlrun/serving/states.py,sha256=PaVdgZ8GyE8bxr_-RvuSUINwHuPypJmqaQs27aEPweo,73367
310
+ mlrun/serving/states.py,sha256=alsl4Z08VPgcSdlSpmj4AOzjvp_1tbREmNvA9YsO1lU,79258
311
311
  mlrun/serving/utils.py,sha256=Zbfqm8TKNcTE8zRBezVBzpvR2WKeKeIRN7otNIaiYEc,4170
312
312
  mlrun/serving/v1_serving.py,sha256=c6J_MtpE-Tqu00-6r4eJOCO6rUasHDal9W2eBIcrl50,11853
313
313
  mlrun/serving/v2_serving.py,sha256=b3C5Utv2_AOPrH_hPi3NarjNbAK3kRoeIfqMU4qNuUo,25362
@@ -341,11 +341,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
341
341
  mlrun/utils/notifications/notification/slack.py,sha256=eQvmctTh6wIG5xVOesLLV9S1-UUCu5UEQ9JIJOor3ts,7183
342
342
  mlrun/utils/notifications/notification/webhook.py,sha256=zxh8CAlbPnTazsk6r05X5TKwqUZVOH5KBU2fJbzQlG4,5330
343
343
  mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
344
- mlrun/utils/version/version.json,sha256=NxvriF2ucqBrrrNvePMqKsLfsArk4oueUDPrSF0xK5E,89
344
+ mlrun/utils/version/version.json,sha256=u1JVxufRVjmi-Ixk_HVAIB5VaVrAhpNM6RAV3FGhPYw,89
345
345
  mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
346
- mlrun-1.10.0rc1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
347
- mlrun-1.10.0rc1.dist-info/METADATA,sha256=-RaqRCcDjnLIU9CDlU7A14qRMqkFnsa0oh8AT7oWhOg,25701
348
- mlrun-1.10.0rc1.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
349
- mlrun-1.10.0rc1.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
350
- mlrun-1.10.0rc1.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
351
- mlrun-1.10.0rc1.dist-info/RECORD,,
346
+ mlrun-1.10.0rc2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
347
+ mlrun-1.10.0rc2.dist-info/METADATA,sha256=plLmdkL4W7BOTfvibVBG36U6S_3FEcdOFa8BlUAGoEE,25710
348
+ mlrun-1.10.0rc2.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
349
+ mlrun-1.10.0rc2.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
350
+ mlrun-1.10.0rc2.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
351
+ mlrun-1.10.0rc2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.3.1)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5