mlrun 1.6.0rc35__py3-none-any.whl → 1.7.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 (199) hide show
  1. mlrun/__main__.py +3 -3
  2. mlrun/api/schemas/__init__.py +1 -1
  3. mlrun/artifacts/base.py +11 -6
  4. mlrun/artifacts/dataset.py +2 -2
  5. mlrun/artifacts/model.py +30 -24
  6. mlrun/artifacts/plots.py +2 -2
  7. mlrun/common/db/sql_session.py +5 -3
  8. mlrun/common/helpers.py +1 -2
  9. mlrun/common/schemas/artifact.py +3 -3
  10. mlrun/common/schemas/auth.py +3 -3
  11. mlrun/common/schemas/background_task.py +1 -1
  12. mlrun/common/schemas/client_spec.py +1 -1
  13. mlrun/common/schemas/feature_store.py +16 -16
  14. mlrun/common/schemas/frontend_spec.py +7 -7
  15. mlrun/common/schemas/function.py +1 -1
  16. mlrun/common/schemas/hub.py +4 -9
  17. mlrun/common/schemas/memory_reports.py +2 -2
  18. mlrun/common/schemas/model_monitoring/grafana.py +4 -4
  19. mlrun/common/schemas/model_monitoring/model_endpoints.py +14 -15
  20. mlrun/common/schemas/notification.py +4 -4
  21. mlrun/common/schemas/object.py +2 -2
  22. mlrun/common/schemas/pipeline.py +1 -1
  23. mlrun/common/schemas/project.py +3 -3
  24. mlrun/common/schemas/runtime_resource.py +8 -12
  25. mlrun/common/schemas/schedule.py +3 -3
  26. mlrun/common/schemas/tag.py +1 -2
  27. mlrun/common/schemas/workflow.py +2 -2
  28. mlrun/config.py +8 -4
  29. mlrun/data_types/to_pandas.py +1 -3
  30. mlrun/datastore/base.py +0 -28
  31. mlrun/datastore/datastore_profile.py +9 -9
  32. mlrun/datastore/filestore.py +0 -1
  33. mlrun/datastore/google_cloud_storage.py +1 -1
  34. mlrun/datastore/sources.py +7 -11
  35. mlrun/datastore/spark_utils.py +1 -2
  36. mlrun/datastore/targets.py +31 -31
  37. mlrun/datastore/utils.py +4 -6
  38. mlrun/datastore/v3io.py +70 -46
  39. mlrun/db/base.py +22 -23
  40. mlrun/db/httpdb.py +34 -34
  41. mlrun/db/nopdb.py +19 -19
  42. mlrun/errors.py +1 -1
  43. mlrun/execution.py +4 -4
  44. mlrun/feature_store/api.py +20 -21
  45. mlrun/feature_store/common.py +1 -1
  46. mlrun/feature_store/feature_set.py +28 -32
  47. mlrun/feature_store/feature_vector.py +24 -27
  48. mlrun/feature_store/retrieval/base.py +7 -7
  49. mlrun/feature_store/retrieval/conversion.py +2 -4
  50. mlrun/feature_store/steps.py +7 -15
  51. mlrun/features.py +5 -7
  52. mlrun/frameworks/_common/artifacts_library.py +9 -9
  53. mlrun/frameworks/_common/mlrun_interface.py +5 -5
  54. mlrun/frameworks/_common/model_handler.py +48 -48
  55. mlrun/frameworks/_common/plan.py +2 -3
  56. mlrun/frameworks/_common/producer.py +3 -4
  57. mlrun/frameworks/_common/utils.py +5 -5
  58. mlrun/frameworks/_dl_common/loggers/logger.py +6 -7
  59. mlrun/frameworks/_dl_common/loggers/mlrun_logger.py +9 -9
  60. mlrun/frameworks/_dl_common/loggers/tensorboard_logger.py +16 -35
  61. mlrun/frameworks/_ml_common/artifacts_library.py +1 -2
  62. mlrun/frameworks/_ml_common/loggers/logger.py +3 -4
  63. mlrun/frameworks/_ml_common/loggers/mlrun_logger.py +4 -5
  64. mlrun/frameworks/_ml_common/model_handler.py +24 -24
  65. mlrun/frameworks/_ml_common/pkl_model_server.py +2 -2
  66. mlrun/frameworks/_ml_common/plan.py +1 -1
  67. mlrun/frameworks/_ml_common/plans/calibration_curve_plan.py +2 -3
  68. mlrun/frameworks/_ml_common/plans/confusion_matrix_plan.py +2 -3
  69. mlrun/frameworks/_ml_common/plans/dataset_plan.py +3 -3
  70. mlrun/frameworks/_ml_common/plans/feature_importance_plan.py +3 -3
  71. mlrun/frameworks/_ml_common/plans/roc_curve_plan.py +4 -4
  72. mlrun/frameworks/_ml_common/utils.py +4 -4
  73. mlrun/frameworks/auto_mlrun/auto_mlrun.py +7 -7
  74. mlrun/frameworks/huggingface/model_server.py +4 -4
  75. mlrun/frameworks/lgbm/__init__.py +32 -32
  76. mlrun/frameworks/lgbm/callbacks/logging_callback.py +4 -5
  77. mlrun/frameworks/lgbm/callbacks/mlrun_logging_callback.py +4 -5
  78. mlrun/frameworks/lgbm/mlrun_interfaces/booster_mlrun_interface.py +1 -3
  79. mlrun/frameworks/lgbm/mlrun_interfaces/mlrun_interface.py +6 -6
  80. mlrun/frameworks/lgbm/model_handler.py +9 -9
  81. mlrun/frameworks/lgbm/model_server.py +6 -6
  82. mlrun/frameworks/lgbm/utils.py +5 -5
  83. mlrun/frameworks/onnx/dataset.py +8 -8
  84. mlrun/frameworks/onnx/mlrun_interface.py +3 -3
  85. mlrun/frameworks/onnx/model_handler.py +6 -6
  86. mlrun/frameworks/onnx/model_server.py +7 -7
  87. mlrun/frameworks/parallel_coordinates.py +2 -2
  88. mlrun/frameworks/pytorch/__init__.py +16 -16
  89. mlrun/frameworks/pytorch/callbacks/callback.py +4 -5
  90. mlrun/frameworks/pytorch/callbacks/logging_callback.py +17 -17
  91. mlrun/frameworks/pytorch/callbacks/mlrun_logging_callback.py +11 -11
  92. mlrun/frameworks/pytorch/callbacks/tensorboard_logging_callback.py +23 -29
  93. mlrun/frameworks/pytorch/callbacks_handler.py +38 -38
  94. mlrun/frameworks/pytorch/mlrun_interface.py +20 -20
  95. mlrun/frameworks/pytorch/model_handler.py +17 -17
  96. mlrun/frameworks/pytorch/model_server.py +7 -7
  97. mlrun/frameworks/sklearn/__init__.py +12 -12
  98. mlrun/frameworks/sklearn/estimator.py +4 -4
  99. mlrun/frameworks/sklearn/metrics_library.py +14 -14
  100. mlrun/frameworks/sklearn/mlrun_interface.py +3 -6
  101. mlrun/frameworks/sklearn/model_handler.py +2 -2
  102. mlrun/frameworks/tf_keras/__init__.py +5 -5
  103. mlrun/frameworks/tf_keras/callbacks/logging_callback.py +14 -14
  104. mlrun/frameworks/tf_keras/callbacks/mlrun_logging_callback.py +11 -11
  105. mlrun/frameworks/tf_keras/callbacks/tensorboard_logging_callback.py +19 -23
  106. mlrun/frameworks/tf_keras/mlrun_interface.py +7 -9
  107. mlrun/frameworks/tf_keras/model_handler.py +14 -14
  108. mlrun/frameworks/tf_keras/model_server.py +6 -6
  109. mlrun/frameworks/xgboost/__init__.py +12 -12
  110. mlrun/frameworks/xgboost/model_handler.py +6 -6
  111. mlrun/k8s_utils.py +4 -5
  112. mlrun/kfpops.py +2 -2
  113. mlrun/launcher/base.py +10 -10
  114. mlrun/launcher/local.py +8 -8
  115. mlrun/launcher/remote.py +7 -7
  116. mlrun/lists.py +3 -4
  117. mlrun/model.py +205 -55
  118. mlrun/model_monitoring/api.py +21 -24
  119. mlrun/model_monitoring/application.py +4 -4
  120. mlrun/model_monitoring/batch.py +17 -17
  121. mlrun/model_monitoring/controller.py +2 -1
  122. mlrun/model_monitoring/features_drift_table.py +44 -31
  123. mlrun/model_monitoring/prometheus.py +1 -4
  124. mlrun/model_monitoring/stores/kv_model_endpoint_store.py +11 -13
  125. mlrun/model_monitoring/stores/model_endpoint_store.py +9 -11
  126. mlrun/model_monitoring/stores/models/__init__.py +2 -2
  127. mlrun/model_monitoring/stores/sql_model_endpoint_store.py +11 -13
  128. mlrun/model_monitoring/stream_processing.py +16 -34
  129. mlrun/model_monitoring/tracking_policy.py +2 -1
  130. mlrun/package/__init__.py +6 -6
  131. mlrun/package/context_handler.py +5 -5
  132. mlrun/package/packager.py +7 -7
  133. mlrun/package/packagers/default_packager.py +6 -6
  134. mlrun/package/packagers/numpy_packagers.py +15 -15
  135. mlrun/package/packagers/pandas_packagers.py +5 -5
  136. mlrun/package/packagers/python_standard_library_packagers.py +10 -10
  137. mlrun/package/packagers_manager.py +18 -23
  138. mlrun/package/utils/_formatter.py +4 -4
  139. mlrun/package/utils/_pickler.py +2 -2
  140. mlrun/package/utils/_supported_format.py +4 -4
  141. mlrun/package/utils/log_hint_utils.py +2 -2
  142. mlrun/package/utils/type_hint_utils.py +4 -9
  143. mlrun/platforms/other.py +1 -2
  144. mlrun/projects/operations.py +5 -5
  145. mlrun/projects/pipelines.py +9 -9
  146. mlrun/projects/project.py +58 -46
  147. mlrun/render.py +1 -1
  148. mlrun/run.py +9 -9
  149. mlrun/runtimes/__init__.py +7 -4
  150. mlrun/runtimes/base.py +20 -23
  151. mlrun/runtimes/constants.py +5 -5
  152. mlrun/runtimes/daskjob.py +8 -8
  153. mlrun/runtimes/databricks_job/databricks_cancel_task.py +1 -1
  154. mlrun/runtimes/databricks_job/databricks_runtime.py +7 -7
  155. mlrun/runtimes/function_reference.py +1 -1
  156. mlrun/runtimes/local.py +1 -1
  157. mlrun/runtimes/mpijob/abstract.py +1 -2
  158. mlrun/runtimes/nuclio/__init__.py +20 -0
  159. mlrun/runtimes/{function.py → nuclio/function.py} +15 -16
  160. mlrun/runtimes/{nuclio.py → nuclio/nuclio.py} +6 -6
  161. mlrun/runtimes/{serving.py → nuclio/serving.py} +13 -12
  162. mlrun/runtimes/pod.py +95 -48
  163. mlrun/runtimes/remotesparkjob.py +1 -1
  164. mlrun/runtimes/sparkjob/spark3job.py +50 -33
  165. mlrun/runtimes/utils.py +1 -2
  166. mlrun/secrets.py +3 -3
  167. mlrun/serving/remote.py +0 -4
  168. mlrun/serving/routers.py +6 -6
  169. mlrun/serving/server.py +4 -4
  170. mlrun/serving/states.py +29 -0
  171. mlrun/serving/utils.py +3 -3
  172. mlrun/serving/v1_serving.py +6 -7
  173. mlrun/serving/v2_serving.py +50 -8
  174. mlrun/track/tracker_manager.py +3 -3
  175. mlrun/track/trackers/mlflow_tracker.py +1 -2
  176. mlrun/utils/async_http.py +5 -7
  177. mlrun/utils/azure_vault.py +1 -1
  178. mlrun/utils/clones.py +1 -2
  179. mlrun/utils/condition_evaluator.py +3 -3
  180. mlrun/utils/db.py +3 -3
  181. mlrun/utils/helpers.py +37 -119
  182. mlrun/utils/http.py +1 -4
  183. mlrun/utils/logger.py +49 -14
  184. mlrun/utils/notifications/notification/__init__.py +3 -3
  185. mlrun/utils/notifications/notification/base.py +2 -2
  186. mlrun/utils/notifications/notification/ipython.py +1 -1
  187. mlrun/utils/notifications/notification_pusher.py +8 -14
  188. mlrun/utils/retryer.py +207 -0
  189. mlrun/utils/singleton.py +1 -1
  190. mlrun/utils/v3io_clients.py +2 -3
  191. mlrun/utils/version/version.json +2 -2
  192. mlrun/utils/version/version.py +2 -6
  193. {mlrun-1.6.0rc35.dist-info → mlrun-1.7.0rc2.dist-info}/METADATA +9 -9
  194. mlrun-1.7.0rc2.dist-info/RECORD +315 -0
  195. mlrun-1.6.0rc35.dist-info/RECORD +0 -313
  196. {mlrun-1.6.0rc35.dist-info → mlrun-1.7.0rc2.dist-info}/LICENSE +0 -0
  197. {mlrun-1.6.0rc35.dist-info → mlrun-1.7.0rc2.dist-info}/WHEEL +0 -0
  198. {mlrun-1.6.0rc35.dist-info → mlrun-1.7.0rc2.dist-info}/entry_points.txt +0 -0
  199. {mlrun-1.6.0rc35.dist-info → mlrun-1.7.0rc2.dist-info}/top_level.txt +0 -0
mlrun/utils/retryer.py ADDED
@@ -0,0 +1,207 @@
1
+ # Copyright 2023 Iguazio
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import asyncio
16
+ import time
17
+
18
+ import mlrun.errors
19
+
20
+
21
+ def create_linear_backoff(base=2, coefficient=2, stop_value=120):
22
+ """
23
+ Create a generator of linear backoff. Check out usage example in test_helpers.py
24
+ """
25
+ x = 0
26
+ comparison = min if coefficient >= 0 else max
27
+
28
+ while True:
29
+ next_value = comparison(base + x * coefficient, stop_value)
30
+ yield next_value
31
+ x += 1
32
+
33
+
34
+ def create_step_backoff(steps=None):
35
+ """
36
+ Create a generator of steps backoff.
37
+ Example: steps = [[2, 5], [20, 10], [120, None]] will produce a generator in which the first 5
38
+ values will be 2, the next 10 values will be 20 and the rest will be 120.
39
+ :param steps: a list of lists [step_value, number_of_iteration_in_this_step]
40
+ """
41
+ steps = steps if steps is not None else [[2, 10], [10, 10], [120, None]]
42
+ steps = iter(steps)
43
+
44
+ # Get first step
45
+ step = next(steps)
46
+ while True:
47
+ current_step_value, current_step_remain = step
48
+ if current_step_remain == 0:
49
+ # No more in this step, moving on
50
+ step = next(steps)
51
+ elif current_step_remain is None:
52
+ # We are in the last step, staying here forever
53
+ yield current_step_value
54
+ elif current_step_remain > 0:
55
+ # Still more remains in this step, just reduce the remaining number
56
+ step[1] -= 1
57
+ yield current_step_value
58
+
59
+
60
+ def create_exponential_backoff(base=2, max_value=120, scale_factor=1):
61
+ """
62
+ Create a generator of exponential backoff. Check out usage example in test_helpers.py
63
+ :param base: exponent base
64
+ :param max_value: max limit on the result
65
+ :param scale_factor: factor to be used as linear scaling coefficient
66
+ """
67
+ exponent = 1
68
+ while True:
69
+ # This "complex" implementation (unlike the one in linear backoff) is to avoid exponent growing too fast and
70
+ # risking going behind max_int
71
+ next_value = scale_factor * (base**exponent)
72
+ if next_value < max_value:
73
+ exponent += 1
74
+ yield next_value
75
+ else:
76
+ yield max_value
77
+
78
+
79
+ class Retryer:
80
+ def __init__(self, backoff, timeout, logger, verbose, function, *args, **kwargs):
81
+ """
82
+ Initialize function retryer with given *args and **kwargs.
83
+ Tries to run it until success or timeout reached (timeout is optional)
84
+ :param backoff: can either be a:
85
+ - number (int / float) that will be used as interval.
86
+ - generator of waiting intervals. (support next())
87
+ :param timeout: pass None if timeout is not wanted, number of seconds if it is
88
+ :param logger: a logger so we can log the failures
89
+ :param verbose: whether to log the failure on each retry
90
+ :param _function: function to run
91
+ :param args: functions args
92
+ :param kwargs: functions kwargs
93
+ """
94
+ self.backoff = backoff
95
+ self.timeout = timeout
96
+ self.logger = logger
97
+ self.verbose = verbose
98
+ self.function = function
99
+ self.args = args
100
+ self.kwargs = kwargs
101
+ self.start_time = None
102
+ self.last_exception = None
103
+ self.first_interval = None
104
+
105
+ def run(self):
106
+ self._prepare()
107
+ while not self._timeout_exceeded():
108
+ next_interval = self.first_interval or next(self.backoff)
109
+ result, exc, retry = self._perform_call(next_interval)
110
+ if retry:
111
+ time.sleep(next_interval)
112
+ elif not exc:
113
+ return result
114
+ else:
115
+ break
116
+
117
+ self._raise_last_exception()
118
+
119
+ def _prepare(self):
120
+ self.start_time = time.time()
121
+ self.last_exception = None
122
+
123
+ # Check if backoff is just a simple interval
124
+ if isinstance(self.backoff, int) or isinstance(self.backoff, float):
125
+ self.backoff = create_linear_backoff(base=self.backoff, coefficient=0)
126
+
127
+ self.first_interval = next(self.backoff)
128
+ if self.timeout and self.timeout <= self.first_interval:
129
+ self.logger.warning(
130
+ f"Timeout ({self.timeout}) must be higher than backoff ({self.first_interval})."
131
+ f" Set timeout to be higher than backoff."
132
+ )
133
+
134
+ def _perform_call(self, next_interval):
135
+ try:
136
+ result = self.function(*self.args, **self.kwargs)
137
+ return result, None, False
138
+ except mlrun.errors.MLRunFatalFailureError as exc:
139
+ raise exc.original_exception
140
+ except Exception as exc:
141
+ return (
142
+ None,
143
+ self.last_exception,
144
+ self._assert_failure_timeout(next_interval, exc),
145
+ )
146
+
147
+ def _assert_failure_timeout(self, next_interval, exc):
148
+ self.last_exception = exc
149
+
150
+ # If next interval is within allowed time period - wait on interval, abort otherwise
151
+ if not self._timeout_exceeded(next_interval):
152
+ if self.logger is not None and self.verbose:
153
+ self.logger.debug(
154
+ f"Operation not yet successful, Retrying in {next_interval} seconds."
155
+ f" exc: {mlrun.errors.err_to_str(exc)}"
156
+ )
157
+ return True
158
+ else:
159
+ return False
160
+
161
+ def _raise_last_exception(self):
162
+ if self.logger is not None:
163
+ self.logger.warning(
164
+ f"Operation did not complete on time. last exception: {self.last_exception}"
165
+ )
166
+
167
+ raise mlrun.errors.MLRunRetryExhaustedError(
168
+ f"Failed to execute command by the given deadline."
169
+ f" last_exception: {self.last_exception},"
170
+ f" function_name: {self.function.__name__},"
171
+ f" timeout: {self.timeout}"
172
+ ) from self.last_exception
173
+
174
+ def _timeout_exceeded(self, next_interval=None):
175
+ now = time.time()
176
+ if next_interval:
177
+ now = now + next_interval
178
+ return self.timeout is not None and now >= self.start_time + self.timeout
179
+
180
+
181
+ class AsyncRetryer(Retryer):
182
+ async def run(self):
183
+ self._prepare()
184
+ while not self._timeout_exceeded():
185
+ next_interval = self.first_interval or next(self.backoff)
186
+ result, exc, retry = await self._perform_call(next_interval)
187
+ if retry:
188
+ await asyncio.sleep(next_interval)
189
+ elif not exc:
190
+ return result
191
+ else:
192
+ break
193
+
194
+ self._raise_last_exception()
195
+
196
+ async def _perform_call(self, next_interval):
197
+ try:
198
+ result = await self.function(*self.args, **self.kwargs)
199
+ return result, None, False
200
+ except mlrun.errors.MLRunFatalFailureError as exc:
201
+ raise exc.original_exception
202
+ except Exception as exc:
203
+ return (
204
+ None,
205
+ self.last_exception,
206
+ self._assert_failure_timeout(next_interval, exc),
207
+ )
mlrun/utils/singleton.py CHANGED
@@ -20,7 +20,7 @@ class Singleton(type):
20
20
 
21
21
  def __call__(cls, *args, **kwargs):
22
22
  if cls not in cls._instances:
23
- cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
23
+ cls._instances[cls] = super().__call__(*args, **kwargs)
24
24
  return cls._instances[cls]
25
25
 
26
26
 
@@ -12,14 +12,13 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  #
15
- from typing import Dict, FrozenSet
16
15
 
17
16
  from v3io.dataplane import Client as V3IOClient
18
17
  from v3io_frames import Client as get_client
19
18
  from v3io_frames.client import ClientBase
20
19
 
21
- _v3io_clients: Dict[FrozenSet, V3IOClient] = {}
22
- _frames_clients: Dict[FrozenSet, ClientBase] = {}
20
+ _v3io_clients: dict[frozenset, V3IOClient] = {}
21
+ _frames_clients: dict[frozenset, ClientBase] = {}
23
22
 
24
23
 
25
24
  def get_frames_client(**kwargs) -> ClientBase:
@@ -1,4 +1,4 @@
1
1
  {
2
- "git_commit": "b8188f94dc3e0bfc4bb74ab4296bec213b019e67",
3
- "version": "1.6.0-rc35"
2
+ "git_commit": "523bdf379b1183bee50b5b0ebe61ddeae9d7ca1c",
3
+ "version": "1.7.0-rc2"
4
4
  }
@@ -14,15 +14,11 @@
14
14
  #
15
15
  import json
16
16
  import sys
17
+ from importlib.resources import read_text
17
18
 
18
19
  import mlrun.utils
19
20
  from mlrun.utils.singleton import Singleton
20
21
 
21
- if sys.version_info >= (3, 7):
22
- from importlib.resources import read_text
23
- else:
24
- from importlib_resources import read_text
25
-
26
22
 
27
23
  class _VersionInfo:
28
24
  def __init__(self, major, minor, patch):
@@ -56,5 +52,5 @@ class Version(metaclass=Singleton):
56
52
  return self.python_version
57
53
 
58
54
  @staticmethod
59
- def _resolve_python_version() -> sys.version_info:
55
+ def _resolve_python_version() -> _VersionInfo:
60
56
  return _VersionInfo(*sys.version_info[:3])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlrun
3
- Version: 1.6.0rc35
3
+ Version: 1.7.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
@@ -29,14 +29,14 @@ Requires-Dist: click ~=8.1
29
29
  Requires-Dist: kfp ~=1.8
30
30
  Requires-Dist: nest-asyncio ~=1.0
31
31
  Requires-Dist: ipython ~=8.10
32
- Requires-Dist: nuclio-jupyter ~=0.9.15
32
+ Requires-Dist: nuclio-jupyter ~=0.9.16
33
33
  Requires-Dist: numpy <1.27.0,>=1.16.5
34
34
  Requires-Dist: pandas <2.2,>=1.2
35
35
  Requires-Dist: pyarrow <15,>=10.0
36
36
  Requires-Dist: pyyaml ~=5.1
37
37
  Requires-Dist: requests ~=2.31
38
38
  Requires-Dist: tabulate ~=0.8.6
39
- Requires-Dist: v3io ~=0.5.21
39
+ Requires-Dist: v3io ~=0.6.2
40
40
  Requires-Dist: pydantic >=1.10.8,~=1.10
41
41
  Requires-Dist: mergedeep ~=1.3
42
42
  Requires-Dist: v3io-frames ~=0.10.12
@@ -44,7 +44,7 @@ Requires-Dist: semver ~=3.0
44
44
  Requires-Dist: dependency-injector ~=4.41
45
45
  Requires-Dist: fsspec ==2023.9.2
46
46
  Requires-Dist: v3iofs ~=0.1.17
47
- Requires-Dist: storey ~=1.6.18
47
+ Requires-Dist: storey ~=1.7.3
48
48
  Requires-Dist: inflection ~=0.5.0
49
49
  Requires-Dist: python-dotenv ~=0.17.0
50
50
  Requires-Dist: setuptools ~=68.2
@@ -222,7 +222,7 @@ In MLRun the assets, metadata, and services (data, functions, jobs, artifacts, m
222
222
  Projects can be imported/exported as a whole, mapped to git repositories or IDE projects (in PyCharm, VSCode, etc.), which enables versioning, collaboration, and CI/CD.
223
223
  Project access can be restricted to a set of users and roles.
224
224
 
225
- See: **Docs:** [Projects and Automation](https://docs.mlrun.org/en/latest/projects/project.html), [CI/CD Integration](https://docs.mlrun.org/en/latest/projects/ci-integration.html), **Tutorials:** [Quick start](https://docs.mlrun.org/en/latest/tutorials/01-mlrun-basics.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorials/04-pipeline.html), **Video:** [quick start](https://youtu.be/xI8KVGLlj7Q).
225
+ See: **Docs:** [Projects and Automation](https://docs.mlrun.org/en/latest/projects/project.html), [CI/CD Integration](https://docs.mlrun.org/en/latest/projects/ci-integration.html), **Tutorials:** [Quick start](https://docs.mlrun.org/en/latest/tutorials/01-mlrun-basics.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorials/04-pipeline.html), **Video:** [Quick start](https://youtu.be/xI8KVGLlj7Q).
226
226
 
227
227
  ### Ingest and process data
228
228
 
@@ -235,13 +235,13 @@ See: **Docs:** [Ingest and process data](https://docs.mlrun.org/en/latest/data-p
235
235
 
236
236
  MLRun allows you to easily build ML pipelines that take data from various sources or the Feature Store and process it, train models at scale with multiple parameters, test models, tracks each experiments, register, version and deploy models, etc. MLRun provides scalable built-in or custom model training services, integrate with any framework and can work with 3rd party training/auto-ML services. You can also bring your own pre-trained model and use it in the pipeline.
237
237
 
238
- See: **Docs:** [Develop and train models](https://docs.mlrun.org/en/latest/development/index.html), [Model Training and Tracking](https://docs.mlrun.org/en/latest/development/model-training-tracking.html), [Batch Runs and Workflows](https://docs.mlrun.org/en/latest/concepts/runs-workflows.html); **Tutorials:** [Train & Eval Models](https://docs.mlrun.org/en/latest/tutorials/02-model-training.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorials/04-pipeline.html); **Video:** [Training models](https://youtu.be/bZgBsmLMdQo).
238
+ See: **Docs:** [Develop and train models](https://docs.mlrun.org/en/latest/development/index.html), [Model Training and Tracking](https://docs.mlrun.org/en/latest/development/model-training-tracking.html), [Batch Runs and Workflows](https://docs.mlrun.org/en/latest/concepts/runs-workflows.html); **Tutorials:** [Train, compare, and register models](https://docs.mlrun.org/en/latest/tutorials/02-model-training.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorials/04-pipeline.html); **Video:** [Train and compare models](https://youtu.be/bZgBsmLMdQo).
239
239
 
240
240
  ### Deploy models and applications
241
241
 
242
242
  MLRun rapidly deploys and manages production-grade real-time or batch application pipelines using elastic and resilient serverless functions. MLRun addresses the entire ML application: intercepting application/user requests, running data processing tasks, inferencing using one or more models, driving actions, and integrating with the application logic.
243
243
 
244
- See: **Docs:** [Deploy models and applications](https://docs.mlrun.org/en/latest/deployment/index.html), [Realtime Pipelines](https://docs.mlrun.org/en/latest/serving/serving-graph.html), [Batch Inference](https://docs.mlrun.org/en/latest/concepts/TBD.html), **Tutorials:** [Realtime Serving](https://docs.mlrun.org/en/latest/tutorials/03-model-serving.html), [Batch Inference](https://docs.mlrun.org/en/latest/tutorials/07-batch-infer.html), [Advanced Pipeline](https://docs.mlrun.org/en/latest/tutorials/07-batch-infer.html); **Video:** [Serving models](https://youtu.be/OUjOus4dZfw).
244
+ See: **Docs:** [Deploy models and applications](https://docs.mlrun.org/en/latest/deployment/index.html), [Realtime Pipelines](https://docs.mlrun.org/en/latest/serving/serving-graph.html), [Batch Inference](https://docs.mlrun.org/en/latest/deployment/batch_inference.html), **Tutorials:** [Realtime Serving](https://docs.mlrun.org/en/latest/tutorials/03-model-serving.html), [Batch Inference](https://docs.mlrun.org/en/latest/tutorials/07-batch-infer.html), [Advanced Pipeline](https://docs.mlrun.org/en/latest/tutorials/07-batch-infer.html); **Video:** [Serving pre-trained models](https://youtu.be/OUjOus4dZfw).
245
245
 
246
246
  ### Monitor and alert
247
247
 
@@ -259,9 +259,9 @@ MLRun includes the following major components:
259
259
 
260
260
  [**Project Management:**](https://docs.mlrun.org/en/latest/projects/project.html) A service (API, SDK, DB, UI) that manages the different project assets (data, functions, jobs, workflows, secrets, etc.) and provides central control and metadata layer.
261
261
 
262
- [**Serverless Functions:**](https://docs.mlrun.org/en/latest/runtimes/functions.html) automatically deployed software package with one or more methods and runtime-specific attributes (such as image, libraries, command, arguments, resources, etc.).
262
+ [**Functions:**](https://docs.mlrun.org/en/latest/runtimes/functions.html) automatically deployed software package with one or more methods and runtime-specific attributes (such as image, libraries, command, arguments, resources, etc.).
263
263
 
264
- [**Data & Artifacts:**](https://docs.mlrun.org/en/latest/concepts/data-feature-store.html) Glueless connectivity to various data sources, metadata management, catalog, and versioning for structures/unstructured artifacts.
264
+ [**Data & Artifacts:**](https://docs.mlrun.org/en/latest/concepts/data.html) Glueless connectivity to various data sources, metadata management, catalog, and versioning for structures/unstructured artifacts.
265
265
 
266
266
  [**Feature Store:**](https://docs.mlrun.org/en/latest/feature-store/feature-store.html) automatically collects, prepares, catalogs, and serves production data features for development (offline) and real-time (online) deployment using minimal engineering effort.
267
267