mlrun 1.9.0rc4__py3-none-any.whl → 1.10.0rc2__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (193) hide show
  1. mlrun/__main__.py +13 -2
  2. mlrun/api/schemas/__init__.py +0 -1
  3. mlrun/common/__init__.py +0 -1
  4. mlrun/common/constants.py +7 -0
  5. mlrun/common/db/__init__.py +0 -1
  6. mlrun/common/db/sql_session.py +0 -1
  7. mlrun/common/formatters/__init__.py +0 -1
  8. mlrun/common/formatters/artifact.py +0 -1
  9. mlrun/common/formatters/base.py +0 -1
  10. mlrun/common/formatters/feature_set.py +0 -1
  11. mlrun/common/formatters/function.py +0 -1
  12. mlrun/common/formatters/model_endpoint.py +0 -1
  13. mlrun/common/formatters/pipeline.py +0 -1
  14. mlrun/common/formatters/project.py +0 -1
  15. mlrun/common/formatters/run.py +0 -2
  16. mlrun/common/runtimes/constants.py +9 -2
  17. mlrun/common/schemas/__init__.py +2 -0
  18. mlrun/common/schemas/alert.py +1 -1
  19. mlrun/common/schemas/api_gateway.py +1 -1
  20. mlrun/common/schemas/artifact.py +1 -1
  21. mlrun/common/schemas/auth.py +1 -1
  22. mlrun/common/schemas/background_task.py +1 -1
  23. mlrun/common/schemas/client_spec.py +1 -1
  24. mlrun/common/schemas/clusterization_spec.py +1 -1
  25. mlrun/common/schemas/constants.py +1 -1
  26. mlrun/common/schemas/datastore_profile.py +0 -1
  27. mlrun/common/schemas/events.py +1 -1
  28. mlrun/common/schemas/feature_store.py +1 -1
  29. mlrun/common/schemas/frontend_spec.py +1 -1
  30. mlrun/common/schemas/function.py +1 -1
  31. mlrun/common/schemas/http.py +1 -1
  32. mlrun/common/schemas/hub.py +1 -1
  33. mlrun/common/schemas/k8s.py +1 -1
  34. mlrun/common/schemas/memory_reports.py +0 -1
  35. mlrun/common/schemas/notification.py +4 -0
  36. mlrun/common/schemas/object.py +1 -1
  37. mlrun/common/schemas/partition.py +1 -1
  38. mlrun/common/schemas/pipeline.py +1 -1
  39. mlrun/common/schemas/project.py +1 -1
  40. mlrun/common/schemas/regex.py +1 -1
  41. mlrun/common/schemas/runtime_resource.py +1 -1
  42. mlrun/common/schemas/schedule.py +1 -1
  43. mlrun/common/schemas/secret.py +1 -1
  44. mlrun/common/schemas/serving.py +17 -0
  45. mlrun/common/schemas/tag.py +0 -1
  46. mlrun/common/schemas/workflow.py +1 -1
  47. mlrun/common/secrets.py +0 -1
  48. mlrun/config.py +9 -11
  49. mlrun/data_types/infer.py +1 -1
  50. mlrun/data_types/spark.py +1 -1
  51. mlrun/datastore/datastore.py +1 -1
  52. mlrun/datastore/datastore_profile.py +5 -55
  53. mlrun/datastore/snowflake_utils.py +0 -1
  54. mlrun/datastore/sources.py +21 -13
  55. mlrun/datastore/spark_utils.py +0 -1
  56. mlrun/datastore/utils.py +20 -5
  57. mlrun/db/base.py +1 -1
  58. mlrun/db/httpdb.py +17 -12
  59. mlrun/db/nopdb.py +1 -2
  60. mlrun/errors.py +8 -1
  61. mlrun/execution.py +22 -1
  62. mlrun/feature_store/feature_set.py +0 -12
  63. mlrun/feature_store/retrieval/base.py +1 -1
  64. mlrun/feature_store/retrieval/dask_merger.py +1 -1
  65. mlrun/feature_store/retrieval/job.py +1 -1
  66. mlrun/feature_store/retrieval/spark_merger.py +0 -2
  67. mlrun/feature_store/steps.py +1 -1
  68. mlrun/features.py +1 -1
  69. mlrun/frameworks/_common/artifacts_library.py +1 -1
  70. mlrun/frameworks/_common/mlrun_interface.py +1 -1
  71. mlrun/frameworks/_common/model_handler.py +3 -3
  72. mlrun/frameworks/_common/producer.py +0 -1
  73. mlrun/frameworks/_common/utils.py +1 -1
  74. mlrun/frameworks/_dl_common/loggers/logger.py +0 -1
  75. mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +1 -1
  76. mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +1 -1
  77. mlrun/frameworks/_dl_common/model_handler.py +1 -1
  78. mlrun/frameworks/_dl_common/utils.py +1 -1
  79. mlrun/frameworks/_ml_common/artifacts_library.py +1 -1
  80. mlrun/frameworks/_ml_common/loggers/logger.py +0 -1
  81. mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +1 -1
  82. mlrun/frameworks/_ml_common/model_handler.py +1 -1
  83. mlrun/frameworks/_ml_common/pkl_model_server.py +1 -1
  84. mlrun/frameworks/_ml_common/plan.py +1 -1
  85. mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +0 -1
  86. mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +0 -1
  87. mlrun/frameworks/_ml_common/plans/dataset_plan.py +1 -1
  88. mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +1 -1
  89. mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +1 -1
  90. mlrun/frameworks/_ml_common/producer.py +1 -1
  91. mlrun/frameworks/_ml_common/utils.py +1 -1
  92. mlrun/frameworks/lgbm/callbacks/callback.py +1 -1
  93. mlrun/frameworks/lgbm/callbacks/logging_callback.py +0 -1
  94. mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +0 -1
  95. mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +1 -1
  96. mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +1 -1
  97. mlrun/frameworks/lgbm/mlrun_interfaces/model_mlrun_interface.py +1 -1
  98. mlrun/frameworks/lgbm/model_handler.py +1 -1
  99. mlrun/frameworks/lgbm/model_server.py +1 -1
  100. mlrun/frameworks/lgbm/utils.py +1 -1
  101. mlrun/frameworks/onnx/dataset.py +1 -1
  102. mlrun/frameworks/onnx/mlrun_interface.py +1 -1
  103. mlrun/frameworks/onnx/model_handler.py +1 -1
  104. mlrun/frameworks/onnx/model_server.py +1 -1
  105. mlrun/frameworks/pytorch/callbacks/callback.py +1 -1
  106. mlrun/frameworks/pytorch/callbacks/logging_callback.py +1 -1
  107. mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +1 -1
  108. mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +1 -1
  109. mlrun/frameworks/pytorch/callbacks_handler.py +1 -1
  110. mlrun/frameworks/pytorch/mlrun_interface.py +1 -1
  111. mlrun/frameworks/pytorch/model_handler.py +1 -1
  112. mlrun/frameworks/pytorch/model_server.py +1 -1
  113. mlrun/frameworks/pytorch/utils.py +1 -1
  114. mlrun/frameworks/sklearn/__init__.py +0 -14
  115. mlrun/frameworks/sklearn/estimator.py +1 -1
  116. mlrun/frameworks/sklearn/metric.py +1 -1
  117. mlrun/frameworks/sklearn/metrics_library.py +1 -1
  118. mlrun/frameworks/sklearn/mlrun_interface.py +1 -1
  119. mlrun/frameworks/sklearn/model_handler.py +1 -1
  120. mlrun/frameworks/sklearn/utils.py +1 -1
  121. mlrun/frameworks/tf_keras/callbacks/logging_callback.py +1 -1
  122. mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +1 -1
  123. mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +1 -1
  124. mlrun/frameworks/tf_keras/mlrun_interface.py +1 -1
  125. mlrun/frameworks/tf_keras/model_handler.py +1 -1
  126. mlrun/frameworks/tf_keras/model_server.py +1 -1
  127. mlrun/frameworks/tf_keras/utils.py +1 -1
  128. mlrun/frameworks/xgboost/mlrun_interface.py +1 -1
  129. mlrun/frameworks/xgboost/model_handler.py +1 -1
  130. mlrun/frameworks/xgboost/utils.py +1 -1
  131. mlrun/k8s_utils.py +340 -0
  132. mlrun/launcher/base.py +3 -3
  133. mlrun/launcher/client.py +1 -1
  134. mlrun/launcher/local.py +2 -2
  135. mlrun/launcher/remote.py +2 -2
  136. mlrun/model.py +14 -0
  137. mlrun/model_monitoring/applications/__init__.py +0 -1
  138. mlrun/model_monitoring/applications/_application_steps.py +3 -1
  139. mlrun/model_monitoring/applications/evidently/base.py +59 -71
  140. mlrun/model_monitoring/controller.py +26 -13
  141. mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +13 -5
  142. mlrun/package/context_handler.py +1 -1
  143. mlrun/package/errors.py +1 -1
  144. mlrun/package/packager.py +1 -1
  145. mlrun/package/packagers/default_packager.py +1 -1
  146. mlrun/package/packagers/numpy_packagers.py +1 -1
  147. mlrun/package/packagers/pandas_packagers.py +1 -1
  148. mlrun/package/packagers/python_standard_library_packagers.py +1 -1
  149. mlrun/package/packagers_manager.py +1 -1
  150. mlrun/package/utils/_archiver.py +1 -1
  151. mlrun/package/utils/_formatter.py +1 -1
  152. mlrun/package/utils/_pickler.py +1 -1
  153. mlrun/package/utils/_supported_format.py +1 -1
  154. mlrun/package/utils/log_hint_utils.py +1 -1
  155. mlrun/package/utils/type_hint_utils.py +1 -1
  156. mlrun/projects/operations.py +36 -21
  157. mlrun/projects/project.py +147 -92
  158. mlrun/render.py +5 -9
  159. mlrun/run.py +1 -1
  160. mlrun/runtimes/base.py +17 -7
  161. mlrun/runtimes/daskjob.py +2 -1
  162. mlrun/runtimes/databricks_job/databricks_cancel_task.py +0 -1
  163. mlrun/runtimes/databricks_job/databricks_runtime.py +2 -1
  164. mlrun/runtimes/databricks_job/databricks_wrapper.py +0 -1
  165. mlrun/runtimes/mounts.py +2 -0
  166. mlrun/runtimes/nuclio/function.py +5 -0
  167. mlrun/runtimes/nuclio/serving.py +1 -1
  168. mlrun/runtimes/pod.py +4 -349
  169. mlrun/runtimes/sparkjob/spark3job.py +0 -12
  170. mlrun/runtimes/utils.py +25 -8
  171. mlrun/serving/merger.py +0 -1
  172. mlrun/serving/remote.py +1 -1
  173. mlrun/serving/serving_wrapper.py +1 -1
  174. mlrun/serving/states.py +142 -9
  175. mlrun/serving/utils.py +1 -1
  176. mlrun/utils/async_http.py +0 -1
  177. mlrun/utils/clones.py +1 -1
  178. mlrun/utils/db.py +1 -1
  179. mlrun/utils/helpers.py +3 -1
  180. mlrun/utils/http.py +0 -1
  181. mlrun/utils/regex.py +0 -1
  182. mlrun/utils/singleton.py +1 -1
  183. mlrun/utils/vault.py +1 -1
  184. mlrun/utils/version/__init__.py +1 -1
  185. mlrun/utils/version/version.json +2 -2
  186. mlrun/utils/version/version.py +1 -1
  187. {mlrun-1.9.0rc4.dist-info → mlrun-1.10.0rc2.dist-info}/METADATA +12 -12
  188. mlrun-1.10.0rc2.dist-info/RECORD +351 -0
  189. {mlrun-1.9.0rc4.dist-info → mlrun-1.10.0rc2.dist-info}/WHEEL +1 -1
  190. mlrun-1.9.0rc4.dist-info/RECORD +0 -351
  191. {mlrun-1.9.0rc4.dist-info → mlrun-1.10.0rc2.dist-info}/entry_points.txt +0 -0
  192. {mlrun-1.9.0rc4.dist-info → mlrun-1.10.0rc2.dist-info}/licenses/LICENSE +0 -0
  193. {mlrun-1.9.0rc4.dist-info → mlrun-1.10.0rc2.dist-info}/top_level.txt +0 -0
mlrun/serving/states.py CHANGED
@@ -30,6 +30,7 @@ from typing import Any, Optional, Union, cast
30
30
  import storey.utils
31
31
 
32
32
  import mlrun
33
+ import mlrun.artifacts
33
34
  import mlrun.common.schemas as schemas
34
35
  from mlrun.datastore.datastore_profile import (
35
36
  DatastoreProfileKafkaSource,
@@ -402,6 +403,9 @@ class BaseStep(ModelObj):
402
403
  class_args=class_args,
403
404
  model_endpoint_creation_strategy=model_endpoint_creation_strategy,
404
405
  )
406
+
407
+ self.verify_model_runner_step(step)
408
+
405
409
  step = parent._steps.update(name, step)
406
410
  step.set_parent(parent)
407
411
  if not hasattr(self, "steps"):
@@ -446,6 +450,36 @@ class BaseStep(ModelObj):
446
450
  def supports_termination(self):
447
451
  return False
448
452
 
453
+ def verify_model_runner_step(self, step: "ModelRunnerStep"):
454
+ """
455
+ Verify ModelRunnerStep, can be part of Flow graph and models can not repeat in graph.
456
+ :param step: ModelRunnerStep to verify
457
+ """
458
+ if not isinstance(step, ModelRunnerStep):
459
+ return
460
+
461
+ root = self
462
+ while root.parent is not None:
463
+ root = root.parent
464
+
465
+ if not isinstance(root, RootFlowStep):
466
+ raise GraphError(
467
+ "ModelRunnerStep can be added to 'Flow' topology graph only"
468
+ )
469
+ step_model_endpoints_names = list(
470
+ step.class_args[schemas.ModelRunnerStepData.MODELS].keys()
471
+ )
472
+ # Get all model_endpoints names that are in both lists
473
+ common_endpoints_names = list(
474
+ set(root.model_endpoints_names) & set(step_model_endpoints_names)
475
+ )
476
+ if common_endpoints_names:
477
+ raise GraphError(
478
+ f"The graph already contains the model endpoints named - {common_endpoints_names}."
479
+ )
480
+ else:
481
+ root.extend_model_endpoints_names(step_model_endpoints_names)
482
+
449
483
 
450
484
  class TaskStep(BaseStep):
451
485
  """task execution step, runs a class or handler"""
@@ -1005,24 +1039,87 @@ class ModelRunnerStep(TaskStep, StepToDict):
1005
1039
  **kwargs,
1006
1040
  )
1007
1041
 
1008
- def add_model(self, model: Union[str, Model], **model_parameters) -> None:
1042
+ def add_model(
1043
+ self,
1044
+ endpoint_name: str,
1045
+ model_class: str,
1046
+ model_artifact: Optional[Union[str, mlrun.artifacts.ModelArtifact]] = None,
1047
+ labels: Optional[Union[list[str], dict[str, str]]] = None,
1048
+ creation_strategy: Optional[
1049
+ schemas.ModelEndpointCreationStrategy
1050
+ ] = schemas.ModelEndpointCreationStrategy.INPLACE,
1051
+ inputs: Optional[list[str]] = None,
1052
+ outputs: Optional[list[str]] = None,
1053
+ input_path: Optional[str] = None,
1054
+ override: bool = False,
1055
+ **model_parameters,
1056
+ ) -> None:
1009
1057
  """
1010
1058
  Add a Model to this ModelRunner.
1011
1059
 
1012
- :param model: Model class name or object
1013
- :param model_parameters: Parameters for model instantiation
1060
+ :param endpoint_name: str, will identify the model in the ModelRunnerStep, and assign model endpoint name
1061
+ :param model_class: Model class name
1062
+ :param model_artifact: model artifact or mlrun model artifact uri
1063
+ :param labels: model endpoint labels, should be list of str or mapping of str:str
1064
+ :param creation_strategy: Strategy for creating or updating the model endpoint:
1065
+ * **overwrite**:
1066
+ 1. If model endpoints with the same name exist, delete the `latest` one.
1067
+ 2. Create a new model endpoint entry and set it as `latest`.
1068
+ * **inplace** (default):
1069
+ 1. If model endpoints with the same name exist, update the `latest` entry.
1070
+ 2. Otherwise, create a new entry.
1071
+ * **archive**:
1072
+ 1. If model endpoints with the same name exist, preserve them.
1073
+ 2. Create a new model endpoint with the same name and set it to `latest`.
1074
+ :param inputs: list of the model inputs (e.g. features) ,if provided will override the inputs that
1075
+ been configured in the model artifact, please note that those inputs need to be
1076
+ equal in length and order to the inputs that model_class predict method expects
1077
+ :param outputs: list of the model outputs (e.g. labels) ,if provided will override the outputs that
1078
+ been configured in the model artifact, please note that those outputs need to be
1079
+ equal to the model_class predict method outputs (length, and order)
1080
+ :param input_path: input path inside the user event, expect scopes to be defined by dot notation
1081
+ (e.g "inputs.my_model_inputs"). expects list or dictionary type object in path.
1082
+ :param override: bool allow override existing model on the current ModelRunnerStep.
1083
+ :param model_parameters: Parameters for model instantiation
1014
1084
  """
1015
- models = self.class_args.get("models", [])
1016
- models.append((model, model_parameters))
1017
- self.class_args["models"] = models
1085
+ # TODO allow model_class as Model object as part of ML-9924
1086
+ model_parameters = model_parameters or {}
1087
+ if model_parameters.get("name", endpoint_name) != endpoint_name:
1088
+ raise mlrun.errors.MLRunInvalidArgumentError(
1089
+ "Inconsistent name for model added to ModelRunnerStep."
1090
+ )
1091
+
1092
+ models = self.class_args.get(schemas.ModelRunnerStepData.MODELS, {})
1093
+ if endpoint_name in models and not override:
1094
+ raise mlrun.errors.MLRunInvalidArgumentError(
1095
+ f"Model with name {endpoint_name} already exists in this ModelRunnerStep."
1096
+ )
1097
+
1098
+ model_parameters["name"] = endpoint_name
1099
+ monitoring_data = self.class_args.get(
1100
+ schemas.ModelRunnerStepData.MONITORING_DATA, {}
1101
+ )
1102
+ models[endpoint_name] = (model_class, model_parameters)
1103
+ monitoring_data[endpoint_name] = {
1104
+ schemas.MonitoringData.INPUTS: inputs,
1105
+ schemas.MonitoringData.OUTPUTS: outputs,
1106
+ schemas.MonitoringData.INPUT_PATH: input_path,
1107
+ schemas.MonitoringData.CREATION_STRATEGY: creation_strategy,
1108
+ schemas.MonitoringData.LABELS: labels,
1109
+ schemas.MonitoringData.MODEL_PATH: model_artifact.uri
1110
+ if isinstance(model_artifact, mlrun.artifacts.Artifact)
1111
+ else model_artifact,
1112
+ }
1113
+ self.class_args[schemas.ModelRunnerStepData.MODELS] = models
1114
+ self.class_args[schemas.ModelRunnerStepData.MONITORING_DATA] = monitoring_data
1018
1115
 
1019
1116
  def init_object(self, context, namespace, mode="sync", reset=False, **extra_kwargs):
1020
1117
  model_selector = self.class_args.get("model_selector")
1021
- models = self.class_args.get("models")
1118
+ models = self.class_args.get(schemas.ModelRunnerStepData.MODELS, {})
1022
1119
  if isinstance(model_selector, str):
1023
1120
  model_selector = get_class(model_selector, namespace)()
1024
1121
  model_objects = []
1025
- for model, model_params in models:
1122
+ for model, model_params in models.values():
1026
1123
  if not isinstance(model, Model):
1027
1124
  model = get_class(model, namespace)(**model_params)
1028
1125
  model_objects.append(model)
@@ -1256,6 +1353,8 @@ class FlowStep(BaseStep):
1256
1353
  class_args=class_args,
1257
1354
  )
1258
1355
 
1356
+ self.verify_model_runner_step(step)
1357
+
1259
1358
  after_list = after if isinstance(after, list) else [after]
1260
1359
  for after in after_list:
1261
1360
  self.insert_step(name, step, after, before)
@@ -1676,7 +1775,41 @@ class RootFlowStep(FlowStep):
1676
1775
  """root flow step"""
1677
1776
 
1678
1777
  kind = "root"
1679
- _dict_fields = ["steps", "engine", "final_step", "on_error"]
1778
+ _dict_fields = [
1779
+ "steps",
1780
+ "engine",
1781
+ "final_step",
1782
+ "on_error",
1783
+ "model_endpoints_names",
1784
+ ]
1785
+
1786
+ def __init__(
1787
+ self,
1788
+ name=None,
1789
+ steps=None,
1790
+ after: Optional[list] = None,
1791
+ engine=None,
1792
+ final_step=None,
1793
+ ):
1794
+ super().__init__(
1795
+ name,
1796
+ steps,
1797
+ after,
1798
+ engine,
1799
+ final_step,
1800
+ )
1801
+ self._models = []
1802
+
1803
+ @property
1804
+ def model_endpoints_names(self) -> list[str]:
1805
+ return self._models
1806
+
1807
+ @model_endpoints_names.setter
1808
+ def model_endpoints_names(self, models: list[str]):
1809
+ self._models = models
1810
+
1811
+ def extend_model_endpoints_names(self, model_endpoints_names: list):
1812
+ self._models.extend(model_endpoints_names)
1680
1813
 
1681
1814
 
1682
1815
  classes_map = {
mlrun/serving/utils.py CHANGED
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  import inspect
16
16
  from typing import Optional
17
17
 
mlrun/utils/async_http.py CHANGED
@@ -11,7 +11,6 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
15
14
 
16
15
  import asyncio
17
16
  import logging
mlrun/utils/clones.py CHANGED
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  import os
16
16
  import shutil
17
17
  import tarfile
mlrun/utils/db.py CHANGED
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  import abc
16
16
  import pickle
17
17
  from datetime import datetime
mlrun/utils/helpers.py CHANGED
@@ -1502,7 +1502,9 @@ def _fill_project_path_template(artifact_path, project):
1502
1502
 
1503
1503
 
1504
1504
  def to_non_empty_values_dict(input_dict: dict) -> dict:
1505
- return {key: value for key, value in input_dict.items() if value}
1505
+ return (
1506
+ {key: value for key, value in input_dict.items() if value} if input_dict else {}
1507
+ )
1506
1508
 
1507
1509
 
1508
1510
  def get_enriched_gpu_limits(function_limits: dict) -> dict[str, int]:
mlrun/utils/http.py CHANGED
@@ -11,7 +11,6 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
15
14
 
16
15
  import time
17
16
 
mlrun/utils/regex.py CHANGED
@@ -11,7 +11,6 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
15
14
 
16
15
  # pipeline param format which is passed when running a pipeline (e.g. {{pipelineparam:op=;name=mem}})
17
16
  # https://github.com/kubeflow/pipelines/blob/16edebf4eaf84cd7478e2601ef4878ab339a7854/sdk/python/kfp/dsl/_pipeline_param.py#L213
mlrun/utils/singleton.py CHANGED
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  import abc
16
16
 
17
17
 
mlrun/utils/vault.py CHANGED
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  # import json
16
16
  # import os
17
17
  # from os.path import expanduser
@@ -11,5 +11,5 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  from .version import Version # noqa: F401
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "f19c66499d330c4ab0f375d6fb392bf9c6ffb6db",
3
- "version": "1.9.0-rc4"
2
+ "git_commit": "104d0f2f30c2896ede9efe0344f8cbaed8b5616c",
3
+ "version": "1.10.0-rc2"
4
4
  }
@@ -11,7 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
14
+
15
15
  import json
16
16
  import sys
17
17
  from importlib.resources import read_text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mlrun
3
- Version: 1.9.0rc4
3
+ Version: 1.10.0rc2
4
4
  Summary: Tracking and config of machine learning runs
5
5
  Home-page: https://github.com/mlrun/mlrun
6
6
  Author: Yaron Haviv
@@ -44,15 +44,15 @@ Requires-Dist: semver~=3.0
44
44
  Requires-Dist: dependency-injector~=4.41
45
45
  Requires-Dist: fsspec<2024.7,>=2023.9.2
46
46
  Requires-Dist: v3iofs~=0.1.17
47
- Requires-Dist: storey~=1.9.0
47
+ Requires-Dist: storey~=1.10.0
48
48
  Requires-Dist: inflection~=0.5.0
49
49
  Requires-Dist: python-dotenv~=1.0
50
50
  Requires-Dist: setuptools>=75.2
51
51
  Requires-Dist: deprecated~=1.2
52
- Requires-Dist: jinja2>=3.1.3,~=3.1
52
+ Requires-Dist: jinja2>=3.1.6,~=3.1
53
53
  Requires-Dist: orjson<4,>=3.9.15
54
- Requires-Dist: mlrun-pipelines-kfp-common~=0.4.1
55
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.4.0
54
+ Requires-Dist: mlrun-pipelines-kfp-common~=0.5.2
55
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.1
56
56
  Requires-Dist: docstring_parser~=0.16
57
57
  Requires-Dist: aiosmtplib~=3.0
58
58
  Provides-Extra: s3
@@ -79,7 +79,7 @@ Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "google-cloud"
79
79
  Requires-Dist: google-cloud==0.34; extra == "google-cloud"
80
80
  Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "google-cloud"
81
81
  Provides-Extra: kafka
82
- Requires-Dist: kafka-python~=2.0; extra == "kafka"
82
+ Requires-Dist: kafka-python~=2.1.0; extra == "kafka"
83
83
  Requires-Dist: avro~=1.11; extra == "kafka"
84
84
  Provides-Extra: redis
85
85
  Requires-Dist: redis~=4.3; extra == "redis"
@@ -102,7 +102,7 @@ Requires-Dist: taos-ws-py==0.3.2; extra == "tdengine"
102
102
  Provides-Extra: snowflake
103
103
  Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
104
104
  Provides-Extra: kfp18
105
- Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]>=0.4.0; python_version < "3.11" and extra == "kfp18"
105
+ Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]>=0.5.0; python_version < "3.11" and extra == "kfp18"
106
106
  Provides-Extra: api
107
107
  Requires-Dist: uvicorn~=0.32.1; extra == "api"
108
108
  Requires-Dist: dask-kubernetes~=0.11.0; extra == "api"
@@ -118,7 +118,7 @@ Requires-Dist: timelength~=1.1; extra == "api"
118
118
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
119
119
  Requires-Dist: aiosmtplib~=3.0; extra == "api"
120
120
  Requires-Dist: pydantic<2,>=1; extra == "api"
121
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.4.0; extra == "api"
121
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.1; extra == "api"
122
122
  Requires-Dist: grpcio~=1.70.0; extra == "api"
123
123
  Provides-Extra: all
124
124
  Requires-Dist: adlfs==2023.9.0; extra == "all"
@@ -139,7 +139,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "all"
139
139
  Requires-Dist: google-cloud-storage==2.14.0; extra == "all"
140
140
  Requires-Dist: google-cloud==0.34; extra == "all"
141
141
  Requires-Dist: graphviz~=0.20.0; extra == "all"
142
- Requires-Dist: kafka-python~=2.0; extra == "all"
142
+ Requires-Dist: kafka-python~=2.1.0; extra == "all"
143
143
  Requires-Dist: mlflow~=2.16; extra == "all"
144
144
  Requires-Dist: msrest~=0.6.21; extra == "all"
145
145
  Requires-Dist: oss2==2.18.1; extra == "all"
@@ -170,7 +170,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "comple
170
170
  Requires-Dist: google-cloud-storage==2.14.0; extra == "complete"
171
171
  Requires-Dist: google-cloud==0.34; extra == "complete"
172
172
  Requires-Dist: graphviz~=0.20.0; extra == "complete"
173
- Requires-Dist: kafka-python~=2.0; extra == "complete"
173
+ Requires-Dist: kafka-python~=2.1.0; extra == "complete"
174
174
  Requires-Dist: mlflow~=2.16; extra == "complete"
175
175
  Requires-Dist: msrest~=0.6.21; extra == "complete"
176
176
  Requires-Dist: oss2==2.18.1; extra == "complete"
@@ -209,10 +209,10 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete-api"
209
209
  Requires-Dist: grpcio~=1.70.0; extra == "complete-api"
210
210
  Requires-Dist: humanfriendly~=10.0; extra == "complete-api"
211
211
  Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
212
- Requires-Dist: kafka-python~=2.0; extra == "complete-api"
212
+ Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
213
213
  Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "complete-api"
214
214
  Requires-Dist: mlflow~=2.16; extra == "complete-api"
215
- Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.4.0; extra == "complete-api"
215
+ Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.1; extra == "complete-api"
216
216
  Requires-Dist: msrest~=0.6.21; extra == "complete-api"
217
217
  Requires-Dist: objgraph~=3.6; extra == "complete-api"
218
218
  Requires-Dist: oss2==2.18.1; extra == "complete-api"