mlrun 1.8.0rc27__py3-none-any.whl → 1.8.0rc28__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/routers.py CHANGED
@@ -389,7 +389,7 @@ class ParallelRun(BaseModelRouter):
389
389
  self._pool = executor_class(
390
390
  max_workers=len(self.routes),
391
391
  initializer=ParallelRun.init_pool,
392
- initargs=(server, routes),
392
+ initargs=(server, routes, self.context.is_mock),
393
393
  )
394
394
  elif self.executor_type == ParallelRunnerModes.thread:
395
395
  executor_class = concurrent.futures.ThreadPoolExecutor
@@ -452,9 +452,9 @@ class ParallelRun(BaseModelRouter):
452
452
  return results
453
453
 
454
454
  @staticmethod
455
- def init_pool(server_spec, routes):
455
+ def init_pool(server_spec, routes, is_mock):
456
456
  server = mlrun.serving.GraphServer.from_dict(server_spec)
457
- server.init_states(None, None)
457
+ server.init_states(None, None, is_mock=is_mock)
458
458
  global local_routes
459
459
  for route in routes.values():
460
460
  route.context = server.context
@@ -596,11 +596,6 @@ class VotingEnsemble(ParallelRun):
596
596
  self.vote_type = vote_type
597
597
  self.vote_flag = True if self.vote_type is not None else False
598
598
  self.weights = weights
599
- self._model_logger = (
600
- _ModelLogPusher(self, context)
601
- if context and context.stream.enabled
602
- else None
603
- )
604
599
  self.version = kwargs.get("version", "v1")
605
600
  self.log_router = True
606
601
  self.prediction_col_name = prediction_col_name or "prediction"
@@ -608,8 +603,12 @@ class VotingEnsemble(ParallelRun):
608
603
  self.model_endpoint_uid = None
609
604
  self.model_endpoint = None
610
605
  self.shard_by_endpoint = shard_by_endpoint
606
+ self.initialized = False
611
607
 
612
608
  def post_init(self, mode="sync", **kwargs):
609
+ self._update_weights(self.weights)
610
+
611
+ def _lazy_init(self, event_id):
613
612
  server: mlrun.serving.GraphServer = getattr(
614
613
  self.context, "_server", None
615
614
  ) or getattr(self.context, "server", None)
@@ -617,14 +616,59 @@ class VotingEnsemble(ParallelRun):
617
616
  logger.warn("GraphServer not initialized for VotingEnsemble instance")
618
617
  return
619
618
  if not self.context.is_mock or self.context.monitoring_mock:
620
- self.model_endpoint = mlrun.get_run_db().get_model_endpoint(
621
- project=server.project,
622
- name=self.name,
623
- function_name=server.function_name,
624
- function_tag=server.function_tag or "latest",
625
- )
626
- self.model_endpoint_uid = self.model_endpoint.metadata.uid
627
- self._update_weights(self.weights)
619
+ if server.model_endpoint_creation_task_name:
620
+ background_task = mlrun.get_run_db().get_project_background_task(
621
+ server.project, server.model_endpoint_creation_task_name
622
+ )
623
+ logger.info(
624
+ "Checking model endpoint creation task status",
625
+ task_name=server.model_endpoint_creation_task_name,
626
+ )
627
+ if (
628
+ background_task.status.state
629
+ in mlrun.common.schemas.BackgroundTaskState.terminal_states()
630
+ ):
631
+ logger.info(
632
+ f"Model endpoint creation task completed with state {background_task.status.state}"
633
+ )
634
+ else: # in progress
635
+ logger.debug(
636
+ f"Model endpoint creation task is still in progress with the current state: "
637
+ f"{background_task.status.state}. This event will not be monitored.",
638
+ name=self.name,
639
+ event_id=event_id,
640
+ )
641
+ self.initialized = False
642
+ return
643
+ else:
644
+ logger.info(
645
+ "Model endpoint creation task name not provided",
646
+ )
647
+ try:
648
+ self.model_endpoint_uid = (
649
+ mlrun.get_run_db()
650
+ .get_model_endpoint(
651
+ project=server.project,
652
+ name=self.name,
653
+ function_name=server.function_name,
654
+ function_tag=server.function_tag or "latest",
655
+ tsdb_metrics=False,
656
+ )
657
+ .metadata.uid
658
+ )
659
+ except mlrun.errors.MLRunNotFoundError:
660
+ logger.info(
661
+ "Model endpoint not found for this step; monitoring for this model will not be performed",
662
+ function_name=server.function_name,
663
+ name=self.name,
664
+ )
665
+ self.model_endpoint_uid = None
666
+ self._model_logger = (
667
+ _ModelLogPusher(self, self.context)
668
+ if self.context and self.context.stream.enabled and self.model_endpoint_uid
669
+ else None
670
+ )
671
+ self.initialized = True
628
672
 
629
673
  def _resolve_route(self, body, urlpath):
630
674
  """Resolves the appropriate model to send the event to.
@@ -829,8 +873,9 @@ class VotingEnsemble(ParallelRun):
829
873
  Response
830
874
  Event response after running the requested logic
831
875
  """
876
+ if not self.initialized:
877
+ self._lazy_init(event.id)
832
878
  start = now_date()
833
-
834
879
  # Handle and verify the request
835
880
  original_body = event.body
836
881
  event.body = _extract_input_data(self._input_path, event.body)
mlrun/serving/server.py CHANGED
@@ -112,6 +112,7 @@ class GraphServer(ModelObj):
112
112
  function_name=None,
113
113
  function_tag=None,
114
114
  project=None,
115
+ model_endpoint_creation_task_name=None,
115
116
  ):
116
117
  self._graph = None
117
118
  self.graph: Union[RouterStep, RootFlowStep] = graph
@@ -137,6 +138,7 @@ class GraphServer(ModelObj):
137
138
  self.function_name = function_name
138
139
  self.function_tag = function_tag
139
140
  self.project = project
141
+ self.model_endpoint_creation_task_name = model_endpoint_creation_task_name
140
142
 
141
143
  def set_current_function(self, function):
142
144
  """set which child function this server is currently running on"""
@@ -332,6 +334,7 @@ def v2_serving_init(context, namespace=None):
332
334
  context.logger.info("Initializing server from spec")
333
335
  spec = mlrun.utils.get_serving_spec()
334
336
  server = GraphServer.from_dict(spec)
337
+
335
338
  if config.log_level.lower() == "debug":
336
339
  server.verbose = True
337
340
  if hasattr(context, "trigger"):
@@ -544,11 +547,19 @@ class GraphContext:
544
547
  self.get_store_resource = None
545
548
  self.get_table = None
546
549
  self.is_mock = False
550
+ self.monitoring_mock = False
551
+ self._project_obj = None
547
552
 
548
553
  @property
549
554
  def server(self):
550
555
  return self._server
551
556
 
557
+ @property
558
+ def project_obj(self):
559
+ if not self._project_obj:
560
+ self._project_obj = mlrun.get_run_db().get_project(name=self.project)
561
+ return self._project_obj
562
+
552
563
  @property
553
564
  def project(self) -> str:
554
565
  """current project name (for the current function)"""
mlrun/serving/states.py CHANGED
@@ -595,10 +595,6 @@ class TaskStep(BaseStep):
595
595
  creation_strategy=self.model_endpoint_creation_strategy,
596
596
  endpoint_type=self.endpoint_type,
597
597
  )
598
- if hasattr(self._object, "model_endpoint_uid"):
599
- self.endpoint_uid = self._object.model_endpoint_uid
600
- if hasattr(self._object, "name"):
601
- self.endpoint_name = self._object.name
602
598
 
603
599
  def respond(self):
604
600
  """mark this step as the responder.
@@ -115,9 +115,9 @@ class V2ModelServer(StepToDict):
115
115
  self.model = model
116
116
  self.ready = True
117
117
  self.model_endpoint_uid = None
118
- self.model_endpoint = None
119
118
  self.shard_by_endpoint = shard_by_endpoint
120
119
  self._model_logger = None
120
+ self.initialized = False
121
121
 
122
122
  def _load_and_update_state(self):
123
123
  try:
@@ -139,36 +139,69 @@ class V2ModelServer(StepToDict):
139
139
  else:
140
140
  self._load_and_update_state()
141
141
 
142
+ def _lazy_init(self, event_id):
142
143
  server: mlrun.serving.GraphServer = getattr(
143
144
  self.context, "_server", None
144
145
  ) or getattr(self.context, "server", None)
145
146
  if not server:
146
147
  logger.warn("GraphServer not initialized for VotingEnsemble instance")
147
148
  return
148
-
149
149
  if not self.context.is_mock and not self.model_spec:
150
150
  self.get_model()
151
151
  if not self.context.is_mock or self.context.monitoring_mock:
152
+ if server.model_endpoint_creation_task_name:
153
+ background_task = mlrun.get_run_db().get_project_background_task(
154
+ server.project, server.model_endpoint_creation_task_name
155
+ )
156
+ logger.debug(
157
+ "Checking model endpoint creation task status",
158
+ task_name=server.model_endpoint_creation_task_name,
159
+ )
160
+ if (
161
+ background_task.status.state
162
+ in mlrun.common.schemas.BackgroundTaskState.terminal_states()
163
+ ):
164
+ logger.debug(
165
+ f"Model endpoint creation task completed with state {background_task.status.state}"
166
+ )
167
+ else: # in progress
168
+ logger.debug(
169
+ f"Model endpoint creation task is still in progress with the current state: "
170
+ f"{background_task.status.state}. This event will not be monitored.",
171
+ name=self.name,
172
+ event_id=event_id,
173
+ )
174
+ self.initialized = False
175
+ return
176
+ else:
177
+ logger.debug(
178
+ "Model endpoint creation task name not provided",
179
+ )
152
180
  try:
153
- self.model_endpoint = mlrun.get_run_db().get_model_endpoint(
154
- project=server.project,
155
- name=self.name,
156
- function_name=server.function_name,
157
- function_tag=server.function_tag or "latest",
181
+ self.model_endpoint_uid = (
182
+ mlrun.get_run_db()
183
+ .get_model_endpoint(
184
+ project=server.project,
185
+ name=self.name,
186
+ function_name=server.function_name,
187
+ function_tag=server.function_tag or "latest",
188
+ tsdb_metrics=False,
189
+ )
190
+ .metadata.uid
158
191
  )
159
- self.model_endpoint_uid = self.model_endpoint.metadata.uid
160
192
  except mlrun.errors.MLRunNotFoundError:
161
193
  logger.info(
162
- "Model Endpoint not found for this step we will not monitor this model",
194
+ "Model endpoint not found for this step; monitoring for this model will not be performed",
163
195
  function_name=server.function_name,
164
196
  name=self.name,
165
197
  )
166
- self.model_endpoint, self.model_endpoint_uid = None, None
198
+ self.model_endpoint_uid = None
167
199
  self._model_logger = (
168
200
  _ModelLogPusher(self, self.context)
169
201
  if self.context and self.context.stream.enabled and self.model_endpoint_uid
170
202
  else None
171
203
  )
204
+ self.initialized = True
172
205
 
173
206
  def get_param(self, key: str, default=None):
174
207
  """get param by key (specified in the model or the function)"""
@@ -246,6 +279,8 @@ class V2ModelServer(StepToDict):
246
279
 
247
280
  def do_event(self, event, *args, **kwargs):
248
281
  """main model event handler method"""
282
+ if not self.initialized:
283
+ self._lazy_init(event.id)
249
284
  start = now_date()
250
285
  original_body = event.body
251
286
  event_body = _extract_input_data(self._input_path, event.body)
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "c482a37271171c5e81f9f977f8c1d584431826a7",
3
- "version": "1.8.0-rc27"
2
+ "git_commit": "f7d4248834e0690d0e02b88fe62c16f9b40378e0",
3
+ "version": "1.8.0-rc28"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mlrun
3
- Version: 1.8.0rc27
3
+ Version: 1.8.0rc28
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,7 +44,7 @@ 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.8.8
47
+ Requires-Dist: storey~=1.8.9
48
48
  Requires-Dist: inflection~=0.5.0
49
49
  Requires-Dist: python-dotenv~=1.0
50
50
  Requires-Dist: setuptools>=75.2
@@ -120,6 +120,7 @@ Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
120
120
  Requires-Dist: aiosmtplib~=3.0; extra == "api"
121
121
  Requires-Dist: pydantic<2,>=1; extra == "api"
122
122
  Requires-Dist: mlrun-pipelines-kfp-v1-8[kfp]~=0.3.5; python_version < "3.11" and extra == "api"
123
+ Requires-Dist: grpcio~=1.70.0; extra == "api"
123
124
  Provides-Extra: all
124
125
  Requires-Dist: adlfs==2023.9.0; extra == "all"
125
126
  Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "all"
@@ -208,6 +209,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "comple
208
209
  Requires-Dist: google-cloud-storage==2.14.0; extra == "complete-api"
209
210
  Requires-Dist: google-cloud==0.34; extra == "complete-api"
210
211
  Requires-Dist: graphviz~=0.20.0; extra == "complete-api"
212
+ Requires-Dist: grpcio~=1.70.0; extra == "complete-api"
211
213
  Requires-Dist: humanfriendly~=10.0; extra == "complete-api"
212
214
  Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
213
215
  Requires-Dist: kafka-python~=2.0; extra == "complete-api"
@@ -1,8 +1,8 @@
1
1
  mlrun/__init__.py,sha256=zS40Lp5ZKivLBlNDkv-OQmVvwDib7C-cCdtD6UKXe28,8808
2
2
  mlrun/__main__.py,sha256=ysteSDo1LYe_YOXVdIVEJ3BhLPOfBngkEfRg5iaGGg4,46202
3
- mlrun/config.py,sha256=4m3fSgKZyYNXw15rJFzEXLFj4ZgEOaTiNTZ4iEly6PE,71882
3
+ mlrun/config.py,sha256=a9BFpySYq9kUHpe0fW1xTGAK13tEl8eZoqtlp-E4Aos,72234
4
4
  mlrun/errors.py,sha256=LkcbXTLANGdsgo2CRX2pdbyNmt--lMsjGv0XZMgP-Nc,8222
5
- mlrun/execution.py,sha256=TIrCxh-FC2VYyVaz_-xVUfOkY3jJh26NUaFt0ZGlIto,49548
5
+ mlrun/execution.py,sha256=FUktsD3puSFjc3LZJU35b-OmFBrBPBNntViCLQVuwnk,50008
6
6
  mlrun/features.py,sha256=ReBaNGsBYXqcbgI012n-SO_j6oHIbk_Vpv0CGPXbUmo,15842
7
7
  mlrun/k8s_utils.py,sha256=mRQMs6NzPq36vx1n5_2BfFapXysc8wv3NcrZ77_2ANA,8949
8
8
  mlrun/lists.py,sha256=-nbmqScRia0v2IdSHt6Pd0fLRLSEtdB9bSxyD92BWvs,8562
@@ -16,7 +16,7 @@ mlrun/api/schemas/__init__.py,sha256=fEWH4I8hr5AdRJ7yoW44RlFB6NHkYDxyomP5J6ct1z4
16
16
  mlrun/artifacts/__init__.py,sha256=ofC2extBCOC1wg1YtdTzWzH3eeG_f-sFBUkHjYtZJpk,1175
17
17
  mlrun/artifacts/base.py,sha256=nz2ZqC74JGfWN0M6_hOXXQj3bXSTxNp4eUgvWHVcdvY,29979
18
18
  mlrun/artifacts/dataset.py,sha256=QTot5vCgLHatlIWwNnKbWdZ8HHTxaZ7wk4gWQDoqQ2k,16655
19
- mlrun/artifacts/document.py,sha256=O2nZhM47y6-miy47cIEBzLZyW92ZT2rxa-TMCAJlNY0,17181
19
+ mlrun/artifacts/document.py,sha256=7OvuMlBmvMfHH3UDNto8EAsgHlEL8CVT9r40aq46VxQ,17464
20
20
  mlrun/artifacts/manager.py,sha256=bXb70mKF6wIGs7syCiFfGnjalqx4g9bO_J5DaVzUUKw,16163
21
21
  mlrun/artifacts/model.py,sha256=H5g7rINXol_aTcYIQaKRx1CO90b1h_3aajsItqef4-w,22144
22
22
  mlrun/artifacts/plots.py,sha256=dS0mHGt1b20tN2JyEH9H5o5I0oMKZkzn3Uz_3Hf4WjU,4813
@@ -69,6 +69,7 @@ mlrun/common/schemas/runs.py,sha256=-OJOQiorFUiWgy2DKLGovWr-xbMTJ1BC3IIVXCdyp94,
69
69
  mlrun/common/schemas/runtime_resource.py,sha256=74EGmk1iODg-wV0cn2ew44ZX20nqJMowgj-gNsh0vyU,1569
70
70
  mlrun/common/schemas/schedule.py,sha256=LTWdZ4FvKDGkmmfyqKoBQ36VFqnnyIYLnq1I6qrTPyo,4292
71
71
  mlrun/common/schemas/secret.py,sha256=CCxFYiPwJtDxwg2VVJH9nUG9cAZ2a34IjeuaWv-BYlc,1487
72
+ mlrun/common/schemas/serving.py,sha256=81ZxlDHP1fm9VPmXZGkjZj2n6cVRmqEN478hsmvv5QA,744
72
73
  mlrun/common/schemas/tag.py,sha256=HRZi5QZ4vVGaCr2AMk9eJgcNiAIXmH4YDc8a4fvF770,893
73
74
  mlrun/common/schemas/workflow.py,sha256=6u9niXfXpV-_c2rZL97gFIdAnOfM5WK-OCbrM5Kk34s,2108
74
75
  mlrun/common/schemas/model_monitoring/__init__.py,sha256=jz0fvdn8BEecgUCKhiSNH6QtFhSW4O19Ql9KXo0AxOg,1900
@@ -83,7 +84,7 @@ mlrun/data_types/to_pandas.py,sha256=KOy0FLXPJirsgH6szcC5BI6t70yVDCjuo6LmuYHNTuI
83
84
  mlrun/datastore/__init__.py,sha256=ca-9rcmxMimZKq3EHetpptZQ5udkf4O0sm37D7NWaXE,4128
84
85
  mlrun/datastore/alibaba_oss.py,sha256=k-OHVe08HjMewlkpsT657CbOiVFAfSq9_EqhCE-k86s,4940
85
86
  mlrun/datastore/azure_blob.py,sha256=SzAcHYSXkm8Zpopz2Ea-rWVClH0URocUazcNK04S9W0,12776
86
- mlrun/datastore/base.py,sha256=Dqg8PqX0TFKHZg27Dgguc3RnQ1GABZiLf87p5ErTqJs,26448
87
+ mlrun/datastore/base.py,sha256=5WYsdmE_Nog2mflRfI5bOP9X5qW39xzM0TdVZXxhaHM,26308
87
88
  mlrun/datastore/datastore.py,sha256=frUYYP4i8ZmnY8GNXSgN_3x_exRgRPfxrCtAGEUifEU,9478
88
89
  mlrun/datastore/datastore_profile.py,sha256=ZQyxwTTPLawfVeZObScGqoK89iqDcr358kuCtaMH_vM,23714
89
90
  mlrun/datastore/dbfs_store.py,sha256=QkDRzwFnvm7CgEg4NuGxes6tBgKDyhX0CiBUvK8c9pk,6568
@@ -92,7 +93,7 @@ mlrun/datastore/google_cloud_storage.py,sha256=MnToY6irdhBZ8Wcapqnr1Yq2724LAh2uP
92
93
  mlrun/datastore/hdfs.py,sha256=NhxvPojQQDEm0xzB6RcvnD4uLZOxfHHKYWV4gwzG7D4,1928
93
94
  mlrun/datastore/inmem.py,sha256=IsM83nn-3CqmGdLzim7i9ZmJwG6ZGhBZGN6_hszWZnE,2951
94
95
  mlrun/datastore/redis.py,sha256=QeNMkSz3zQXiXZhFUZcEtViqqbUysGJditbqe5M-J48,5682
95
- mlrun/datastore/s3.py,sha256=U6487yQP8njrquZWvxHMPm_Q9gGOr4moCYWZ-U87U-c,9046
96
+ mlrun/datastore/s3.py,sha256=GjJnQLrigCqU9_ukRWv1pKhxfUtrMGFBUp6fmpPXUCY,9224
96
97
  mlrun/datastore/snowflake_utils.py,sha256=Wohvnlmq8j1d98RCaknll-iWdZZpSlCrKhUOEy0_-CA,1483
97
98
  mlrun/datastore/sources.py,sha256=ypRaFyQHlzB_24tAw3VBvnig075rdv2ybjTIR4WQwHc,49414
98
99
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
@@ -107,10 +108,10 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
107
108
  mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
108
109
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
109
110
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
110
- mlrun/db/base.py,sha256=JQMligePluOeS2c3XX0IAk91k92U13-qCC-ZY61y0Ps,30716
111
+ mlrun/db/base.py,sha256=jVM_M5_K0EyOSEwxQokGTM6dKKsMcy5LnFGDtVpKkgc,30678
111
112
  mlrun/db/factory.py,sha256=yP2vVmveUE7LYTCHbS6lQIxP9rW--zdISWuPd_I3d_4,2111
112
- mlrun/db/httpdb.py,sha256=ijCMWi60dIdIP3jSQAxsQqj9EjnC_abDv3kGfDDjm-w,231735
113
- mlrun/db/nopdb.py,sha256=I_0SkOY0pi5aTdNSiEaNcPSLENT8CBBy1OVRKCTGsvw,27151
113
+ mlrun/db/httpdb.py,sha256=0nc1_xWzAH9FqE4jHcjY_q0Tk0dxhMh9pn4Tt59j3C0,231383
114
+ mlrun/db/nopdb.py,sha256=dtyUqnleBN7i59xfgjMB4e-aGM_Oj6ONOIzMKxG3UlM,27113
114
115
  mlrun/feature_store/__init__.py,sha256=AVnY2AFUNc2dKxLLUMx2K3Wo1eGviv0brDcYlDnmtf4,1506
115
116
  mlrun/feature_store/api.py,sha256=qkojZpzqGAn3r9ww0ynBRKOs8ji8URaK4DSYD4SE-CE,50395
116
117
  mlrun/feature_store/common.py,sha256=Z7USI-d1fo0iwBMsqMBtJflJfyuiV3BLoDXQPSAoBAs,12826
@@ -217,23 +218,23 @@ mlrun/launcher/local.py,sha256=775HY-8S9LFUX5ubGXrLO0N1lVh8bn-DHFmNYuNqQPA,11451
217
218
  mlrun/launcher/remote.py,sha256=rLJW4UAnUT5iUb4BsGBOAV3K4R29a0X4lFtRkVKlyYU,7709
218
219
  mlrun/model_monitoring/__init__.py,sha256=ELy7njEtZnz09Dc6PGZSFFEGtnwI15bJNWM3Pj4_YIs,753
219
220
  mlrun/model_monitoring/api.py,sha256=nH5aEUkmUEJF0CurrWJxmxVv1tQed2yzCLhQByG1L00,28561
220
- mlrun/model_monitoring/controller.py,sha256=1SdrYC3n9nDOOM6G2dE0RgWnaq0o7u7sw2U2gJTpBPs,26516
221
+ mlrun/model_monitoring/controller.py,sha256=vflE-BW5RW7g3upVnWjbi0O5oQOr6eRkmvo2FDeQEV4,28849
221
222
  mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
222
223
  mlrun/model_monitoring/helpers.py,sha256=nJhR7pQGzDGQDjGybV-pUyo4Eyt4OAeqqZ1aSEgs2lI,18328
223
- mlrun/model_monitoring/stream_processing.py,sha256=xBN8LZ_MYkdAyXruRRYDysbkRlCMoI4XIXJlMgVqaGw,35092
224
+ mlrun/model_monitoring/stream_processing.py,sha256=s68kJUXrH9By-h6YBndLLEWJyyLupQEM1cFBW4qRap8,35039
224
225
  mlrun/model_monitoring/tracking_policy.py,sha256=PBIGrUYWrwcE5gwXupBIVzOb0QRRwPJsgQm_yLGQxB4,5595
225
226
  mlrun/model_monitoring/writer.py,sha256=vbL7bqTyNu8q4bNcebX72sUMybVDAoTWg-CXq4fov3Y,8429
226
227
  mlrun/model_monitoring/applications/__init__.py,sha256=QYvzgCutFdAkzqKPD3mvkX_3c1X4tzd-kW8ojUOE9ic,889
227
- mlrun/model_monitoring/applications/_application_steps.py,sha256=q4Dd7EtPPqrvLoBHh3eViu22_RF3CpnWBg7NN3aT_SM,7225
228
- mlrun/model_monitoring/applications/base.py,sha256=pqmZ67zaslIkcJlsjcUG6TWjbBTD_fYci6rlEvbFttc,15091
229
- mlrun/model_monitoring/applications/context.py,sha256=kE_8h7eoUES_bFG2s7nENRziMFB72fJvAZ3KpIBWxOo,15084
228
+ mlrun/model_monitoring/applications/_application_steps.py,sha256=T_WUbQJyGGKQ4ZK5_635wuqDWYqaRe7xXxbo5LwrRz8,7293
229
+ mlrun/model_monitoring/applications/base.py,sha256=BoeL4XiWHG9pqGB0eRqm8xkKaDZ3UYZj7g_zXaTGLqw,19873
230
+ mlrun/model_monitoring/applications/context.py,sha256=892IMOHU_0RwCliRxKHB0A6obARe1YAKlhL2xK2oo1c,15056
230
231
  mlrun/model_monitoring/applications/evidently_base.py,sha256=hRjXuXf6xf8sbjGt9yYfGDUGnvS5rV3W7tkJroF3QJA,5098
231
232
  mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=G26_4gQfcwDZe3S6SIZ4Uc_qyrHAJ6lDTFOQGkbfQR8,14455
232
233
  mlrun/model_monitoring/applications/results.py,sha256=oh1z9oacWWP4azVXm_Fx7j8uXSfdkB9T4mtGwyPBveE,5748
233
234
  mlrun/model_monitoring/db/__init__.py,sha256=r47xPGZpIfMuv8J3PQCZTSqVPMhUta4sSJCZFKcS7FM,644
234
- mlrun/model_monitoring/db/_schedules.py,sha256=NTO1rbSyhW1JidpBDSN39ZBD0ctp5pbJFYQwxKRIRrs,5821
235
+ mlrun/model_monitoring/db/_schedules.py,sha256=AKyCJBAt0opNE3K3pg2TjCoD_afk1LKw5TY88rLQ2VA,6097
235
236
  mlrun/model_monitoring/db/_stats.py,sha256=VVMWLMqG3Us3ozBkLaokJF22Ewv8WKmVE1-OvS_g9vA,6943
236
- mlrun/model_monitoring/db/tsdb/__init__.py,sha256=YchAn6KfmQ9kiBU31vUpU1z1FbcDWRy6I2ngjcdIx48,4209
237
+ mlrun/model_monitoring/db/tsdb/__init__.py,sha256=vyyERKOG1jTPtiIDBrRbffodtFcD_FnUPaBHikHNYzU,4512
237
238
  mlrun/model_monitoring/db/tsdb/base.py,sha256=JjLBzZXE4ZxtBmihVXjUYZ2HKmgqX03ZhUynXp4948o,25372
238
239
  mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
239
240
  mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
@@ -267,17 +268,17 @@ mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13
267
268
  mlrun/projects/__init__.py,sha256=0Krf0WIKfnZa71WthYOg0SoaTodGg3sV_hK3f_OlTPI,1220
268
269
  mlrun/projects/operations.py,sha256=VXUlMrouFTls-I-bMhdN5pPfQ34TR7bFQ-NUSWNvl84,20029
269
270
  mlrun/projects/pipelines.py,sha256=3UmjPKKAKKttdAOFnv_3vF0YLU1LHKQqUO2xp0K5yng,47915
270
- mlrun/projects/project.py,sha256=xf4YbbzVaFh8Z4c8PfKxPTv7sgd2c7pwEsQYmfLjxFE,234809
271
+ mlrun/projects/project.py,sha256=fInyjyl_v4XeTsYQxnzmHNApWOgD5rKWvsgf4Vo1FAc,236088
271
272
  mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
272
- mlrun/runtimes/base.py,sha256=Yt2l7srrXjK783cunBEKH0yQxQZRH8lkedXNOXuLbbo,37841
273
+ mlrun/runtimes/base.py,sha256=aAEGZKPkcFs30UzURS7al3xYEDDARpJQ8kFhtBKUhik,37845
273
274
  mlrun/runtimes/daskjob.py,sha256=JwuGvOiPsxEDHHMMUS4Oie4hLlYYIZwihAl6DjroTY0,19521
274
275
  mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
275
276
  mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51PFr8Q4mg,4918
276
- mlrun/runtimes/generators.py,sha256=ysV91D7A57Ykb0SsNyqnnDQcmPiyjaTI1C-IMxUzTh0,7279
277
+ mlrun/runtimes/generators.py,sha256=X8NDlCEPveDDPOHtOGcSpbl3pAVM3DP7fuPj5xVhxEY,7290
277
278
  mlrun/runtimes/kubejob.py,sha256=gJnlAJ0RJw65yeiIPuLEjxJkDYfbpRgS3lyWkDDFXTk,8797
278
279
  mlrun/runtimes/local.py,sha256=yedo3R1c46cB1mX7aOz8zORXswQPvX86U-_fYxXoqTY,22717
279
280
  mlrun/runtimes/mounts.py,sha256=pGQlnsNTUxAhFMWLS_53E784z-IH9a6oQjKjSp1gbJE,18733
280
- mlrun/runtimes/pod.py,sha256=76YdMB4165kCwSemEeobAzT2i7P3dKkll8gSKp97qpQ,67788
281
+ mlrun/runtimes/pod.py,sha256=VsxviESdIW9eMM4XUnpIQk8OlRiCEUbZpI68Mmwy5Ro,67708
281
282
  mlrun/runtimes/remotesparkjob.py,sha256=dod99nqz3GdRfmnBoQKfwFCXTetfuCScd2pKH3HJyoY,7394
282
283
  mlrun/runtimes/utils.py,sha256=3_Vu_OHlhi8f0vh_w9ii2eTKgS5dh6RVi1HwX9oDKuU,15675
283
284
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
@@ -289,9 +290,9 @@ mlrun/runtimes/mpijob/abstract.py,sha256=JGMjcJ4dvpJbctF6psU9UvYyNCutMxTMgBQeTlz
289
290
  mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
290
291
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
291
292
  mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
292
- mlrun/runtimes/nuclio/function.py,sha256=Bff8Veg-eaqNrQ7yn20HpRhwAO4OA7FTnzXnAyoaBPU,52365
293
+ mlrun/runtimes/nuclio/function.py,sha256=pGI8cjQgJQBB3k64cw9N2ruOxpOxt5d-INc5o5KeujI,53955
293
294
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
294
- mlrun/runtimes/nuclio/serving.py,sha256=ycRbZysdaEcpHZVqzSqGZys9ZjdGFrAECBfJATQfzfo,31997
295
+ mlrun/runtimes/nuclio/serving.py,sha256=SfvRcujt4EYYWwpNSJgozGhbn85OOSmpIrQNSOJYPCs,32222
295
296
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
296
297
  mlrun/runtimes/nuclio/application/application.py,sha256=HlEq4A6hbFqr3Ba3TL4m7nbmfMYI06Zb_NAKGjzkEFU,29242
297
298
  mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=JIIYae6bXzCLf3jXuu49KWPQYoXr_FDQ2Rbo1OWKAd0,3150
@@ -300,13 +301,13 @@ mlrun/runtimes/sparkjob/spark3job.py,sha256=E777WdlSe7Yx2kpg1bK0zZokn93bOQiUbtvt
300
301
  mlrun/serving/__init__.py,sha256=FhOlOCnBC5HFXOHzSDe4NHBs6mNUDP_Qqy6WMNsCwws,1307
301
302
  mlrun/serving/merger.py,sha256=qtPJacx94Tsz_-8L3J_-aS2NEsTdechZkQzJmyHjmig,6195
302
303
  mlrun/serving/remote.py,sha256=gxJkj_J3j-sZcVUbUzbAmJafP6t6y4NVFsu0kWmYngA,18818
303
- mlrun/serving/routers.py,sha256=A_R34_N6uYw2veK58WpffEp1NsFwq0XbNU9is2Nd7s8,50901
304
- mlrun/serving/server.py,sha256=dh8WQ0yEAhDvun1VA_DI5HBfywsACCrxBKn06bIjm1c,22843
304
+ mlrun/serving/routers.py,sha256=t8b1XDw6AgZ8wyR9Ei0GNWPyL82tXG5GhXEoTXjnKXw,52980
305
+ mlrun/serving/server.py,sha256=dt_3tvzO1akIou3RNnrFCAOm_dI3hPMabAfjx9M6glo,23236
305
306
  mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
306
- mlrun/serving/states.py,sha256=8-hXWNK3kJj3FH5AKAfYr93br3og6xb53jzTR6hKVEU,70443
307
+ mlrun/serving/states.py,sha256=Ud2-xCuvArBD1EFJRKVrVx-LqyhutjGwSkXSEDA5Zzk,70214
307
308
  mlrun/serving/utils.py,sha256=k2EIYDWHUGkE-IBI6T0UNT32fw-KySsccIJM_LObI00,4171
308
309
  mlrun/serving/v1_serving.py,sha256=c6J_MtpE-Tqu00-6r4eJOCO6rUasHDal9W2eBIcrl50,11853
309
- mlrun/serving/v2_serving.py,sha256=pN49K7HOh1C1pAwAo_89FGB2HsLw0BO38unmUF3jE48,22956
310
+ mlrun/serving/v2_serving.py,sha256=8cjpAjFdbx0j0OJZqh7vsY241Z7fLosnMg8EyiBXk54,24508
310
311
  mlrun/track/__init__.py,sha256=yVXbT52fXvGKRlc_ByHqIVt7-9L3DRE634RSeQwgXtU,665
311
312
  mlrun/track/tracker.py,sha256=CyTU6Qd3_5GGEJ_hpocOj71wvV65EuFYUjaYEUKAL6Q,3575
312
313
  mlrun/track/tracker_manager.py,sha256=IYBl99I62IC6VCCmG1yt6JoHNOQXa53C4DURJ2sWgio,5726
@@ -337,11 +338,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
337
338
  mlrun/utils/notifications/notification/slack.py,sha256=eQvmctTh6wIG5xVOesLLV9S1-UUCu5UEQ9JIJOor3ts,7183
338
339
  mlrun/utils/notifications/notification/webhook.py,sha256=NeyIMSBojjjTJaUHmPbxMByp34GxYkl1-16NqzU27fU,4943
339
340
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
340
- mlrun/utils/version/version.json,sha256=-9Zh51rFvpmQCmLL4-Xi7uSMkjBw-RasTJKe24YTvss,89
341
+ mlrun/utils/version/version.json,sha256=rdVwuZ9Gch5VbQdWrzErP2OOwDQEQEeJyiZyowIjhys,89
341
342
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
342
- mlrun-1.8.0rc27.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
343
- mlrun-1.8.0rc27.dist-info/METADATA,sha256=Oav6I7kIOoc-SJd3JvSEp_x1LE6VWlyW8KfM4hLWxWM,25888
344
- mlrun-1.8.0rc27.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
345
- mlrun-1.8.0rc27.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
346
- mlrun-1.8.0rc27.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
347
- mlrun-1.8.0rc27.dist-info/RECORD,,
343
+ mlrun-1.8.0rc28.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
344
+ mlrun-1.8.0rc28.dist-info/METADATA,sha256=r-p8kgbxwLYd5JmaHRqYv8YYbIQEeg4JhwM63SrhR20,25989
345
+ mlrun-1.8.0rc28.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
346
+ mlrun-1.8.0rc28.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
347
+ mlrun-1.8.0rc28.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
348
+ mlrun-1.8.0rc28.dist-info/RECORD,,