mlrun 1.7.0rc34__py3-none-any.whl → 1.7.0rc35__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.

Files changed (34) hide show
  1. mlrun/artifacts/base.py +1 -0
  2. mlrun/common/schemas/__init__.py +0 -1
  3. mlrun/common/schemas/model_monitoring/__init__.py +1 -2
  4. mlrun/common/schemas/model_monitoring/constants.py +3 -16
  5. mlrun/common/schemas/notification.py +1 -1
  6. mlrun/common/types.py +1 -0
  7. mlrun/config.py +6 -7
  8. mlrun/datastore/sources.py +8 -4
  9. mlrun/db/base.py +2 -3
  10. mlrun/db/httpdb.py +3 -3
  11. mlrun/model.py +1 -1
  12. mlrun/model_monitoring/applications/evidently_base.py +4 -5
  13. mlrun/model_monitoring/db/stores/sqldb/sql_store.py +5 -0
  14. mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py +2 -2
  15. mlrun/model_monitoring/db/tsdb/base.py +6 -3
  16. mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py +0 -3
  17. mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py +22 -3
  18. mlrun/model_monitoring/stream_processing.py +5 -153
  19. mlrun/projects/pipelines.py +76 -73
  20. mlrun/run.py +4 -0
  21. mlrun/runtimes/nuclio/application/application.py +25 -2
  22. mlrun/runtimes/nuclio/function.py +5 -0
  23. mlrun/runtimes/nuclio/serving.py +1 -1
  24. mlrun/runtimes/pod.py +2 -4
  25. mlrun/serving/states.py +3 -1
  26. mlrun/utils/helpers.py +27 -14
  27. mlrun/utils/version/version.json +2 -2
  28. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/METADATA +3 -1
  29. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/RECORD +33 -34
  30. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/WHEEL +1 -1
  31. mlrun/model_monitoring/prometheus.py +0 -216
  32. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/LICENSE +0 -0
  33. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/entry_points.txt +0 -0
  34. {mlrun-1.7.0rc34.dist-info → mlrun-1.7.0rc35.dist-info}/top_level.txt +0 -0
@@ -404,12 +404,15 @@ class _PipelineRunStatus:
404
404
  return self._exc
405
405
 
406
406
  def wait_for_completion(self, timeout=None, expected_statuses=None):
407
- self._state = self._engine.wait_for_completion(
408
- self.run_id,
407
+ returned_state = self._engine.wait_for_completion(
408
+ self,
409
409
  project=self.project,
410
410
  timeout=timeout,
411
411
  expected_statuses=expected_statuses,
412
412
  )
413
+ # TODO: returning a state is optional until all runners implement wait_for_completion
414
+ if returned_state:
415
+ self._state = returned_state
413
416
  return self._state
414
417
 
415
418
  def __str__(self):
@@ -458,6 +461,48 @@ class _PipelineRunner(abc.ABC):
458
461
  def get_state(run_id, project=None):
459
462
  pass
460
463
 
464
+ @staticmethod
465
+ def get_run_status(
466
+ project,
467
+ run: _PipelineRunStatus,
468
+ timeout=None,
469
+ expected_statuses=None,
470
+ notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
471
+ **kwargs,
472
+ ):
473
+ timeout = timeout or 60 * 60
474
+ raise_error = None
475
+ state = ""
476
+ try:
477
+ if timeout:
478
+ state = run.wait_for_completion(
479
+ timeout=timeout, expected_statuses=expected_statuses
480
+ )
481
+ except RuntimeError as exc:
482
+ # push runs table also when we have errors
483
+ raise_error = exc
484
+
485
+ mldb = mlrun.db.get_run_db(secrets=project._secrets)
486
+ runs = mldb.list_runs(project=project.name, labels=f"workflow={run.run_id}")
487
+
488
+ # TODO: The below section duplicates notifiers.push_pipeline_run_results() logic. We should use it instead.
489
+ errors_counter = 0
490
+ for r in runs:
491
+ if r["status"].get("state", "") == "error":
492
+ errors_counter += 1
493
+
494
+ text = _PipelineRunner._generate_workflow_finished_message(
495
+ run.run_id, errors_counter, run._state
496
+ )
497
+
498
+ notifiers = notifiers or project.notifiers
499
+ if notifiers:
500
+ notifiers.push(text, "info", runs)
501
+
502
+ if raise_error:
503
+ raise raise_error
504
+ return state or run._state, errors_counter, text
505
+
461
506
  @staticmethod
462
507
  def _get_handler(workflow_handler, workflow_spec, project, secrets):
463
508
  if not (workflow_handler and callable(workflow_handler)):
@@ -474,16 +519,13 @@ class _PipelineRunner(abc.ABC):
474
519
  return workflow_handler
475
520
 
476
521
  @staticmethod
477
- @abc.abstractmethod
478
- def get_run_status(
479
- project,
480
- run,
481
- timeout=None,
482
- expected_statuses=None,
483
- notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
484
- **kwargs,
485
- ):
486
- pass
522
+ def _generate_workflow_finished_message(run_id, errors_counter, state):
523
+ text = f"Workflow {run_id} finished"
524
+ if errors_counter:
525
+ text += f" with {errors_counter} errors"
526
+ if state:
527
+ text += f", state={state}"
528
+ return text
487
529
 
488
530
 
489
531
  class _KFPRunner(_PipelineRunner):
@@ -585,12 +627,14 @@ class _KFPRunner(_PipelineRunner):
585
627
  return _PipelineRunStatus(run_id, cls, project=project, workflow=workflow_spec)
586
628
 
587
629
  @staticmethod
588
- def wait_for_completion(run_id, project=None, timeout=None, expected_statuses=None):
589
- if timeout is None:
590
- timeout = 60 * 60
630
+ def wait_for_completion(run, project=None, timeout=None, expected_statuses=None):
631
+ logger.info(
632
+ "Waiting for pipeline run completion", run_id=run.run_id, project=project
633
+ )
634
+ timeout = timeout or 60 * 60
591
635
  project_name = project.metadata.name if project else ""
592
636
  run_info = wait_for_pipeline_completion(
593
- run_id,
637
+ run.run_id,
594
638
  timeout=timeout,
595
639
  expected_statuses=expected_statuses,
596
640
  project=project_name,
@@ -608,51 +652,6 @@ class _KFPRunner(_PipelineRunner):
608
652
  return resp["run"].get("status", "")
609
653
  return ""
610
654
 
611
- @staticmethod
612
- def get_run_status(
613
- project,
614
- run,
615
- timeout=None,
616
- expected_statuses=None,
617
- notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
618
- **kwargs,
619
- ):
620
- if timeout is None:
621
- timeout = 60 * 60
622
- state = ""
623
- raise_error = None
624
- try:
625
- if timeout:
626
- logger.info("Waiting for pipeline run completion")
627
- state = run.wait_for_completion(
628
- timeout=timeout, expected_statuses=expected_statuses
629
- )
630
- except RuntimeError as exc:
631
- # push runs table also when we have errors
632
- raise_error = exc
633
-
634
- mldb = mlrun.db.get_run_db(secrets=project._secrets)
635
- runs = mldb.list_runs(project=project.name, labels=f"workflow={run.run_id}")
636
-
637
- # TODO: The below section duplicates notifiers.push_pipeline_run_results() logic. We should use it instead.
638
- had_errors = 0
639
- for r in runs:
640
- if r["status"].get("state", "") == "error":
641
- had_errors += 1
642
-
643
- text = f"Workflow {run.run_id} finished"
644
- if had_errors:
645
- text += f" with {had_errors} errors"
646
- if state:
647
- text += f", state={state}"
648
-
649
- notifiers = notifiers or project.notifiers
650
- notifiers.push(text, "info", runs)
651
-
652
- if raise_error:
653
- raise raise_error
654
- return state, had_errors, text
655
-
656
655
 
657
656
  class _LocalRunner(_PipelineRunner):
658
657
  """local pipelines runner"""
@@ -732,18 +731,10 @@ class _LocalRunner(_PipelineRunner):
732
731
  return ""
733
732
 
734
733
  @staticmethod
735
- def wait_for_completion(run_id, project=None, timeout=None, expected_statuses=None):
736
- pass
737
-
738
- @staticmethod
739
- def get_run_status(
740
- project,
741
- run,
742
- timeout=None,
743
- expected_statuses=None,
744
- notifiers: mlrun.utils.notifications.CustomNotificationPusher = None,
745
- **kwargs,
746
- ):
734
+ def wait_for_completion(run, project=None, timeout=None, expected_statuses=None):
735
+ # TODO: local runner blocks for the duration of the pipeline.
736
+ # Therefore usually there will be nothing to wait for.
737
+ # However, users may run functions with watch=False and then it can be useful to wait for the runs here.
747
738
  pass
748
739
 
749
740
 
@@ -924,13 +915,25 @@ class _RemoteRunner(_PipelineRunner):
924
915
  elif inner_engine.engine == _LocalRunner.engine:
925
916
  mldb = mlrun.db.get_run_db(secrets=project._secrets)
926
917
  pipeline_runner_run = mldb.read_run(run.run_id, project=project.name)
918
+
927
919
  pipeline_runner_run = mlrun.run.RunObject.from_dict(pipeline_runner_run)
920
+
921
+ # here we are waiting for the pipeline run to complete and refreshing after that the pipeline run from the
922
+ # db
923
+ # TODO: do it with timeout
928
924
  pipeline_runner_run.logs(db=mldb)
929
925
  pipeline_runner_run.refresh()
930
926
  run._state = mlrun.common.runtimes.constants.RunStates.run_state_to_pipeline_run_status(
931
927
  pipeline_runner_run.status.state
932
928
  )
933
929
  run._exc = pipeline_runner_run.status.error
930
+ return _LocalRunner.get_run_status(
931
+ project,
932
+ run,
933
+ timeout,
934
+ expected_statuses,
935
+ notifiers=notifiers,
936
+ )
934
937
 
935
938
  else:
936
939
  raise mlrun.errors.MLRunInvalidArgumentError(
mlrun/run.py CHANGED
@@ -791,6 +791,10 @@ def code_to_function(
791
791
  raise ValueError("code_output option is only used with notebooks")
792
792
 
793
793
  if is_nuclio:
794
+ mlrun.utils.helpers.validate_single_def_handler(
795
+ function_kind=sub_kind, code=code
796
+ )
797
+
794
798
  runtime = RuntimeKinds.resolve_nuclio_runtime(kind, sub_kind)
795
799
  # default_handler is only used in :mlrun sub kind, determine the handler to invoke in function.run()
796
800
  runtime.spec.default_handler = handler if sub_kind == "mlrun" else ""
@@ -27,7 +27,7 @@ from mlrun.runtimes.nuclio.api_gateway import (
27
27
  APIGatewaySpec,
28
28
  )
29
29
  from mlrun.runtimes.nuclio.function import NuclioSpec, NuclioStatus
30
- from mlrun.utils import logger
30
+ from mlrun.utils import logger, update_in
31
31
 
32
32
 
33
33
  class ApplicationSpec(NuclioSpec):
@@ -293,7 +293,7 @@ class ApplicationRuntime(RemoteRuntime):
293
293
 
294
294
  :return: True if the function is ready (deployed)
295
295
  """
296
- if self.requires_build() or force_build:
296
+ if (self.requires_build() and not self.spec.image) or force_build:
297
297
  self._fill_credentials()
298
298
  self._build_application_image(
299
299
  builder_env=builder_env,
@@ -367,6 +367,12 @@ class ApplicationRuntime(RemoteRuntime):
367
367
  )
368
368
 
369
369
  def from_image(self, image):
370
+ """
371
+ Deploy the function with an existing nuclio processor image.
372
+ This applies only for the reverse proxy and not the application image.
373
+
374
+ :param image: image name
375
+ """
370
376
  super().from_image(image)
371
377
  # nuclio implementation detail - when providing the image and emptying out the source code and build source,
372
378
  # nuclio skips rebuilding the image and simply takes the prebuilt image
@@ -374,6 +380,17 @@ class ApplicationRuntime(RemoteRuntime):
374
380
  self.status.application_source = self.spec.build.source
375
381
  self.spec.build.source = ""
376
382
 
383
+ # save the image in the status, so we won't repopulate the function source code
384
+ self.status.container_image = image
385
+
386
+ # ensure golang runtime and handler for the reverse proxy
387
+ self.spec.nuclio_runtime = "golang"
388
+ update_in(
389
+ self.spec.base_spec,
390
+ "spec.handler",
391
+ "main:Handler",
392
+ )
393
+
377
394
  @classmethod
378
395
  def get_filename_and_handler(cls) -> (str, str):
379
396
  reverse_proxy_file_path = pathlib.Path(__file__).parent / "reverse_proxy.go"
@@ -549,6 +566,12 @@ class ApplicationRuntime(RemoteRuntime):
549
566
  self.set_env("SIDECAR_PORT", self.spec.internal_application_port)
550
567
  self.set_env("SIDECAR_HOST", "http://localhost")
551
568
 
569
+ # configure the sidecar container as the default container for logging purposes
570
+ self.set_config(
571
+ "metadata.annotations",
572
+ {"kubectl.kubernetes.io/default-container": self.status.sidecar_name},
573
+ )
574
+
552
575
  def _sync_api_gateway(self):
553
576
  if not self.status.api_gateway_name:
554
577
  return
@@ -446,6 +446,11 @@ class RemoteRuntime(KubeResource):
446
446
  return self
447
447
 
448
448
  def from_image(self, image):
449
+ """
450
+ Deploy the function with an existing nuclio processor image.
451
+
452
+ :param image: image name
453
+ """
449
454
  config = nuclio.config.new_config()
450
455
  update_in(
451
456
  config,
@@ -480,7 +480,7 @@ class ServingRuntime(RemoteRuntime):
480
480
  trigger_args = stream.trigger_args or {}
481
481
 
482
482
  engine = self.spec.graph.engine or "async"
483
- if mlrun.mlconf.is_explicit_ack() and engine == "async":
483
+ if mlrun.mlconf.is_explicit_ack_enabled() and engine == "async":
484
484
  trigger_args["explicit_ack_mode"] = trigger_args.get(
485
485
  "explicit_ack_mode", "explicitOnly"
486
486
  )
mlrun/runtimes/pod.py CHANGED
@@ -215,9 +215,7 @@ class KubeResourceSpec(FunctionSpec):
215
215
  image_pull_secret or mlrun.mlconf.function.spec.image_pull_secret.default
216
216
  )
217
217
  self.node_name = node_name
218
- self.node_selector = (
219
- node_selector or mlrun.mlconf.get_default_function_node_selector()
220
- )
218
+ self.node_selector = node_selector or {}
221
219
  self._affinity = affinity
222
220
  self.priority_class_name = (
223
221
  priority_class_name or mlrun.mlconf.default_function_priority_class_name
@@ -532,7 +530,7 @@ class KubeResourceSpec(FunctionSpec):
532
530
  return
533
531
 
534
532
  # merge node selectors - precedence to existing node selector
535
- self.node_selector = mlrun.utils.helpers.merge_with_precedence(
533
+ self.node_selector = mlrun.utils.helpers.merge_dicts_with_precedence(
536
534
  node_selector, self.node_selector
537
535
  )
538
536
 
mlrun/serving/states.py CHANGED
@@ -1684,7 +1684,9 @@ def _init_async_objects(context, steps):
1684
1684
  wait_for_result = True
1685
1685
 
1686
1686
  source_args = context.get_param("source_args", {})
1687
- explicit_ack = is_explicit_ack_supported(context) and mlrun.mlconf.is_explicit_ack()
1687
+ explicit_ack = (
1688
+ is_explicit_ack_supported(context) and mlrun.mlconf.is_explicit_ack_enabled()
1689
+ )
1688
1690
 
1689
1691
  # TODO: Change to AsyncEmitSource once we can drop support for nuclio<1.12.10
1690
1692
  default_source = storey.SyncEmitSource(
mlrun/utils/helpers.py CHANGED
@@ -1618,28 +1618,25 @@ def additional_filters_warning(additional_filters, class_name):
1618
1618
  )
1619
1619
 
1620
1620
 
1621
- def merge_with_precedence(first_dict: dict, second_dict: dict) -> dict:
1621
+ def merge_dicts_with_precedence(*dicts: dict) -> dict:
1622
1622
  """
1623
- Merge two dictionaries with precedence given to keys from the second dictionary.
1623
+ Merge multiple dictionaries with precedence given to keys from later dictionaries.
1624
1624
 
1625
- This function merges two dictionaries, `first_dict` and `second_dict`, where keys from `second_dict`
1626
- take precedence in case of conflicts. If both dictionaries contain the same key,
1627
- the value from `second_dict` will overwrite the value from `first_dict`.
1625
+ This function merges an arbitrary number of dictionaries, where keys from dictionaries later
1626
+ in the argument list take precedence over keys from dictionaries earlier in the list. If all
1627
+ dictionaries contain the same key, the value from the last dictionary with that key will
1628
+ overwrite the values from earlier dictionaries.
1628
1629
 
1629
1630
  Example:
1630
1631
  >>> first_dict = {"key1": "value1", "key2": "value2"}
1631
1632
  >>> second_dict = {"key2": "new_value2", "key3": "value3"}
1632
- >>> merge_with_precedence(first_dict, second_dict)
1633
- {'key1': 'value1', 'key2': 'new_value2', 'key3': 'value3'}
1633
+ >>> third_dict = {"key3": "new_value3", "key4": "value4"}
1634
+ >>> merge_dicts_with_precedence(first_dict, second_dict, third_dict)
1635
+ {'key1': 'value1', 'key2': 'new_value2', 'key3': 'new_value3', 'key4': 'value4'}
1634
1636
 
1635
- Note:
1636
- - The merge operation uses the ** operator in Python, which combines key-value pairs
1637
- from each dictionary. Later dictionaries take precedence when there are conflicting keys.
1637
+ - If no dictionaries are provided, the function returns an empty dictionary.
1638
1638
  """
1639
- return {
1640
- **(first_dict or {}),
1641
- **(second_dict or {}),
1642
- }
1639
+ return {k: v for d in dicts if d for k, v in d.items()}
1643
1640
 
1644
1641
 
1645
1642
  def validate_component_version_compatibility(
@@ -1705,6 +1702,22 @@ def is_parquet_file(file_path, format_=None):
1705
1702
  )
1706
1703
 
1707
1704
 
1705
+ def validate_single_def_handler(function_kind: str, code: str):
1706
+ # The name of MLRun's wrapper is 'handler', which is why the handler function name cannot be 'handler'
1707
+ # it would override MLRun's wrapper
1708
+ if function_kind == "mlrun":
1709
+ # Find all lines that start with "def handler("
1710
+ pattern = re.compile(r"^def handler\(", re.MULTILINE)
1711
+ matches = pattern.findall(code)
1712
+
1713
+ # Only MLRun's wrapper handler (footer) can be in the code
1714
+ if len(matches) > 1:
1715
+ raise mlrun.errors.MLRunInvalidArgumentError(
1716
+ "The code file contains a function named “handler“, which is reserved. "
1717
+ + "Use a different name for your function."
1718
+ )
1719
+
1720
+
1708
1721
  def _reload(module, max_recursion_depth):
1709
1722
  """Recursively reload modules."""
1710
1723
  if max_recursion_depth <= 0:
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "4542af29f22f596b4e09be897f728a6e8f676b55",
3
- "version": "1.7.0-rc34"
2
+ "git_commit": "b2082382ddf7988e610a7ab6f9ea1a0ff8da863c",
3
+ "version": "1.7.0-rc35"
4
4
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlrun
3
- Version: 1.7.0rc34
3
+ Version: 1.7.0rc35
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -68,6 +68,7 @@ Requires-Dist: dask ~=2023.9.0 ; extra == 'all'
68
68
  Requires-Dist: databricks-sdk ~=0.13.0 ; extra == 'all'
69
69
  Requires-Dist: distributed ~=2023.9.0 ; extra == 'all'
70
70
  Requires-Dist: gcsfs <2024.4,>=2023.9.2 ; extra == 'all'
71
+ Requires-Dist: google-cloud-bigquery-storage ~=2.17 ; extra == 'all'
71
72
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'all'
72
73
  Requires-Dist: google-cloud-storage ==2.14.0 ; extra == 'all'
73
74
  Requires-Dist: google-cloud ==0.34 ; extra == 'all'
@@ -179,6 +180,7 @@ Requires-Dist: databricks-sdk ~=0.13.0 ; extra == 'databricks-sdk'
179
180
  Provides-Extra: google-cloud
180
181
  Requires-Dist: google-cloud-storage ==2.14.0 ; extra == 'google-cloud'
181
182
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'google-cloud'
183
+ Requires-Dist: google-cloud-bigquery-storage ~=2.17 ; extra == 'google-cloud'
182
184
  Requires-Dist: google-cloud ==0.34 ; extra == 'google-cloud'
183
185
  Provides-Extra: google-cloud-bigquery
184
186
  Requires-Dist: google-cloud-bigquery[bqstorage,pandas] ==3.14.1 ; extra == 'google-cloud-bigquery'
@@ -1,20 +1,20 @@
1
1
  mlrun/__init__.py,sha256=y08M1JcKXy5-9_5WaI9fn5aV5BxIQ5QkbduJK0OxWbA,7470
2
2
  mlrun/__main__.py,sha256=iAifncsrQQx6ozXXmz7GH1OiNl8PA7KS3TnwlxnHGeo,45890
3
- mlrun/config.py,sha256=5QrlkkUosFwziSFTtApeB2obpS-gW126lB8y5za7rhM,66103
3
+ mlrun/config.py,sha256=S9W9efq39CQ3IOLkg8iwYt4RovYxTmHTLPpDbLZvWzk,66068
4
4
  mlrun/errors.py,sha256=VpC_imeSz2twRMZZb7u90Zj29z6aO-tCxUHD3ZA_Axw,7465
5
5
  mlrun/execution.py,sha256=Gv7mzzaf5y8fIEF0VVu8dSJYQp2uCezXDUiE60cGxWU,41970
6
6
  mlrun/features.py,sha256=m17K_3l9Jktwb9dOwlHLTAPTlemsWrRF7dJhXUX0iJU,15429
7
7
  mlrun/k8s_utils.py,sha256=WdUajadvAhTR7sAMQdwFqKeJMimuTyqm02VdwK1A4xU,7023
8
8
  mlrun/lists.py,sha256=3PqBdcajdwhTe1XuFsAaHTuFVM2kjwepf31qqE82apg,8384
9
- mlrun/model.py,sha256=QA-Wi3Po5OB9Y7aR-vEFjLT4dkU-597QM4qAEmv-UvI,79092
9
+ mlrun/model.py,sha256=ymGFzkTmxDb40UJPfOEEyC3Uffe7vDXQNguDCfaZfWo,79091
10
10
  mlrun/render.py,sha256=n8SeY3ogVrsV02-7-H0lt1RmpkxGpbI-11RQx61Vq9E,13267
11
- mlrun/run.py,sha256=uIHNQ-OSrviNwkZ54cQy27SIO62WIaFHdwz08K5NwK0,43410
11
+ mlrun/run.py,sha256=5Tz7OPDKkbaRLzLOmEjVBYecZR_BKd0gqtkKt_v4SbE,43524
12
12
  mlrun/secrets.py,sha256=ibtCK79u7JVBZF6F0SP1-xXXF5MyrLEUs_TCWiJAnlc,7798
13
13
  mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
14
14
  mlrun/alerts/alert.py,sha256=JJfMFF-o0j8oTAIkyXAQG0YbU-kZlIDl0A8ILQi8vfA,6510
15
15
  mlrun/api/schemas/__init__.py,sha256=fEWH4I8hr5AdRJ7yoW44RlFB6NHkYDxyomP5J6ct1z4,14248
16
16
  mlrun/artifacts/__init__.py,sha256=daGrLqltI1nE3ES30nm-tanUnxReRzfyxyaxNRx2zbc,1168
17
- mlrun/artifacts/base.py,sha256=azVkiHaJq9JNFKlb91R1vwkdR2QEqF-rIn7bQIL6rf0,29148
17
+ mlrun/artifacts/base.py,sha256=EystjLta4XVdZP2x4nz1ZNlDUYKTIcFNfMVfBVseCHw,29168
18
18
  mlrun/artifacts/dataset.py,sha256=O_2g2RFHYEAXIBX86mgyc0wBNOhWLT7NlYvxFeLNTuw,16505
19
19
  mlrun/artifacts/manager.py,sha256=I_1mgQ0M8j9JgryFJsB2yN3Pv47oQM6Jfg1fotTPDX0,15323
20
20
  mlrun/artifacts/model.py,sha256=ObUkqFMejYOtq0CDFdpYwzwhQ5bsHv0dHTysuVPJnbs,21102
@@ -23,7 +23,7 @@ mlrun/common/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
23
23
  mlrun/common/constants.py,sha256=MdXxRPquVguW98WCnEUcJ9A46MOo-MrafFTk7QOK8BA,3052
24
24
  mlrun/common/helpers.py,sha256=LRIULbCg8afKkPnzsZ99-B-JPVjcwR1G9vO--1rzRrQ,1387
25
25
  mlrun/common/secrets.py,sha256=vc8WV82EZsCB5ENjUkObFOzZP59aZ1w8F82PTnqwBnc,5181
26
- mlrun/common/types.py,sha256=cs8AtoI6LSuf2LF5Hg2ZSQ0QTex5_KqVSmNAU8_rnlk,1037
26
+ mlrun/common/types.py,sha256=APVFvumnHpCG-yXlt6OSioMfkyT-DADPiW3dGG3dUFQ,1057
27
27
  mlrun/common/db/__init__.py,sha256=xY3wHC4TEJgez7qtnn1pQvHosi8-5UJOCtyGBS7FcGE,571
28
28
  mlrun/common/db/sql_session.py,sha256=Znc8KE2oLy4lg3_vRki1sVlNx59TgDSOTCXfU561hBU,2659
29
29
  mlrun/common/formatters/__init__.py,sha256=91yPb5xoLK7fTIOC5C7ndJMvyEBlQY6f0CjenLYbsZw,785
@@ -36,7 +36,7 @@ mlrun/common/formatters/run.py,sha256=eEBy1NEwGT9b98TWS2OetEbDnDrnHBIBVMrlXsxveo
36
36
  mlrun/common/model_monitoring/__init__.py,sha256=x0EMEvxVjHsm858J1t6IEA9dtKTdFpJ9sKhss10ld8A,721
37
37
  mlrun/common/model_monitoring/helpers.py,sha256=1CpxIDQPumFnpUB1eqcvCpLlyPFVeW2sL6prM-N5A1A,4405
38
38
  mlrun/common/runtimes/constants.py,sha256=Rl0Sd8n_L7Imo-uF1LL9CJ5Szi0W1gUm36yrF8PXfSc,10989
39
- mlrun/common/schemas/__init__.py,sha256=txPKk2yW6vpyIc6ri48JD0vBwFpZfSdW3CFjVp7XDl0,5252
39
+ mlrun/common/schemas/__init__.py,sha256=CUX4F6VeowqX5PzakB7xgGs2lJZAN42RMm1asB-kf1c,5227
40
40
  mlrun/common/schemas/alert.py,sha256=Gb2eSjZLTkm-lGy_rQ_D4crEjCTdyf1N90bnIJmQ1H8,6574
41
41
  mlrun/common/schemas/api_gateway.py,sha256=_1JyCFNP89dAcFxQE-C8Tj8o6TvPgV13aBzU3wRcM4g,6908
42
42
  mlrun/common/schemas/artifact.py,sha256=V3ngobnzI1v2eoOroWBEedjAZu0ntCSIQ-LzsOK1Z9k,3570
@@ -55,7 +55,7 @@ mlrun/common/schemas/http.py,sha256=1PtYFhF6sqLSBRcuPMtYcUGmroBhaleqLmYidSdL9LM,
55
55
  mlrun/common/schemas/hub.py,sha256=cuv_vpkO27XNCZzfytnUyi0k0ZA4wf_QRn5B0ZPoK-Y,4116
56
56
  mlrun/common/schemas/k8s.py,sha256=nmMnhgjVMLem5jyumoG2eQKioGK9eUVhQnOSb3hG7yw,1395
57
57
  mlrun/common/schemas/memory_reports.py,sha256=tpS3fpvxa6VcBpzCRzcZTt0fCF0h6ReUetYs7j6kdps,892
58
- mlrun/common/schemas/notification.py,sha256=Ge7eWNGf_XUFkjOnUkyUOubdEbmXh9z_OSGcSturt4w,1768
58
+ mlrun/common/schemas/notification.py,sha256=vEYaz5wfTo3zGLkvf36uNdVdCExfmmGwoDWm3CUjUW8,1775
59
59
  mlrun/common/schemas/object.py,sha256=VleJSUmDJMl92knLgaDE8SWCi3ky0UaHcwcwOIapPQ8,1980
60
60
  mlrun/common/schemas/pagination.py,sha256=q7nk6bipkDiE7HExIVqhy5ANl-zv0x8QC9Kg6AkLtDA,887
61
61
  mlrun/common/schemas/pipeline.py,sha256=MhH07_fAQXNAnmf5j6oXZp8qh9cxGcZlReMdt-ZJf40,1429
@@ -67,8 +67,8 @@ mlrun/common/schemas/schedule.py,sha256=nD9kxH2KjXkbGZPNfzVNlNSxbyFZmZUlwtT04_z2
67
67
  mlrun/common/schemas/secret.py,sha256=51tCN1F8DFTq4y_XdHIMDy3I1TnMEBX8kO8BHKavYF4,1484
68
68
  mlrun/common/schemas/tag.py,sha256=OAn9Qt6z8ibqw8uU8WQSvuwY8irUv45Dhx2Ko5FzUss,884
69
69
  mlrun/common/schemas/workflow.py,sha256=eRoaOBFiWbvP0iwZ6Aof5JmheV81A0-0PGi8L4vuXmI,1823
70
- mlrun/common/schemas/model_monitoring/__init__.py,sha256=Z_tv5dO-tT_oHMSk98AnDQW0XM-fXqNKduFxkW3jO_E,1809
71
- mlrun/common/schemas/model_monitoring/constants.py,sha256=izIN1HUF_rWpbxVR2AYXGww-Noq9rnx2k7zOvrRt7Js,9921
70
+ mlrun/common/schemas/model_monitoring/__init__.py,sha256=uCnHhhVZkWbbtsawIjOa3ub9ShDJK2md-s2fbx46crg,1792
71
+ mlrun/common/schemas/model_monitoring/constants.py,sha256=sknS628AliiJzrOfDImTIxwBiHTgWNBxH2A7eiGnAMo,9438
72
72
  mlrun/common/schemas/model_monitoring/grafana.py,sha256=SG13MFUUz_tk6-mWeSx17qcdEW4ekicxqNtnMSwRTCY,1559
73
73
  mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=3wPlCFNoBsHlCMgyJlXfNP-ZqIRsBXzyBX79O2PHkeg,13799
74
74
  mlrun/data_types/__init__.py,sha256=EkxfkFoHb91zz3Aymq-KZfCHlPMzEc3bBqgzPUwmHWY,1087
@@ -90,7 +90,7 @@ mlrun/datastore/inmem.py,sha256=d2dIvHlOQylhc-i4B5Kk9e9ayXnF7DICc5yUlHcNwqs,2873
90
90
  mlrun/datastore/redis.py,sha256=OKMkDCU3APhxfo65SyJq605u1DsfOYH0fODnCXZRqEU,5575
91
91
  mlrun/datastore/s3.py,sha256=YXLIcsODJJuIuTTp4MTPjJqbvxzPRMeXpbImV9_q8Y8,8449
92
92
  mlrun/datastore/snowflake_utils.py,sha256=Wohvnlmq8j1d98RCaknll-iWdZZpSlCrKhUOEy0_-CA,1483
93
- mlrun/datastore/sources.py,sha256=RDa-QFJD95m3ClgHJogjcJK1HEPGZopxG4BTDUEuTQ4,46506
93
+ mlrun/datastore/sources.py,sha256=Mxn2aS42kSv7I6GrNixUHMjE8taEvs6-YQZE2L4Lsxg,46564
94
94
  mlrun/datastore/spark_udf.py,sha256=NnnB3DZxZb-rqpRy7b-NC7QWXuuqFn3XkBDc86tU4mQ,1498
95
95
  mlrun/datastore/spark_utils.py,sha256=50rllp6xXpXY__1LbU7aTXUU5ca8dKAfoskPre3npZo,1611
96
96
  mlrun/datastore/store_resources.py,sha256=rcLoG506AMmR8qPJU_gE-G5d34VJVV_vNlZ3VHqho6c,6869
@@ -101,9 +101,9 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
101
101
  mlrun/datastore/wasbfs/fs.py,sha256=MnSj7Q4OKA2L55ihCmUnj2t3GA3B77oLMdAw-yxvN9w,6151
102
102
  mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
103
103
  mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
104
- mlrun/db/base.py,sha256=cHMkIJW1cnhIH8dxVjZTusUDsFirtKaEjDuF7he0VWM,24185
104
+ mlrun/db/base.py,sha256=VztBik6tUYFKGRVXIsXZE7HrALx0hO_sgpCcE2O0cLU,24156
105
105
  mlrun/db/factory.py,sha256=ibIrE5QkIIyzDU1FXKrfbc31cZiRLYKDZb8dqCpQwyU,2397
106
- mlrun/db/httpdb.py,sha256=ivOg9Sy5HVT62nhIis365KhNrsWS5sS-rgLZ33Tc-7I,183980
106
+ mlrun/db/httpdb.py,sha256=UW-vVFS5xAavHtZi1GmiEhGr9P2s3O8b9OkqgpcY7-o,183981
107
107
  mlrun/db/nopdb.py,sha256=d7vSk_2sfwZGY24w7ucSkoq88fLPDLF137IXabongXU,20791
108
108
  mlrun/feature_store/__init__.py,sha256=FhHRc8NdqL_HWpCs7A8dKruxJS5wEm55Gs3dcgBiRUg,1522
109
109
  mlrun/feature_store/api.py,sha256=uYheyPkJOVCrz1jivvpGatgy_JBAq0It0XZqPpNVQkE,48699
@@ -217,15 +217,14 @@ mlrun/model_monitoring/evidently_application.py,sha256=iOc42IVjj8m6PDBmVcKIMWm46
217
217
  mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
218
218
  mlrun/model_monitoring/helpers.py,sha256=jD9m_Dte16kDZc1GCXvv-0z-MCel1LRg_6Pn1nwqk7A,11599
219
219
  mlrun/model_monitoring/model_endpoint.py,sha256=7VX0cBATqLsA4sSinDzouf41ndxqh2mf5bO9BW0G5Z4,4017
220
- mlrun/model_monitoring/prometheus.py,sha256=cUR4y73GutJB_pA_VCBDl9YtK4PcIJp2wj2rnLVmYi4,7578
221
- mlrun/model_monitoring/stream_processing.py,sha256=KJXvmVbAQsgLLLxd6kM_KZCInjWzJUSGiss4dMHuSTU,42545
220
+ mlrun/model_monitoring/stream_processing.py,sha256=eFSeli4W0KHaY6x8r9Qg7aBWy52x4IY3BbD6wDIrT9I,37168
222
221
  mlrun/model_monitoring/tracking_policy.py,sha256=sQq956akAQpntkrJwIgFWcEq-JpyVcg0FxgNa4h3V70,5502
223
222
  mlrun/model_monitoring/writer.py,sha256=aQ1DAi5XUi1WXXfcSgBQGKiTANT6E61I74abiu_5s8s,9824
224
223
  mlrun/model_monitoring/applications/__init__.py,sha256=i793GqYee01mRh_KD6GShvX7UbPBgdJDO4qf9Z3BXEQ,970
225
224
  mlrun/model_monitoring/applications/_application_steps.py,sha256=-g9jxIAFM5f22iJaUAQVlM8QRSv6KFT92I4WHmZe_f0,6028
226
225
  mlrun/model_monitoring/applications/base.py,sha256=buVKyghH4AB3chZ5py1vyMIFnTF-deY8YDf_fPC9BnQ,11307
227
226
  mlrun/model_monitoring/applications/context.py,sha256=LGRJdI1eyyssFzjE4W_rk2VAUV8KpOkUZUX3xCmnC9g,8537
228
- mlrun/model_monitoring/applications/evidently_base.py,sha256=AE_eIz-GEYm3AZTrMCiqF9bcSMlvYk08LJb6bKWAQLg,8057
227
+ mlrun/model_monitoring/applications/evidently_base.py,sha256=AZKZkIdHDBLN2tCVQq2gIKVBszQfor5GUUNqHIUnlS0,7987
229
228
  mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=TE6995h2PyO4lytVngH2HidhXFY7reLupWi4cHmdZdw,13163
230
229
  mlrun/model_monitoring/applications/results.py,sha256=VVlu9Si7Tj2LNJzPQrp4_Qeyh9mxOVMu1Jwb5K2LfvY,3577
231
230
  mlrun/model_monitoring/db/__init__.py,sha256=6Ic-X3Fh9XLPYMytmevGNSs-Hii1rAjLLoFTSPwTguw,736
@@ -233,22 +232,22 @@ mlrun/model_monitoring/db/stores/__init__.py,sha256=ZScmxeZZ3yZ84MocdDGRtvVIixSo
233
232
  mlrun/model_monitoring/db/stores/base/__init__.py,sha256=JufJETW3BXzPhFwbRa8dMf7BFGGZKceIWIMgr5x9n9c,599
234
233
  mlrun/model_monitoring/db/stores/base/store.py,sha256=xaiaUwXDYYV1z6e17Ny9IiE3a7pSiEFg8nffdWHSq0A,7517
235
234
  mlrun/model_monitoring/db/stores/sqldb/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
236
- mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=0RApL8I9YWBU7-U6D5_WaWwkrUbqixIJjV6iggeAIuA,25198
235
+ mlrun/model_monitoring/db/stores/sqldb/sql_store.py,sha256=yyrmOR34usE0ig1zVqXw6s9XWcDGtHpOVOi8fbtN4bY,25415
237
236
  mlrun/model_monitoring/db/stores/sqldb/models/__init__.py,sha256=lCiGw9WKPtHAIgrtNS2jyvM5OZvZvogBh76iurNYblg,2453
238
237
  mlrun/model_monitoring/db/stores/sqldb/models/base.py,sha256=V2B5WdQM0KHKq0FNDq61q7tkNJ9fNRbxfnxrholKgjk,5352
239
238
  mlrun/model_monitoring/db/stores/sqldb/models/mysql.py,sha256=tCzc5ANPxZw7tIPsn9p30woK0_s2HU_FsNzA3hL2wQs,2666
240
239
  mlrun/model_monitoring/db/stores/sqldb/models/sqlite.py,sha256=yJJZppbKj3PsOANS_DXAQFFHKX4cQcm6Pz2DoxRiXMk,1104
241
240
  mlrun/model_monitoring/db/stores/v3io_kv/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
242
- mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=ACBpi_MTa6ByOheSPM6X_tsG4AAyqd65SNcnl3lRrYc,26290
241
+ mlrun/model_monitoring/db/stores/v3io_kv/kv_store.py,sha256=t1rF9nNENOn9Yi6ujfMknTaNX4-7Ty6hSUJZITGEk6I,26298
243
242
  mlrun/model_monitoring/db/tsdb/__init__.py,sha256=_Mfa4gguX86OS1fQCxnt_QSaNh603-zPYAK8NjYk7t8,4040
244
- mlrun/model_monitoring/db/tsdb/base.py,sha256=sESs5U71a-iJKI-999sAloYH-mjOR3uSEQG7BxRs6No,13134
243
+ mlrun/model_monitoring/db/tsdb/base.py,sha256=LWjiqUQqf7PqbXxwXnrImcBY85ChrjmwxWkNEkgmI3E,13240
245
244
  mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
246
245
  mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
247
246
  mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=94u886UtyK40YNtdOX8WiJUImDytygdaqIzFwo_ExzI,8881
248
- mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=x1cWM2ystghHUeDZNgnaN4kI_XjFOnh1FRBRJAX-tsw,1620
247
+ mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=Hb0vcCBP-o0ET78mU4P32fnhUL65QZv-pMuv2lnCby4,1586
249
248
  mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=oplt9s-C-OGa__V456nkHwvyBe5YHxcuIJcYV9GFQHY,15521
250
249
  mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
251
- mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=qbiyBzrdWLJAKLmJV4K8jUxsAMbKGZ1vip7WNfRcpXM,4764
250
+ mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=NdiqMBERfAmIdOWKiXvZTfmICsjnSAT4-8-b6ZDKiiE,5440
252
251
  mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=hroUaoxbvKHDqM5L01p4EuYNuFjzaUQyT-HWt47LJCY,26362
253
252
  mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
254
253
  mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
@@ -273,7 +272,7 @@ mlrun/platforms/__init__.py,sha256=ggSGF7inITs6S-vj9u4S9X_5psgbA0G3GVqf7zu8qYc,2
273
272
  mlrun/platforms/iguazio.py,sha256=1h5BpdAEQJBg2vIt7ySjUADU0ip5OkaMYr0_VREi9ys,13084
274
273
  mlrun/projects/__init__.py,sha256=Lv5rfxyXJrw6WGOWJKhBz66M6t3_zsNMCfUD6waPwx4,1153
275
274
  mlrun/projects/operations.py,sha256=Y-NwrIFXpltUXcDLDQ9b33NY_r4TOPvJgO4F-xSuzoM,19252
276
- mlrun/projects/pipelines.py,sha256=Xc9tQSBBPEg1Yxn-b4RseFdfO7SvrYC-ekdw_hAcPH8,40006
275
+ mlrun/projects/pipelines.py,sha256=_589S5rtZUV6cne1yPvOVhh3oB83fIwdQqNg47R2e6I,40608
277
276
  mlrun/projects/project.py,sha256=ROcuNkjV6kA8oGrnk4-MFj_0h5D04af9oWmXqVq7-lg,184688
278
277
  mlrun/runtimes/__init__.py,sha256=0-tYDkew-Cr4DM-wztvMbzDA5xq385Jjo-GrtO_84Sc,8741
279
278
  mlrun/runtimes/base.py,sha256=g716uF0BpL6vLe75bNqpJ2SjtYW_tQqICl46d_4ljHs,37633
@@ -283,7 +282,7 @@ mlrun/runtimes/function_reference.py,sha256=iWKRe4r2GTc5S8FOIASYUNLwwne8NqIui51P
283
282
  mlrun/runtimes/generators.py,sha256=v28HdNgxdHvj888G1dTnUeQZz-D9iTO0hoGeZbCdiuQ,7241
284
283
  mlrun/runtimes/kubejob.py,sha256=ptBnMTIjukbEznkdixmbGvBqzujXrRzqNfP7ze6M76M,8660
285
284
  mlrun/runtimes/local.py,sha256=h_w0tzCfF1_tZZEjw-FJHqYmoxK-AhN2skpK7cdU1JI,22611
286
- mlrun/runtimes/pod.py,sha256=XeV6CMlCxPb776bWNESkh0ImwHeia65KL_tvCSdNzlo,63249
285
+ mlrun/runtimes/pod.py,sha256=j0zsnbZq1p_RuK5u9re7iAX-E-UVnhm3Nx9JFfHFy9U,63184
287
286
  mlrun/runtimes/remotesparkjob.py,sha256=9DPxDK8x08t9nReMo083TBxJiiqA83mHCbdtxrjj7AU,7426
288
287
  mlrun/runtimes/utils.py,sha256=OFATL8d0c5vKN9N2enAu2oS3b4H71RfeG776ZnfZ0J4,14332
289
288
  mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
@@ -295,11 +294,11 @@ mlrun/runtimes/mpijob/abstract.py,sha256=kDWo-IY1FKLZhI30j38Xx9HMhlUvHezfd1DT2Sh
295
294
  mlrun/runtimes/mpijob/v1.py,sha256=1XQZC7AIMGX_AQCbApcwpH8I7y39-v0v2O35MvxjXoo,3213
296
295
  mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
297
296
  mlrun/runtimes/nuclio/api_gateway.py,sha256=TsEZFv-Ene2WZCS9jKReVmuMil_kIbcr9eFmmLxgsYU,25781
298
- mlrun/runtimes/nuclio/function.py,sha256=Y-lNSQJXzsYXu4wCVOB69fv_X9ZvB-uwS1UZhbQPucE,50411
297
+ mlrun/runtimes/nuclio/function.py,sha256=Eor5qem-nn64JFynwg-BShFkNRpleQWamjIY0_70Pdg,50538
299
298
  mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
300
- mlrun/runtimes/nuclio/serving.py,sha256=qefcNtvAETt5otI4NymZnY_5Su6MTHmI35WHZsrCqww,29746
299
+ mlrun/runtimes/nuclio/serving.py,sha256=eUMqtIU6NYIVgKtxfxKN7pd9_QCo_V0aurrjUSU3s08,29754
301
300
  mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
302
- mlrun/runtimes/nuclio/application/application.py,sha256=EO0hY86ZX4XWf7F5mnEX-VTbii1Q_UtVyeoCSEJa0XE,20817
301
+ mlrun/runtimes/nuclio/application/application.py,sha256=v-AqrHfp_nL3orVWzxBWTY-alW7tks6dfEEWRlKcbYE,21665
303
302
  mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=JIIYae6bXzCLf3jXuu49KWPQYoXr_FDQ2Rbo1OWKAd0,3150
304
303
  mlrun/runtimes/sparkjob/__init__.py,sha256=_KPvk0qefeLtHO6lxQE_AMOGiMTG_OT48eRCE4Z2ldw,709
305
304
  mlrun/runtimes/sparkjob/spark3job.py,sha256=1bNRy72Migrh_ZASQOx7UlSZTbB-xpNc76sz4kfc9UM,41191
@@ -309,7 +308,7 @@ mlrun/serving/remote.py,sha256=MrFByphQWmIsKXqw-MOwl2Q1hbtWReYVRKvlcKj9pfw,17980
309
308
  mlrun/serving/routers.py,sha256=tjTAiLkV-BcRnUfbTqfrKB0j2LMTMygG_2oV_eQ26bs,55470
310
309
  mlrun/serving/server.py,sha256=LUf38ArOvs1cUbqxr3ZT015DTr4G5GIlToRaKqbhamc,21512
311
310
  mlrun/serving/serving_wrapper.py,sha256=R670-S6PX_d5ER6jiHtRvacuPyFzQH0mEf2K0sBIIOM,836
312
- mlrun/serving/states.py,sha256=VuRqrZG-Vhhy8Nfi0IiYG2Adn4kAIDZsWgRDfcOKibo,59641
311
+ mlrun/serving/states.py,sha256=xJrKyeFT9HcvzCHv5zUhtW96I3qpBYWrM1Dgbp5sa3c,59665
313
312
  mlrun/serving/utils.py,sha256=lej7XcUPX1MmHkEOi_0KZRGSpfbmpnE0GK_Sn4zLkHY,4025
314
313
  mlrun/serving/v1_serving.py,sha256=by4myxlnwyZ0ijQ5fURilGCK1sUpdQL2Il1VR3Xqpxg,11805
315
314
  mlrun/serving/v2_serving.py,sha256=ARsAU0xaQqZoYWdtTLauMPlIX33Nus-BFQOTPZBYda8,24496
@@ -324,7 +323,7 @@ mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,34
324
323
  mlrun/utils/clones.py,sha256=mJpx4nyFiY6jlBCvFABsNuyi_mr1mvfPWn81vlafpOU,7361
325
324
  mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
326
325
  mlrun/utils/db.py,sha256=2TydIZzJJs9Rf8Qid6ze-Odb1HIzSPAT-Jr-HuHAris,1863
327
- mlrun/utils/helpers.py,sha256=TUADKuE5d9jDpjiykNbQ9fV2G3e0StaZIsAcIX12VoI,56948
326
+ mlrun/utils/helpers.py,sha256=ZBLxZ0rJV-rRsM3lwmIG92KT2rFLpkJyPS9-8Loh3Lg,57703
328
327
  mlrun/utils/http.py,sha256=l_JCPrCq8bfYUcUcAFWUPvb9Xu-93bLGIhV-H-XCU9s,8707
329
328
  mlrun/utils/logger.py,sha256=cag2J30-jynIHmHZ2J8RYmVMNhYBGgAoimc5sbk-A1U,10016
330
329
  mlrun/utils/regex.py,sha256=b0AUa2THS-ELzJj0grl5b8Stq609F2XomTZkD9SB1fQ,4900
@@ -342,11 +341,11 @@ mlrun/utils/notifications/notification/ipython.py,sha256=ZtVL30B_Ha0VGoo4LxO-voT
342
341
  mlrun/utils/notifications/notification/slack.py,sha256=wqpFGr5BTvFO5KuUSzFfxsgmyU1Ohq7fbrGeNe9TXOk,7006
343
342
  mlrun/utils/notifications/notification/webhook.py,sha256=cb9w1Mc8ENfJBdgan7iiVHK9eVls4-R3tUxmXM-P-8I,4746
344
343
  mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
345
- mlrun/utils/version/version.json,sha256=zEtEwyoNa009X90xhQ4jFOfgdeXH8KwRfsHjXy_i7-I,89
344
+ mlrun/utils/version/version.json,sha256=STte9QxBCHjOGgF8GTITr-yCOmlnRcYeVBIeb6zNyyY,89
346
345
  mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
347
- mlrun-1.7.0rc34.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
348
- mlrun-1.7.0rc34.dist-info/METADATA,sha256=nAG6_6ocnS0VmLAyKlqb_EiEAGlCqylo-aMGixGAB8o,19534
349
- mlrun-1.7.0rc34.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
350
- mlrun-1.7.0rc34.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
351
- mlrun-1.7.0rc34.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
352
- mlrun-1.7.0rc34.dist-info/RECORD,,
346
+ mlrun-1.7.0rc35.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
347
+ mlrun-1.7.0rc35.dist-info/METADATA,sha256=v57UgHO_1uk7N4r8Z2i--KbEI4vcwqhgi55rt9z6frk,19681
348
+ mlrun-1.7.0rc35.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
349
+ mlrun-1.7.0rc35.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
350
+ mlrun-1.7.0rc35.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
351
+ mlrun-1.7.0rc35.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.1.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5