mlrun 1.10.0rc6__py3-none-any.whl → 1.10.0rc7__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.

@@ -43,6 +43,8 @@ from mlrun.serving.states import (
43
43
  )
44
44
  from mlrun.utils import get_caller_globals, logger, set_paths
45
45
 
46
+ from .. import KubejobRuntime
47
+ from ..pod import KubeResourceSpec
46
48
  from .function import NuclioSpec, RemoteRuntime, min_nuclio_versions
47
49
 
48
50
  serving_subkind = "serving_v2"
@@ -150,6 +152,7 @@ class ServingSpec(NuclioSpec):
150
152
  state_thresholds=None,
151
153
  disable_default_http_trigger=None,
152
154
  model_endpoint_creation_task_name=None,
155
+ serving_spec=None,
153
156
  ):
154
157
  super().__init__(
155
158
  command=command,
@@ -190,6 +193,7 @@ class ServingSpec(NuclioSpec):
190
193
  service_type=service_type,
191
194
  add_templated_ingress_host_mode=add_templated_ingress_host_mode,
192
195
  disable_default_http_trigger=disable_default_http_trigger,
196
+ serving_spec=serving_spec,
193
197
  )
194
198
 
195
199
  self.models = models or {}
@@ -703,6 +707,7 @@ class ServingRuntime(RemoteRuntime):
703
707
  "track_models": self.spec.track_models,
704
708
  "default_content_type": self.spec.default_content_type,
705
709
  "model_endpoint_creation_task_name": self.spec.model_endpoint_creation_task_name,
710
+ "filename": getattr(self.spec, "filename", None),
706
711
  }
707
712
 
708
713
  if self.spec.secret_sources:
@@ -711,6 +716,10 @@ class ServingRuntime(RemoteRuntime):
711
716
 
712
717
  return json.dumps(serving_spec)
713
718
 
719
+ @property
720
+ def serving_spec(self):
721
+ return self._get_serving_spec()
722
+
714
723
  def to_mock_server(
715
724
  self,
716
725
  namespace=None,
@@ -806,3 +815,40 @@ class ServingRuntime(RemoteRuntime):
806
815
  "Turn off the mock (mock=False) and make sure Nuclio is installed for real deployment to Nuclio"
807
816
  )
808
817
  self._mock_server = self.to_mock_server()
818
+
819
+ def to_job(self) -> KubejobRuntime:
820
+ """Convert this ServingRuntime to a KubejobRuntime, so that the graph can be run as a standalone job."""
821
+ if self.spec.function_refs:
822
+ raise mlrun.errors.MLRunInvalidArgumentError(
823
+ f"Cannot convert function '{self.metadata.name}' to a job because it has child functions"
824
+ )
825
+
826
+ spec = KubeResourceSpec(
827
+ image=self.spec.image,
828
+ mode=self.spec.mode,
829
+ volumes=self.spec.volumes,
830
+ volume_mounts=self.spec.volume_mounts,
831
+ env=self.spec.env,
832
+ resources=self.spec.resources,
833
+ default_handler="mlrun.serving.server.execute_graph",
834
+ pythonpath=self.spec.pythonpath,
835
+ entry_points=self.spec.entry_points,
836
+ description=self.spec.description,
837
+ workdir=self.spec.workdir,
838
+ image_pull_secret=self.spec.image_pull_secret,
839
+ node_name=self.spec.node_name,
840
+ node_selector=self.spec.node_selector,
841
+ affinity=self.spec.affinity,
842
+ disable_auto_mount=self.spec.disable_auto_mount,
843
+ priority_class_name=self.spec.priority_class_name,
844
+ tolerations=self.spec.tolerations,
845
+ preemption_mode=self.spec.preemption_mode,
846
+ security_context=self.spec.security_context,
847
+ state_thresholds=self.spec.state_thresholds,
848
+ serving_spec=self._get_serving_spec(),
849
+ )
850
+ job = KubejobRuntime(
851
+ spec=spec,
852
+ metadata=self.metadata,
853
+ )
854
+ return job
mlrun/runtimes/pod.py CHANGED
@@ -103,6 +103,7 @@ class KubeResourceSpec(FunctionSpec):
103
103
  "preemption_mode",
104
104
  "security_context",
105
105
  "state_thresholds",
106
+ "serving_spec",
106
107
  ]
107
108
  _default_fields_to_strip = FunctionSpec._default_fields_to_strip + [
108
109
  "volumes",
@@ -178,6 +179,7 @@ class KubeResourceSpec(FunctionSpec):
178
179
  preemption_mode=None,
179
180
  security_context=None,
180
181
  state_thresholds=None,
182
+ serving_spec=None,
181
183
  ):
182
184
  super().__init__(
183
185
  command=command,
@@ -223,6 +225,7 @@ class KubeResourceSpec(FunctionSpec):
223
225
  state_thresholds
224
226
  or mlrun.mlconf.function.spec.state_thresholds.default.to_dict()
225
227
  )
228
+ self.serving_spec = serving_spec
226
229
  # Termination grace period is internal for runtimes that have a pod termination hook hence it is not in the
227
230
  # _dict_fields and doesn't have a setter.
228
231
  self._termination_grace_period_seconds = None
@@ -58,6 +58,7 @@ class RemoteSparkSpec(KubeResourceSpec):
58
58
  preemption_mode=None,
59
59
  security_context=None,
60
60
  state_thresholds=None,
61
+ serving_spec=None,
61
62
  ):
62
63
  super().__init__(
63
64
  command=command,
@@ -87,6 +88,7 @@ class RemoteSparkSpec(KubeResourceSpec):
87
88
  preemption_mode=preemption_mode,
88
89
  security_context=security_context,
89
90
  state_thresholds=state_thresholds,
91
+ serving_spec=serving_spec,
90
92
  )
91
93
  self.provider = provider
92
94
 
@@ -168,6 +168,7 @@ class Spark3JobSpec(KubeResourceSpec):
168
168
  executor_cores=None,
169
169
  security_context=None,
170
170
  state_thresholds=None,
171
+ serving_spec=None,
171
172
  ):
172
173
  super().__init__(
173
174
  command=command,
@@ -197,6 +198,7 @@ class Spark3JobSpec(KubeResourceSpec):
197
198
  preemption_mode=preemption_mode,
198
199
  security_context=security_context,
199
200
  state_thresholds=state_thresholds,
201
+ serving_spec=serving_spec,
200
202
  )
201
203
 
202
204
  self.driver_resources = driver_resources or {}
mlrun/serving/server.py CHANGED
@@ -21,8 +21,9 @@ import os
21
21
  import socket
22
22
  import traceback
23
23
  import uuid
24
- from typing import Optional, Union
24
+ from typing import Any, Optional, Union
25
25
 
26
+ import storey
26
27
  from nuclio import Context as NuclioContext
27
28
  from nuclio.request import Logger as NuclioLogger
28
29
 
@@ -37,9 +38,10 @@ from mlrun.secrets import SecretsStore
37
38
 
38
39
  from ..common.helpers import parse_versioned_object_uri
39
40
  from ..common.schemas.model_monitoring.constants import FileTargetKind
40
- from ..datastore import get_stream_pusher
41
+ from ..datastore import DataItem, get_stream_pusher
41
42
  from ..datastore.store_resources import ResourceCache
42
43
  from ..errors import MLRunInvalidArgumentError
44
+ from ..execution import MLClientCtx
43
45
  from ..model import ModelObj
44
46
  from ..utils import get_caller_globals
45
47
  from .states import RootFlowStep, RouterStep, get_function, graph_root_setter
@@ -314,7 +316,11 @@ class GraphServer(ModelObj):
314
316
 
315
317
  def _process_response(self, context, response, get_body):
316
318
  body = response.body
317
- if isinstance(body, context.Response) or get_body:
319
+ if (
320
+ isinstance(context, MLClientCtx)
321
+ or isinstance(body, context.Response)
322
+ or get_body
323
+ ):
318
324
  return body
319
325
 
320
326
  if body and not isinstance(body, (str, bytes)):
@@ -405,6 +411,94 @@ def v2_serving_init(context, namespace=None):
405
411
  _set_callbacks(server, context)
406
412
 
407
413
 
414
+ async def async_execute_graph(
415
+ context: MLClientCtx,
416
+ data: DataItem,
417
+ batching: bool,
418
+ batch_size: Optional[int],
419
+ ) -> list[Any]:
420
+ spec = mlrun.utils.get_serving_spec()
421
+
422
+ source_filename = spec.get("filename", None)
423
+ namespace = {}
424
+ if source_filename:
425
+ with open(source_filename) as f:
426
+ exec(f.read(), namespace)
427
+
428
+ server = GraphServer.from_dict(spec)
429
+
430
+ if config.log_level.lower() == "debug":
431
+ server.verbose = True
432
+ context.logger.info_with("Initializing states", namespace=namespace)
433
+ kwargs = {}
434
+ if hasattr(context, "is_mock"):
435
+ kwargs["is_mock"] = context.is_mock
436
+ server.init_states(
437
+ context=None, # this context is expected to be a nuclio context, which we don't have in this flow
438
+ namespace=namespace,
439
+ **kwargs,
440
+ )
441
+ context.logger.info("Initializing graph steps")
442
+ server.init_object(namespace)
443
+
444
+ context.logger.info_with("Graph was initialized", verbose=server.verbose)
445
+
446
+ if server.verbose:
447
+ context.logger.info(server.to_yaml())
448
+
449
+ df = data.as_df()
450
+
451
+ responses = []
452
+
453
+ async def run(body):
454
+ event = storey.Event(id=index, body=body)
455
+ response = await server.run(event, context)
456
+ responses.append(response)
457
+
458
+ if batching and not batch_size:
459
+ batch_size = len(df)
460
+
461
+ batch = []
462
+ for index, row in df.iterrows():
463
+ data = row.to_dict()
464
+ if batching:
465
+ batch.append(data)
466
+ if len(batch) == batch_size:
467
+ await run(batch)
468
+ batch = []
469
+ else:
470
+ await run(data)
471
+
472
+ if batch:
473
+ await run(batch)
474
+
475
+ termination_result = server.wait_for_completion()
476
+ if asyncio.iscoroutine(termination_result):
477
+ await termination_result
478
+
479
+ return responses
480
+
481
+
482
+ def execute_graph(
483
+ context: MLClientCtx,
484
+ data: DataItem,
485
+ batching: bool = False,
486
+ batch_size: Optional[int] = None,
487
+ ) -> (list[Any], Any):
488
+ """
489
+ Execute graph as a job, from start to finish.
490
+
491
+ :param context: The job's execution client context.
492
+ :param data: The input data to the job, to be pushed into the graph row by row, or in batches.
493
+ :param batching: Whether to push one or more batches into the graph rather than row by row.
494
+ :param batch_size: The number of rows to push per batch. If not set, and batching=True, the entire dataset will
495
+ be pushed into the graph in one batch.
496
+
497
+ :return: A list of responses.
498
+ """
499
+ return asyncio.run(async_execute_graph(context, data, batching, batch_size))
500
+
501
+
408
502
  def _set_callbacks(server, context):
409
503
  if not server.graph.supports_termination() or not hasattr(context, "platform"):
410
504
  return
mlrun/utils/helpers.py CHANGED
@@ -84,10 +84,6 @@ DEFAULT_TIME_PARTITIONS = ["year", "month", "day", "hour"]
84
84
  DEFAULT_TIME_PARTITIONING_GRANULARITY = "hour"
85
85
 
86
86
 
87
- class OverwriteBuildParamsWarning(FutureWarning):
88
- pass
89
-
90
-
91
87
  class StorePrefix:
92
88
  """map mlrun store objects to prefixes"""
93
89
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "3fceb507ebf4011ba48d8cc807b3f3c5203ff10d",
3
- "version": "1.10.0-rc6"
2
+ "git_commit": "7e46ae9ef39327d23bfacc0910fef7b83e23e75d",
3
+ "version": "1.10.0-rc7"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.10.0rc6
3
+ Version: 1.10.0rc7
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -45,7 +45,7 @@ Requires-Dist: semver~=3.0
45
45
  Requires-Dist: dependency-injector~=4.41
46
46
  Requires-Dist: fsspec<2024.7,>=2023.9.2
47
47
  Requires-Dist: v3iofs~=0.1.17
48
- Requires-Dist: storey~=1.10.0
48
+ Requires-Dist: storey~=1.10.2
49
49
  Requires-Dist: inflection~=0.5.0
50
50
  Requires-Dist: python-dotenv~=1.0
51
51
  Requires-Dist: setuptools>=75.2
@@ -1,5 +1,5 @@
1
1
  mlrun/__init__.py,sha256=uhNeFUVaV2spRa94u9tNZjMdLBixdu-9iY-uzORjsKQ,7448
2
- mlrun/__main__.py,sha256=6Mihuy3M7l80rJKM-MeKJdzwMbidfgVw-i7CxqToNnY,46351
2
+ mlrun/__main__.py,sha256=ue7zqYt-0MjiSZodMSis_tctBCvVQmVHjmUQnR9lp0E,48019
3
3
  mlrun/config.py,sha256=oe8n5N4r0s6mss99f2R1n0eQkHidXVtNIcTecVlCNkY,71986
4
4
  mlrun/errors.py,sha256=bAk0t_qmCxQSPNK0TugOAfA5R6f0G6OYvEvXUWSJ_5U,9062
5
5
  mlrun/execution.py,sha256=Yo1_UX9ARZ8IDYX6B5FPngnIy8hBhuzwL2-bIeXlMg8,54581
@@ -14,14 +14,14 @@ mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
14
14
  mlrun/alerts/alert.py,sha256=QQFZGydQbx9RvAaSiaH-ALQZVcDKQX5lgizqj_rXW2k,15948
15
15
  mlrun/api/schemas/__init__.py,sha256=b8pOb-hPeojIisSSiy5zwMh-uZAebyB2mAnmGGLe5Sc,13919
16
16
  mlrun/artifacts/__init__.py,sha256=ZrEUNto7tGdnBGteCp9zOyO8b78z7O3xgcpzUt9UHE4,1240
17
- mlrun/artifacts/base.py,sha256=y-YUdMvLvRRdkgp8c5rq8XyDyyT7ktLOZThbxNSmIKg,30529
18
- mlrun/artifacts/dataset.py,sha256=p8Rk0yrBUszh4pe7VLfcUK9piD-J_UX_X6gU5fYCyQg,16665
17
+ mlrun/artifacts/base.py,sha256=CdkV1_rSv9xmnz-Mg9pHFaBYfruC0BKiMjj8yFEmoI8,29458
18
+ mlrun/artifacts/dataset.py,sha256=7SRKvLbV7KJ2JN2s_Q45kuz74qovTvOZSz88HKM4JfA,16359
19
19
  mlrun/artifacts/document.py,sha256=p5HsWdmIIJ0NahS7y3EEQN2tfHtUrUmUG-8BEEyi_Jc,17373
20
20
  mlrun/artifacts/helpers.py,sha256=ejTEC9vkI2w5FHn5Gopw3VEIxuni0bazWUnR6BBWZfU,1662
21
21
  mlrun/artifacts/llm_prompt.py,sha256=19ubV9owECwqb73wDnS8lED_siWYoJCRsrK_Td0DXdo,5428
22
22
  mlrun/artifacts/manager.py,sha256=ylCmwTSDxPWYTBBW7v90XLYy7CYS7xVydj-D-kWY7bU,16827
23
- mlrun/artifacts/model.py,sha256=uYhTw1BZ-WO1iMnJk2FjIjSktincVcA_Sv3dCeuOhO8,25902
24
- mlrun/artifacts/plots.py,sha256=TxOHBaGbj7fEKNTHVIM_uxQjqPLpU3Rh1pqGh2_inuo,4833
23
+ mlrun/artifacts/model.py,sha256=YlhD0zX8UhuEjTWD7NNnWcRCpjF1S2_6IpE0a1VHEHM,25589
24
+ mlrun/artifacts/plots.py,sha256=wmaxVXiAPSCyn3M7pIlcBu9pP3O8lrq0Ewx6iHRDF9s,4238
25
25
  mlrun/common/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
26
26
  mlrun/common/constants.py,sha256=Yj5YHANbpKHDKxZ1y5bV1wifvV3UQZ2QuvECUuYhrpM,3594
27
27
  mlrun/common/helpers.py,sha256=DIdqs_eN3gO5bZ8iFobIvx8cEiOxYxhFIyut6-O69T0,1385
@@ -111,10 +111,10 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
111
111
  mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
112
112
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
113
113
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
114
- mlrun/db/base.py,sha256=OmDJnvrHRpea9dgeUhJu_7EBKFUqwtXG59dmhmeoMqY,31350
114
+ mlrun/db/base.py,sha256=eGeN-OHBTgvgSSaTWcJouDVtHt1Qouz3UftEp-jMsu4,30688
115
115
  mlrun/db/factory.py,sha256=yP2vVmveUE7LYTCHbS6lQIxP9rW--zdISWuPd_I3d_4,2111
116
- mlrun/db/httpdb.py,sha256=EAUA2ZU1W7dwaPVrRbPbeiNcuODeeEIHMqbgkVokZ8M,235044
117
- mlrun/db/nopdb.py,sha256=Dk4LXsN6992T9jhhspTt0tNA6dMhF4la-LcOU8cLfJY,27703
116
+ mlrun/db/httpdb.py,sha256=YAKQ3x6jXWBomyEv7hKI6PrYvO3CyukbYFZ7rHu2-Wk,231788
117
+ mlrun/db/nopdb.py,sha256=voX-gfkA5OiwYRCqvqbwjA6Racz76E5L3RanHJfq2r8,27262
118
118
  mlrun/feature_store/__init__.py,sha256=SlI845bWt6xX34SXunHHqhmFAR9-5v2ak8N-qpcAPGo,1328
119
119
  mlrun/feature_store/api.py,sha256=qKj5Tk6prTab6XWatWhBuPRVp0eJEctoxRMN2wz48vA,32168
120
120
  mlrun/feature_store/common.py,sha256=JlQA7XWkg9fLuw7cXFmWpUneQqM3NBhwv7DU_xlenWI,12819
@@ -215,21 +215,21 @@ mlrun/frameworks/xgboost/mlrun_interface.py,sha256=KINOf0udbY75raTewjEFGNlIRyE0e
215
215
  mlrun/frameworks/xgboost/model_handler.py,sha256=bJq4D1VK3rzhALovqIV5mS0LvGiTlsgAkHanD25pU2c,11663
216
216
  mlrun/frameworks/xgboost/utils.py,sha256=4rShiFChzDbWJ4HoTo4qV_lj-Z89pHBAp6Z1yHmU8wA,1068
217
217
  mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
218
- mlrun/launcher/base.py,sha256=VUjXoYcCopdJgSTkGDPOJWcZavKDoqmExv7GjqyRiws,16481
219
- mlrun/launcher/client.py,sha256=EEsdRh3nb3pguR0HjaLPewPJ0ei2LcbSaM-l11oB9XY,7238
218
+ mlrun/launcher/base.py,sha256=bzxkmtpfvjJGaLQ82KdTirSuKHPy4f-fveraHrkbwAU,16515
219
+ mlrun/launcher/client.py,sha256=WQuPD_t0E-BW8yCc8VoPMMKNEtczITk8TmjRPi2ILDM,7272
220
220
  mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
221
- mlrun/launcher/local.py,sha256=9XEkWSRYokXbtL1d_XEH3yTNU2fQXX7JcUwfC_8NG_4,11457
221
+ mlrun/launcher/local.py,sha256=BCA8WQc8yDjJTzktyBRxB0iiWEXOW7832tV9KsAZkn8,11639
222
222
  mlrun/launcher/remote.py,sha256=GYXsxVIwcUZ1V-cv2R3Yk4nSoUeAtRurEawrUN3AkEE,7715
223
223
  mlrun/model_monitoring/__init__.py,sha256=2zigVN5JUnOhRcqGBd4gj0ctubVlyEvxmxXix0De5GQ,709
224
224
  mlrun/model_monitoring/api.py,sha256=lAsUp-gzqw8D1cpHVGA2_nPMYn5R4jdxk9UaGOiQ8fE,25945
225
225
  mlrun/model_monitoring/controller.py,sha256=CQxK9Sq5k8XonvVBQnSimakpTwMMAyqT5mOaG534MaM,37660
226
226
  mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
227
- mlrun/model_monitoring/helpers.py,sha256=8QsoYRPOVSnR3Lcv99m4XYrp_cR6hSqBUflYSOkJmFQ,21019
227
+ mlrun/model_monitoring/helpers.py,sha256=F1jkhiHShvuiavl21Eus1FuCoRHBe85cJvOQUDWlaEI,20939
228
228
  mlrun/model_monitoring/stream_processing.py,sha256=Gu3TQzYoNjbreZYI73-F49QpYrod9RZOyGSgininBsA,33373
229
229
  mlrun/model_monitoring/writer.py,sha256=rGRFzSOkqZWvD3Y6sVk2H1Gepfnkzkp9ce00PsApTLo,8288
230
230
  mlrun/model_monitoring/applications/__init__.py,sha256=MaH_n4GiqqQvSkntM5yQ7_FCANtM_IfgK-IJTdo4G_E,757
231
- mlrun/model_monitoring/applications/_application_steps.py,sha256=mjuBVqa7KY_Ymoo8DzddthUpBZyfio2e4O5ce-d-2eY,8444
232
- mlrun/model_monitoring/applications/base.py,sha256=7x7qOnJZ5yoab1EWdG_5PNh5AOGM9mQkUJ_2hznUG3A,25425
231
+ mlrun/model_monitoring/applications/_application_steps.py,sha256=t9LDIqQUGE10cyjyhlg0QqN1yVx0apD1HpERYLJfm8U,7409
232
+ mlrun/model_monitoring/applications/base.py,sha256=NBIlsiB91it__JfUQHL28YzIzkCg-Enb8w4oYCZlkYs,31528
233
233
  mlrun/model_monitoring/applications/context.py,sha256=VfyPCIdO4z73uqFcJs87jzSI4PatX5N5Xicg8Ye1Bag,16968
234
234
  mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
235
235
  mlrun/model_monitoring/applications/results.py,sha256=_qmj6TWT0SR2bi7gUyRKBU418eGgGoLW2_hTJ7S-ock,5782
@@ -271,43 +271,43 @@ mlrun/package/utils/type_hint_utils.py,sha256=Ic3A7C9KnbfdLe-nUgzGoefBnsvOJJP9ip
271
271
  mlrun/platforms/__init__.py,sha256=ZuyeHCHHUxYEoZRmaJqzFSfwhaTyUdBZXMeVp75ql1w,3551
272
272
  mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13749
273
273
  mlrun/projects/__init__.py,sha256=0Krf0WIKfnZa71WthYOg0SoaTodGg3sV_hK3f_OlTPI,1220
274
- mlrun/projects/operations.py,sha256=dbCWb-KNlIIJeZH9lp4Y2PxkYMkZI2pJPYbMSbiDWe4,20840
274
+ mlrun/projects/operations.py,sha256=Aa3qDjEOLI1JTvm3t3VaESeJ4511e_vOR-GqVaEy-yI,20237
275
275
  mlrun/projects/pipelines.py,sha256=wud7ezeEmhIJvfYE_wzQbA4ygEfGXHtbOtoOpan6poY,48556
276
- mlrun/projects/project.py,sha256=S_xkfHGuJv9n6ZiP4b6YsXDaz_66316ajUOj6skw-4s,252038
276
+ mlrun/projects/project.py,sha256=0VyBEP021PqX0y20ANP0n1IavEDoJ4UKgqkANnyAe68,250001
277
277
  mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
278
278
  mlrun/runtimes/base.py,sha256=FmjyXA5MhOUOe8TxNpC3p8nc_IwGGaC2ZPrgTylzFXk,37325
279
- mlrun/runtimes/daskjob.py,sha256=RQNX0TJn77mT32CKNoNg2hE0Rk758QVTGpJdxk3xW_k,19776
279
+ mlrun/runtimes/daskjob.py,sha256=1VYia3vEgArKNyZe-yJjQevhifWO6F5gP1Q44y-tKqk,19842
280
280
  mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
281
281
  mlrun/runtimes/function_reference.py,sha256=fnMKUEieKgy4JyVLhFpDtr6JvKgOaQP8F_K2H3-Pk9U,5030
282
282
  mlrun/runtimes/generators.py,sha256=X8NDlCEPveDDPOHtOGcSpbl3pAVM3DP7fuPj5xVhxEY,7290
283
- mlrun/runtimes/kubejob.py,sha256=xt6NyPiIiPYmGDFtTe4RHF-zhrFdgwcnRr2NQEBB5NI,8799
283
+ mlrun/runtimes/kubejob.py,sha256=wadCzmSgjv9OU_Ax8CQNHfXLo0v-ev9ZGHUFGcNc9Qw,8577
284
284
  mlrun/runtimes/local.py,sha256=yedo3R1c46cB1mX7aOz8zORXswQPvX86U-_fYxXoqTY,22717
285
285
  mlrun/runtimes/mounts.py,sha256=2dkoktm3TXHe4XHmRhvC0UfvWzq2vy_13MeaW7wgyPo,18735
286
- mlrun/runtimes/pod.py,sha256=_jfzCIJ5Gi6AWT-5nYFYfpX3zodQLVU79Rqa2vFAECY,51619
287
- mlrun/runtimes/remotesparkjob.py,sha256=s3iknqndUMSDvZNZ7w_uO9mO-gmasexN5x9KALeCHfw,7627
286
+ mlrun/runtimes/pod.py,sha256=YwkvZQqj2M2YP1xg6ECbzh-DfcBo9rJCIJxfrsJ8thA,51711
287
+ mlrun/runtimes/remotesparkjob.py,sha256=IMnolOY6jh1xMrCtxs-awUqQoWVgRpan4l0b91vUqdI,7693
288
288
  mlrun/runtimes/utils.py,sha256=VFKA7dWuILAcJGia_7Pw_zBBG00wZlat7o2N6u5EItw,16284
289
289
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
290
290
  mlrun/runtimes/databricks_job/databricks_cancel_task.py,sha256=ufjcLKA5E6FSDF5CXm5l8uP_mUSFppwr5krLHln1kAU,2243
291
291
  mlrun/runtimes/databricks_job/databricks_runtime.py,sha256=YOJdyIEeKbn9jKxSciciZE9RBsH7Hbk7n-3T_8NLz_w,12810
292
292
  mlrun/runtimes/databricks_job/databricks_wrapper.py,sha256=jD1T36pRmSFRGgJVGRzccYJxwYH8eVze_FJrF2aSS-g,8682
293
293
  mlrun/runtimes/mpijob/__init__.py,sha256=6sUPQRFwigi4mqjDVZmRE-qgaLw2ILY5NbneVUuMKto,947
294
- mlrun/runtimes/mpijob/abstract.py,sha256=a07c6AvNLQ51dVkiCyeeQUruST1UQNuWi3sIvPMESPo,9171
295
- mlrun/runtimes/mpijob/v1.py,sha256=Rf8tvntkOv7RLN0TEk5XOY4QCdWMHu_sSmVgBViGcfU,3135
294
+ mlrun/runtimes/mpijob/abstract.py,sha256=AJYRF4Jv0NWTUY3buri3XbbrXqC1ZMPHKLKUMcqWRW8,9237
295
+ mlrun/runtimes/mpijob/v1.py,sha256=k04Tu1Y58tt9qckyR6Kd8l6O3fLMGvGyAzxYunfpqEE,3201
296
296
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
297
297
  mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
298
- mlrun/runtimes/nuclio/function.py,sha256=K8M9zFR0j28Tfqu6xrwd6MWb2Sh1IZZVoaNYZectG8g,54286
298
+ mlrun/runtimes/nuclio/function.py,sha256=odONJcrnhZT8veIyvd3ygEfUxP0cDEceTfP91mg1XAA,54352
299
299
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
300
- mlrun/runtimes/nuclio/serving.py,sha256=KAAavywR3YR8sRcnGubcMmEy_2-P-gqV6vxmcyBjVbA,32604
300
+ mlrun/runtimes/nuclio/serving.py,sha256=k2ExmWOAJ2E_dlnQj87wTzDWU4dTFjYUdK5rGvyx-no,34473
301
301
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
302
302
  mlrun/runtimes/nuclio/application/application.py,sha256=3WeVCeVUb6U5wJDVJSuTDzJ-Pcr3ifg08E4gKIEIkmo,28945
303
303
  mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=lEHH74vr2PridIHp1Jkc_NjkrWb5b6zawRrNxHQhwGU,2913
304
304
  mlrun/runtimes/sparkjob/__init__.py,sha256=GPP_ekItxiU9Ydn3mJa4Obph02Bg6DO-JYs791_MV58,607
305
- mlrun/runtimes/sparkjob/spark3job.py,sha256=FmrfR1lTVeH_F3YOx8vj16QsvN3b7veUS00_3d3PslI,41221
305
+ mlrun/runtimes/sparkjob/spark3job.py,sha256=5TdmQy5yDBtaq9y9fQGrNYTJ_0UqR9VnV7-SGiZEOyc,41287
306
306
  mlrun/serving/__init__.py,sha256=ujpKHIsHXJz5TELwEIsjMbijxONRg7kZ6ZcVONcRjcs,1324
307
307
  mlrun/serving/merger.py,sha256=pfOQoozUyObCTpqXAMk94PmhZefn4bBrKufO3MKnkAc,6193
308
308
  mlrun/serving/remote.py,sha256=Igha2FipK3-6rV_PZ1K464kTbiTu8rhc6SMm-HiEJ6o,18817
309
309
  mlrun/serving/routers.py,sha256=SY6AsaiSnh8ssXq8hQE2z9MYapOxFOFJBx9QomiZMO8,53915
310
- mlrun/serving/server.py,sha256=ZjrNvrp87IMJFM0EZwzRKl42nR4RoP3U6frqKJ6FqcI,24847
310
+ mlrun/serving/server.py,sha256=tnoxSh5Et3VnPGfGs2D6-5UwZ8M_MZr-juuUl2SbzGc,27561
311
311
  mlrun/serving/serving_wrapper.py,sha256=UL9hhWCfMPcTJO_XrkvNaFvck1U1E7oS8trTZyak0cA,835
312
312
  mlrun/serving/states.py,sha256=shsZYuR9hbzCywt5ClEbXEH8SsbWduWzhfeUlj0dJJk,82988
313
313
  mlrun/serving/utils.py,sha256=Zbfqm8TKNcTE8zRBezVBzpvR2WKeKeIRN7otNIaiYEc,4170
@@ -324,7 +324,7 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
324
324
  mlrun/utils/clones.py,sha256=qbAGyEbSvlewn3Tw_DpQZP9z6MGzFhSaZfI1CblX8Fg,7515
325
325
  mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
326
326
  mlrun/utils/db.py,sha256=UIYDPHvPxim8tpjeD4S2QbfTx9Bhe-VqUQjqYTRHFuo,2185
327
- mlrun/utils/helpers.py,sha256=TZMikyv6HOX1TnWSCdMVp32S1x19yKehJaOf4sr9crM,79858
327
+ mlrun/utils/helpers.py,sha256=6M-lYWC0k8B8N0p4pZRUhmIYc8ycN-9gXL4MqJZ0foc,79797
328
328
  mlrun/utils/http.py,sha256=5ZU2VpokaUM_DT3HBSqTm8xjUqTPjZN5fKkSIvKlTl0,8704
329
329
  mlrun/utils/logger.py,sha256=RG0m1rx6gfkJ-2C1r_p41MMpPiaDYqaYM2lYHDlNZEU,14767
330
330
  mlrun/utils/regex.py,sha256=FcRwWD8x9X3HLhCCU2F0AVKTFah784Pr7ZAe3a02jw8,5199
@@ -343,11 +343,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
343
343
  mlrun/utils/notifications/notification/slack.py,sha256=kfhogR5keR7Zjh0VCjJNK3NR5_yXT7Cv-x9GdOUW4Z8,7294
344
344
  mlrun/utils/notifications/notification/webhook.py,sha256=zxh8CAlbPnTazsk6r05X5TKwqUZVOH5KBU2fJbzQlG4,5330
345
345
  mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
346
- mlrun/utils/version/version.json,sha256=pQcX0quIZrTOVHx4RNVy0hG7lnyWp8XXPThBnztSl28,89
346
+ mlrun/utils/version/version.json,sha256=li-8NUYi_wiGUc4flqnLjL1fxgV7eR_wG7e-xtHG8wI,89
347
347
  mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
348
- mlrun-1.10.0rc6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
349
- mlrun-1.10.0rc6.dist-info/METADATA,sha256=SqXLwFQrd2ZmFDuhUWy_YNiHcUpawPwEeKFv57VxuKI,25828
350
- mlrun-1.10.0rc6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
351
- mlrun-1.10.0rc6.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
352
- mlrun-1.10.0rc6.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
353
- mlrun-1.10.0rc6.dist-info/RECORD,,
348
+ mlrun-1.10.0rc7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
349
+ mlrun-1.10.0rc7.dist-info/METADATA,sha256=nZQGcdppHPDSON94I3kdyipixcAC09ALG46FYIH-KZw,25828
350
+ mlrun-1.10.0rc7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
351
+ mlrun-1.10.0rc7.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
352
+ mlrun-1.10.0rc7.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
353
+ mlrun-1.10.0rc7.dist-info/RECORD,,