mlrun 1.10.0rc37__py3-none-any.whl → 1.10.0rc41__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- mlrun/artifacts/document.py +6 -1
- mlrun/common/constants.py +6 -0
- mlrun/common/model_monitoring/helpers.py +1 -1
- mlrun/common/schemas/model_monitoring/constants.py +0 -2
- mlrun/common/secrets.py +22 -1
- mlrun/launcher/local.py +2 -0
- mlrun/model.py +7 -1
- mlrun/model_monitoring/api.py +3 -2
- mlrun/model_monitoring/applications/base.py +6 -3
- mlrun/model_monitoring/applications/context.py +1 -0
- mlrun/model_monitoring/db/tsdb/base.py +2 -4
- mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py +17 -11
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +154 -76
- mlrun/projects/project.py +15 -2
- mlrun/run.py +26 -1
- mlrun/runtimes/__init__.py +18 -0
- mlrun/runtimes/base.py +3 -0
- mlrun/runtimes/local.py +5 -2
- mlrun/runtimes/mounts.py +5 -0
- mlrun/runtimes/nuclio/application/application.py +2 -0
- mlrun/runtimes/nuclio/function.py +14 -0
- mlrun/runtimes/nuclio/serving.py +67 -4
- mlrun/runtimes/pod.py +59 -10
- mlrun/serving/server.py +42 -10
- mlrun/serving/states.py +75 -26
- mlrun/utils/helpers.py +86 -10
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/METADATA +3 -3
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/RECORD +33 -33
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/WHEEL +0 -0
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/entry_points.txt +0 -0
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/licenses/LICENSE +0 -0
- {mlrun-1.10.0rc37.dist-info → mlrun-1.10.0rc41.dist-info}/top_level.txt +0 -0
mlrun/serving/states.py
CHANGED
|
@@ -522,7 +522,9 @@ class BaseStep(ModelObj):
|
|
|
522
522
|
|
|
523
523
|
root = self._extract_root_step()
|
|
524
524
|
|
|
525
|
-
if not isinstance(root, RootFlowStep)
|
|
525
|
+
if not isinstance(root, RootFlowStep) or (
|
|
526
|
+
isinstance(root, RootFlowStep) and root.engine != "async"
|
|
527
|
+
):
|
|
526
528
|
raise GraphError(
|
|
527
529
|
"ModelRunnerStep can be added to 'Flow' topology graph only"
|
|
528
530
|
)
|
|
@@ -589,15 +591,14 @@ class BaseStep(ModelObj):
|
|
|
589
591
|
root.get_shared_model_by_artifact_uri(model_artifact_uri)
|
|
590
592
|
)
|
|
591
593
|
|
|
592
|
-
if not
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
]["shared_runnable_name"] = actual_shared_name
|
|
594
|
+
if not actual_shared_name:
|
|
595
|
+
raise GraphError(
|
|
596
|
+
f"Can't find shared model named {shared_runnable_name}"
|
|
597
|
+
)
|
|
598
|
+
elif not shared_runnable_name:
|
|
599
|
+
step.class_args[schemas.ModelRunnerStepData.MODELS][name][
|
|
600
|
+
schemas.ModelsData.MODEL_PARAMETERS.value
|
|
601
|
+
]["shared_runnable_name"] = actual_shared_name
|
|
601
602
|
elif actual_shared_name != shared_runnable_name:
|
|
602
603
|
raise GraphError(
|
|
603
604
|
f"Model endpoint {name} shared runnable name mismatch: "
|
|
@@ -1148,6 +1149,7 @@ class Model(storey.ParallelExecutionRunnable, ModelObj):
|
|
|
1148
1149
|
"artifact_uri",
|
|
1149
1150
|
"shared_runnable_name",
|
|
1150
1151
|
"shared_proxy_mapping",
|
|
1152
|
+
"execution_mechanism",
|
|
1151
1153
|
]
|
|
1152
1154
|
kind = "model"
|
|
1153
1155
|
|
|
@@ -1170,6 +1172,7 @@ class Model(storey.ParallelExecutionRunnable, ModelObj):
|
|
|
1170
1172
|
self.model_artifact: Optional[ModelArtifact] = None
|
|
1171
1173
|
self.model_provider: Optional[ModelProvider] = None
|
|
1172
1174
|
self._artifact_were_loaded = False
|
|
1175
|
+
self._execution_mechanism = None
|
|
1173
1176
|
|
|
1174
1177
|
def __init_subclass__(cls):
|
|
1175
1178
|
super().__init_subclass__()
|
|
@@ -1189,6 +1192,20 @@ class Model(storey.ParallelExecutionRunnable, ModelObj):
|
|
|
1189
1192
|
raise_missing_schema_exception=False,
|
|
1190
1193
|
)
|
|
1191
1194
|
|
|
1195
|
+
# Check if the relevant predict method is implemented when trying to initialize the model
|
|
1196
|
+
if self._execution_mechanism == storey.ParallelExecutionMechanisms.asyncio:
|
|
1197
|
+
if self.__class__.predict_async is Model.predict_async:
|
|
1198
|
+
raise mlrun.errors.ModelRunnerError(
|
|
1199
|
+
f"{self.name} is running with {self._execution_mechanism} execution_mechanism but predict_async() "
|
|
1200
|
+
f"is not implemented"
|
|
1201
|
+
)
|
|
1202
|
+
else:
|
|
1203
|
+
if self.__class__.predict is Model.predict:
|
|
1204
|
+
raise mlrun.errors.ModelRunnerError(
|
|
1205
|
+
f"{self.name} is running with {self._execution_mechanism} execution_mechanism but predict() "
|
|
1206
|
+
f"is not implemented"
|
|
1207
|
+
)
|
|
1208
|
+
|
|
1192
1209
|
def _load_artifacts(self) -> None:
|
|
1193
1210
|
if not self._artifact_were_loaded:
|
|
1194
1211
|
artifact = self._get_artifact_object()
|
|
@@ -1219,11 +1236,11 @@ class Model(storey.ParallelExecutionRunnable, ModelObj):
|
|
|
1219
1236
|
|
|
1220
1237
|
def predict(self, body: Any, **kwargs) -> Any:
|
|
1221
1238
|
"""Override to implement prediction logic. If the logic requires asyncio, override predict_async() instead."""
|
|
1222
|
-
|
|
1239
|
+
raise NotImplementedError("predict() method not implemented")
|
|
1223
1240
|
|
|
1224
1241
|
async def predict_async(self, body: Any, **kwargs) -> Any:
|
|
1225
1242
|
"""Override to implement prediction logic if the logic requires asyncio."""
|
|
1226
|
-
|
|
1243
|
+
raise NotImplementedError("predict_async() method not implemented")
|
|
1227
1244
|
|
|
1228
1245
|
def run(self, body: Any, path: str, origin_name: Optional[str] = None) -> Any:
|
|
1229
1246
|
return self.predict(body)
|
|
@@ -1644,6 +1661,10 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
1644
1661
|
Note when ModelRunnerStep is used in a graph, MLRun automatically imports
|
|
1645
1662
|
the default language model class (LLModel) during function deployment.
|
|
1646
1663
|
|
|
1664
|
+
Note ModelRunnerStep can only be added to a graph that has the flow topology and running with async engine.
|
|
1665
|
+
|
|
1666
|
+
Note see config_pool_resource method documentation for default number of max threads and max processes.
|
|
1667
|
+
|
|
1647
1668
|
:param model_selector: ModelSelector instance whose select() method will be used to select models to run on each
|
|
1648
1669
|
event. Optional. If not passed, all models will be run.
|
|
1649
1670
|
:param raise_exception: If True, an error will be raised when model selection fails or if one of the models raised
|
|
@@ -1656,7 +1677,12 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
1656
1677
|
"""
|
|
1657
1678
|
|
|
1658
1679
|
kind = "model_runner"
|
|
1659
|
-
_dict_fields = MonitoredStep._dict_fields + [
|
|
1680
|
+
_dict_fields = MonitoredStep._dict_fields + [
|
|
1681
|
+
"_shared_proxy_mapping",
|
|
1682
|
+
"max_processes",
|
|
1683
|
+
"max_threads",
|
|
1684
|
+
"pool_factor",
|
|
1685
|
+
]
|
|
1660
1686
|
|
|
1661
1687
|
def __init__(
|
|
1662
1688
|
self,
|
|
@@ -1667,6 +1693,10 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
1667
1693
|
raise_exception: bool = True,
|
|
1668
1694
|
**kwargs,
|
|
1669
1695
|
):
|
|
1696
|
+
self.max_processes = None
|
|
1697
|
+
self.max_threads = None
|
|
1698
|
+
self.pool_factor = None
|
|
1699
|
+
|
|
1670
1700
|
if isinstance(model_selector, ModelSelector) and model_selector_parameters:
|
|
1671
1701
|
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
1672
1702
|
"Cannot provide a model_selector object as argument to `model_selector` and also provide "
|
|
@@ -1728,6 +1758,7 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
1728
1758
|
2. Create a new model endpoint with the same name and set it to `latest`.
|
|
1729
1759
|
|
|
1730
1760
|
:param override: bool allow override existing model on the current ModelRunnerStep.
|
|
1761
|
+
:raise GraphError: when the shared model is not found in the root flow step shared models.
|
|
1731
1762
|
"""
|
|
1732
1763
|
model_class, model_params = (
|
|
1733
1764
|
"mlrun.serving.Model",
|
|
@@ -1845,14 +1876,6 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
1845
1876
|
otherwise block the main event loop thread.
|
|
1846
1877
|
* "asyncio" – To run in an asyncio task. This is appropriate for I/O tasks that use asyncio, allowing the
|
|
1847
1878
|
event loop to continue running while waiting for a response.
|
|
1848
|
-
* "shared_executor" – Reuses an external executor (typically managed by the flow or context) to execute the
|
|
1849
|
-
runnable. Should be used only if you have multiply `ParallelExecution` in the same flow and especially
|
|
1850
|
-
useful when:
|
|
1851
|
-
- You want to share a heavy resource like a large model loaded onto a GPU.
|
|
1852
|
-
- You want to centralize task scheduling or coordination for multiple lightweight tasks.
|
|
1853
|
-
- You aim to minimize overhead from creating new executors or processes/threads per runnable.
|
|
1854
|
-
The runnable is expected to be pre-initialized and reused across events, enabling efficient use of
|
|
1855
|
-
memory and hardware accelerators.
|
|
1856
1879
|
* "naive" – To run in the main event loop. This is appropriate only for trivial computation and/or file I/O.
|
|
1857
1880
|
It means that the runnable will not actually be run in parallel to anything else.
|
|
1858
1881
|
|
|
@@ -2073,6 +2096,24 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
2073
2096
|
"Monitoring data must be a dictionary."
|
|
2074
2097
|
)
|
|
2075
2098
|
|
|
2099
|
+
def configure_pool_resource(
|
|
2100
|
+
self,
|
|
2101
|
+
max_processes: Optional[int] = None,
|
|
2102
|
+
max_threads: Optional[int] = None,
|
|
2103
|
+
pool_factor: Optional[int] = None,
|
|
2104
|
+
) -> None:
|
|
2105
|
+
"""
|
|
2106
|
+
Configure the resource limits for the shared models in the graph.
|
|
2107
|
+
|
|
2108
|
+
:param max_processes: Maximum number of processes to spawn (excluding dedicated processes).
|
|
2109
|
+
Defaults to the number of CPUs or 16 if undetectable.
|
|
2110
|
+
:param max_threads: Maximum number of threads to spawn. Defaults to 32.
|
|
2111
|
+
:param pool_factor: Multiplier to scale the number of process/thread workers per runnable. Defaults to 1.
|
|
2112
|
+
"""
|
|
2113
|
+
self.max_processes = max_processes
|
|
2114
|
+
self.max_threads = max_threads
|
|
2115
|
+
self.pool_factor = pool_factor
|
|
2116
|
+
|
|
2076
2117
|
def init_object(self, context, namespace, mode="sync", reset=False, **extra_kwargs):
|
|
2077
2118
|
self.context = context
|
|
2078
2119
|
if not self._is_local_function(context):
|
|
@@ -2091,24 +2132,28 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
2091
2132
|
)
|
|
2092
2133
|
model_objects = []
|
|
2093
2134
|
for model, model_params in models.values():
|
|
2135
|
+
model_name = model_params.get("name")
|
|
2094
2136
|
model_params[schemas.MonitoringData.INPUT_PATH] = (
|
|
2095
2137
|
self.class_args.get(
|
|
2096
2138
|
mlrun.common.schemas.ModelRunnerStepData.MONITORING_DATA, {}
|
|
2097
2139
|
)
|
|
2098
|
-
.get(
|
|
2140
|
+
.get(model_name, {})
|
|
2099
2141
|
.get(schemas.MonitoringData.INPUT_PATH)
|
|
2100
2142
|
)
|
|
2101
2143
|
model_params[schemas.MonitoringData.RESULT_PATH] = (
|
|
2102
2144
|
self.class_args.get(
|
|
2103
2145
|
mlrun.common.schemas.ModelRunnerStepData.MONITORING_DATA, {}
|
|
2104
2146
|
)
|
|
2105
|
-
.get(
|
|
2147
|
+
.get(model_name, {})
|
|
2106
2148
|
.get(schemas.MonitoringData.RESULT_PATH)
|
|
2107
2149
|
)
|
|
2108
2150
|
model = get_class(model, namespace).from_dict(
|
|
2109
2151
|
model_params, init_with_params=True
|
|
2110
2152
|
)
|
|
2111
2153
|
model._raise_exception = False
|
|
2154
|
+
model._execution_mechanism = execution_mechanism_by_model_name.get(
|
|
2155
|
+
model_name
|
|
2156
|
+
)
|
|
2112
2157
|
model_objects.append(model)
|
|
2113
2158
|
self._async_object = ModelRunner(
|
|
2114
2159
|
model_selector=model_selector,
|
|
@@ -2117,6 +2162,9 @@ class ModelRunnerStep(MonitoredStep):
|
|
|
2117
2162
|
shared_proxy_mapping=self._shared_proxy_mapping or None,
|
|
2118
2163
|
name=self.name,
|
|
2119
2164
|
context=context,
|
|
2165
|
+
max_processes=self.max_processes,
|
|
2166
|
+
max_threads=self.max_threads,
|
|
2167
|
+
pool_factor=self.pool_factor,
|
|
2120
2168
|
)
|
|
2121
2169
|
|
|
2122
2170
|
|
|
@@ -2959,7 +3007,7 @@ class RootFlowStep(FlowStep):
|
|
|
2959
3007
|
|
|
2960
3008
|
def get_shared_model_by_artifact_uri(
|
|
2961
3009
|
self, artifact_uri: str
|
|
2962
|
-
) ->
|
|
3010
|
+
) -> Union[tuple[str, str, dict], tuple[None, None, None]]:
|
|
2963
3011
|
"""
|
|
2964
3012
|
Get a shared model by its artifact URI.
|
|
2965
3013
|
:param artifact_uri: The artifact URI of the model.
|
|
@@ -2968,9 +3016,9 @@ class RootFlowStep(FlowStep):
|
|
|
2968
3016
|
for model_name, (model_class, model_params) in self.shared_models.items():
|
|
2969
3017
|
if model_params.get("artifact_uri") == artifact_uri:
|
|
2970
3018
|
return model_name, model_class, model_params
|
|
2971
|
-
return None
|
|
3019
|
+
return None, None, None
|
|
2972
3020
|
|
|
2973
|
-
def
|
|
3021
|
+
def configure_shared_pool_resource(
|
|
2974
3022
|
self,
|
|
2975
3023
|
max_processes: Optional[int] = None,
|
|
2976
3024
|
max_threads: Optional[int] = None,
|
|
@@ -3018,6 +3066,7 @@ class RootFlowStep(FlowStep):
|
|
|
3018
3066
|
model_params, init_with_params=True
|
|
3019
3067
|
)
|
|
3020
3068
|
model._raise_exception = False
|
|
3069
|
+
model._execution_mechanism = self._shared_models_mechanism[model.name]
|
|
3021
3070
|
self.context.executor.add_runnable(
|
|
3022
3071
|
model, self._shared_models_mechanism[model.name]
|
|
3023
3072
|
)
|
mlrun/utils/helpers.py
CHANGED
|
@@ -253,6 +253,40 @@ def verify_field_regex(
|
|
|
253
253
|
return False
|
|
254
254
|
|
|
255
255
|
|
|
256
|
+
def validate_function_name(name: str) -> None:
|
|
257
|
+
"""
|
|
258
|
+
Validate that a function name conforms to Kubernetes DNS-1123 label requirements.
|
|
259
|
+
|
|
260
|
+
Function names for Kubernetes resources must:
|
|
261
|
+
- Be lowercase alphanumeric characters or '-'
|
|
262
|
+
- Start and end with an alphanumeric character
|
|
263
|
+
- Be at most 63 characters long
|
|
264
|
+
|
|
265
|
+
This validation should be called AFTER normalize_name() has been applied.
|
|
266
|
+
|
|
267
|
+
Refer to https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names
|
|
268
|
+
|
|
269
|
+
:param name: The function name to validate (after normalization)
|
|
270
|
+
:raises MLRunInvalidArgumentError: If the function name is invalid for Kubernetes
|
|
271
|
+
"""
|
|
272
|
+
if not name:
|
|
273
|
+
return
|
|
274
|
+
|
|
275
|
+
verify_field_regex(
|
|
276
|
+
"function.metadata.name",
|
|
277
|
+
name,
|
|
278
|
+
mlrun.utils.regex.dns_1123_label,
|
|
279
|
+
raise_on_failure=True,
|
|
280
|
+
log_message=(
|
|
281
|
+
f"Function name '{name}' is invalid. "
|
|
282
|
+
"Kubernetes function names must be DNS-1123 labels: "
|
|
283
|
+
"lowercase alphanumeric characters or '-', "
|
|
284
|
+
"starting and ending with an alphanumeric character, "
|
|
285
|
+
"and at most 63 characters long."
|
|
286
|
+
),
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
|
|
256
290
|
def validate_builder_source(
|
|
257
291
|
source: str, pull_at_runtime: bool = False, workdir: Optional[str] = None
|
|
258
292
|
):
|
|
@@ -476,6 +510,40 @@ def normalize_name(name: str):
|
|
|
476
510
|
return name.lower()
|
|
477
511
|
|
|
478
512
|
|
|
513
|
+
def ensure_batch_job_suffix(
|
|
514
|
+
function_name: typing.Optional[str],
|
|
515
|
+
) -> tuple[typing.Optional[str], bool, str]:
|
|
516
|
+
"""
|
|
517
|
+
Ensure that a function name has the batch job suffix appended to prevent database collision.
|
|
518
|
+
|
|
519
|
+
This helper is used by to_job() methods in runtimes that convert online functions (serving, local)
|
|
520
|
+
to batch processing jobs. The suffix prevents the job from overwriting the original function in
|
|
521
|
+
the database when both are stored with the same (project, name) key.
|
|
522
|
+
|
|
523
|
+
:param function_name: The original function name (can be None or empty string)
|
|
524
|
+
|
|
525
|
+
:return: A tuple of (modified_name, was_renamed, suffix) where:
|
|
526
|
+
- modified_name: The function name with the batch suffix (if not already present),
|
|
527
|
+
or empty string if input was empty
|
|
528
|
+
- was_renamed: True if the suffix was added, False if it was already present or if name was empty/None
|
|
529
|
+
- suffix: The suffix value that was used (or would have been used)
|
|
530
|
+
|
|
531
|
+
"""
|
|
532
|
+
suffix = mlrun_constants.RESERVED_BATCH_JOB_SUFFIX
|
|
533
|
+
|
|
534
|
+
# Handle None or empty string
|
|
535
|
+
if not function_name:
|
|
536
|
+
return function_name, False, suffix
|
|
537
|
+
|
|
538
|
+
if not function_name.endswith(suffix):
|
|
539
|
+
return (
|
|
540
|
+
f"{function_name}{suffix}",
|
|
541
|
+
True,
|
|
542
|
+
suffix,
|
|
543
|
+
)
|
|
544
|
+
return function_name, False, suffix
|
|
545
|
+
|
|
546
|
+
|
|
479
547
|
class LogBatchWriter:
|
|
480
548
|
def __init__(self, func, batch=16, maxtime=5):
|
|
481
549
|
self.batch = batch
|
|
@@ -970,8 +1038,15 @@ def enrich_image_url(
|
|
|
970
1038
|
else:
|
|
971
1039
|
image_url = "mlrun/mlrun"
|
|
972
1040
|
|
|
973
|
-
if is_mlrun_image and tag
|
|
974
|
-
|
|
1041
|
+
if is_mlrun_image and tag:
|
|
1042
|
+
if ":" not in image_url:
|
|
1043
|
+
image_url = f"{image_url}:{tag}"
|
|
1044
|
+
elif enrich_kfp_python_version:
|
|
1045
|
+
# For mlrun-kfp >= 1.10.0-rc0, append python suffix to existing tag
|
|
1046
|
+
python_suffix = resolve_image_tag_suffix(
|
|
1047
|
+
mlrun_version, client_python_version
|
|
1048
|
+
)
|
|
1049
|
+
image_url = f"{image_url}{python_suffix}" if python_suffix else image_url
|
|
975
1050
|
|
|
976
1051
|
registry = (
|
|
977
1052
|
config.images_registry if is_mlrun_image else config.vendor_images_registry
|
|
@@ -2464,15 +2539,16 @@ def merge_requirements(
|
|
|
2464
2539
|
return [str(req) for req in merged.values()]
|
|
2465
2540
|
|
|
2466
2541
|
|
|
2467
|
-
def
|
|
2542
|
+
def get_source_and_working_dir_paths(source_file_path) -> (pathlib.Path, pathlib.Path):
|
|
2468
2543
|
source_file_path_object = pathlib.Path(source_file_path).resolve()
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2544
|
+
working_dir_path_object = pathlib.Path(".").resolve()
|
|
2545
|
+
return source_file_path_object, working_dir_path_object
|
|
2546
|
+
|
|
2547
|
+
|
|
2548
|
+
def get_relative_module_name_from_path(
|
|
2549
|
+
source_file_path_object, working_dir_path_object
|
|
2550
|
+
) -> str:
|
|
2475
2551
|
relative_path_to_source_file = source_file_path_object.relative_to(
|
|
2476
|
-
|
|
2552
|
+
working_dir_path_object
|
|
2477
2553
|
)
|
|
2478
2554
|
return ".".join(relative_path_to_source_file.with_suffix("").parts)
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc41
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -113,7 +113,7 @@ Requires-Dist: apscheduler<4,>=3.11; extra == "api"
|
|
|
113
113
|
Requires-Dist: objgraph~=3.6; extra == "api"
|
|
114
114
|
Requires-Dist: igz-mgmt~=0.4.1; extra == "api"
|
|
115
115
|
Requires-Dist: humanfriendly~=10.0; extra == "api"
|
|
116
|
-
Requires-Dist: fastapi~=0.
|
|
116
|
+
Requires-Dist: fastapi~=0.120.0; extra == "api"
|
|
117
117
|
Requires-Dist: sqlalchemy~=2.0; extra == "api"
|
|
118
118
|
Requires-Dist: sqlalchemy-utils~=0.41.2; extra == "api"
|
|
119
119
|
Requires-Dist: pymysql~=1.1; extra == "api"
|
|
@@ -203,7 +203,7 @@ Requires-Dist: dask~=2023.12.1; python_version < "3.11" and extra == "complete-a
|
|
|
203
203
|
Requires-Dist: databricks-sdk~=0.20.0; extra == "complete-api"
|
|
204
204
|
Requires-Dist: distributed==2024.8; python_version >= "3.11" and extra == "complete-api"
|
|
205
205
|
Requires-Dist: distributed~=2023.12.1; python_version < "3.11" and extra == "complete-api"
|
|
206
|
-
Requires-Dist: fastapi~=0.
|
|
206
|
+
Requires-Dist: fastapi~=0.120.0; extra == "complete-api"
|
|
207
207
|
Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "complete-api"
|
|
208
208
|
Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete-api"
|
|
209
209
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "complete-api"
|
|
@@ -6,25 +6,25 @@ mlrun/execution.py,sha256=Ozu8SjO-nQ6l5vHwqrTQjmP6koMpUqNQpp6qn6jvhVE,58802
|
|
|
6
6
|
mlrun/features.py,sha256=jMEXo6NB36A6iaxNEJWzdtYwUmglYD90OIKTIEeWhE8,15841
|
|
7
7
|
mlrun/k8s_utils.py,sha256=zIacVyvsXrXVO-DdxAoGQOGEDWOGJEFJzYPhPVnn3z8,24548
|
|
8
8
|
mlrun/lists.py,sha256=OlaV2QIFUzmenad9kxNJ3k4whlDyxI3zFbGwr6vpC5Y,8561
|
|
9
|
-
mlrun/model.py,sha256=
|
|
9
|
+
mlrun/model.py,sha256=flea-6ktoUqHp5HtMV8HZVotUl6Mm2kIcPHtVNLHXKk,89287
|
|
10
10
|
mlrun/render.py,sha256=5DlhD6JtzHgmj5RVlpaYiHGhX84Q7qdi4RCEUj2UMgw,13195
|
|
11
|
-
mlrun/run.py,sha256=
|
|
11
|
+
mlrun/run.py,sha256=BA0CPJqtcM3c-hMmnGl6AccRMyIejJxvCcrSXTwcRwU,49841
|
|
12
12
|
mlrun/secrets.py,sha256=VFETVDJFZ0AGDivYjhYscO_YHnzeBnAebxlio7Svkq0,9633
|
|
13
13
|
mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
|
|
14
14
|
mlrun/alerts/alert.py,sha256=QQFZGydQbx9RvAaSiaH-ALQZVcDKQX5lgizqj_rXW2k,15948
|
|
15
15
|
mlrun/artifacts/__init__.py,sha256=ZrEUNto7tGdnBGteCp9zOyO8b78z7O3xgcpzUt9UHE4,1240
|
|
16
16
|
mlrun/artifacts/base.py,sha256=6x_2KPMNOciiNNUsiKgJ-b6ejxAHm_Ro22xODLoTc44,28559
|
|
17
17
|
mlrun/artifacts/dataset.py,sha256=bhb5Kfbs8P28yjnpN76th5lLEUl5nAqD4VqVzHEVPrM,16421
|
|
18
|
-
mlrun/artifacts/document.py,sha256=
|
|
18
|
+
mlrun/artifacts/document.py,sha256=VYoWcFUB45B-z_nhbedFCpiorZsDBxkTNRLWjYvri0Q,17585
|
|
19
19
|
mlrun/artifacts/helpers.py,sha256=ejTEC9vkI2w5FHn5Gopw3VEIxuni0bazWUnR6BBWZfU,1662
|
|
20
20
|
mlrun/artifacts/llm_prompt.py,sha256=pshXzYXPDBAe6C0vecn9MyRNyPdxrah3c80oZUKkYWA,9840
|
|
21
21
|
mlrun/artifacts/manager.py,sha256=_cDNCS7wwmFIsucJ2uOgHxZQECmIGb8Wye64b6oLgKU,16642
|
|
22
22
|
mlrun/artifacts/model.py,sha256=9yU9NZlxxY_ifSyXOgMnPi_RMDmawY9A-rLi-_VJs4c,25662
|
|
23
23
|
mlrun/artifacts/plots.py,sha256=wmaxVXiAPSCyn3M7pIlcBu9pP3O8lrq0Ewx6iHRDF9s,4238
|
|
24
24
|
mlrun/common/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
25
|
-
mlrun/common/constants.py,sha256=
|
|
25
|
+
mlrun/common/constants.py,sha256=BbKFJN6EoFSOmUmvos20ZAty8hWtwG0quTrfbLzrWO4,4294
|
|
26
26
|
mlrun/common/helpers.py,sha256=DIdqs_eN3gO5bZ8iFobIvx8cEiOxYxhFIyut6-O69T0,1385
|
|
27
|
-
mlrun/common/secrets.py,sha256=
|
|
27
|
+
mlrun/common/secrets.py,sha256=VdvEg2r_DwqdLGfNxkSRLhQqH_yI88xi7rE7GsaH3UY,5941
|
|
28
28
|
mlrun/common/types.py,sha256=1gxThbmC0Vd0U1ffIkEwz4T4S7JOgHt70rvw8TCO21c,1073
|
|
29
29
|
mlrun/common/db/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
30
30
|
mlrun/common/db/dialects.py,sha256=QN9bx7CTo32IIdJ2J3ZrsX8IUdp_BPxBtl0LyjMEC9g,868
|
|
@@ -38,7 +38,7 @@ mlrun/common/formatters/pipeline.py,sha256=bMjW0lDZWozuq4B3WtzZtXncvKHcPF7cdN_Ym
|
|
|
38
38
|
mlrun/common/formatters/project.py,sha256=4cxC5B6PKvpL2SYxxqg9vpEhoaWtart6iCIr2A85lE0,2100
|
|
39
39
|
mlrun/common/formatters/run.py,sha256=LlqhhVY4dAp5y17k_sWBtHaJogdNdtJWF0iO9sX-bUw,1059
|
|
40
40
|
mlrun/common/model_monitoring/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
41
|
-
mlrun/common/model_monitoring/helpers.py,sha256=
|
|
41
|
+
mlrun/common/model_monitoring/helpers.py,sha256=lrUw6UKUbCh17f7aOOFljDHFfxYN5ih8nW5sz_90IHk,6237
|
|
42
42
|
mlrun/common/runtimes/constants.py,sha256=CGMHE2gdsNHXNsa-u3eL0o8sQmDs6PN5FLpMlCDClns,12218
|
|
43
43
|
mlrun/common/schemas/__init__.py,sha256=oEG9cIcDxzrTVrjDRuYBTSsEOK0ifFVdQp-D1EUkIDY,5517
|
|
44
44
|
mlrun/common/schemas/alert.py,sha256=u6INAHBhQIfm-mMsGqDJo1_JDN6gOuWZa-8fOU-aOUE,10182
|
|
@@ -74,7 +74,7 @@ mlrun/common/schemas/serving.py,sha256=4ek9JZDagkdeXyfkX6P6xp4deUNSf_kqXUaXcKSuv
|
|
|
74
74
|
mlrun/common/schemas/tag.py,sha256=1wqEiAujsElojWb3qmuyfcaLFjXSNAAQdafkDx7fkn0,891
|
|
75
75
|
mlrun/common/schemas/workflow.py,sha256=Y-FHJnxs5c86yetuOAPdEJPkne__tLPCxjSXSb4lrjo,2541
|
|
76
76
|
mlrun/common/schemas/model_monitoring/__init__.py,sha256=ndeGXCJTE_GvMSb1FfQ5fXvhs0I8nO_yWy1UBSZIifY,1956
|
|
77
|
-
mlrun/common/schemas/model_monitoring/constants.py,sha256=
|
|
77
|
+
mlrun/common/schemas/model_monitoring/constants.py,sha256=GimtHVQmMkCh4e5Fy0YLeeMWP8D5uCvVcWdpM63SPJg,13906
|
|
78
78
|
mlrun/common/schemas/model_monitoring/functions.py,sha256=Ej8ChjmMZq1HP32THNABoktQHN1mdlkSqKbofxu10i4,2536
|
|
79
79
|
mlrun/common/schemas/model_monitoring/grafana.py,sha256=THQlLfPBevBksta8p5OaIsBaJtsNSXexLvHrDxOaVns,2095
|
|
80
80
|
mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=aevkfKWRbRj2cxabeUrVka49lJ2SRDA7I8rD-Fihr2Q,13648
|
|
@@ -225,10 +225,10 @@ mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,57
|
|
|
225
225
|
mlrun/launcher/base.py,sha256=IgBE-ZS1ZiGzucg5SElGtO4qOB0cqYQfGtZTcRc2S3Y,17378
|
|
226
226
|
mlrun/launcher/client.py,sha256=cl40ZdF2fU1QbUKdl4Xnucb1u2h-8_dn095qIUyxbuM,6402
|
|
227
227
|
mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
|
|
228
|
-
mlrun/launcher/local.py,sha256=
|
|
228
|
+
mlrun/launcher/local.py,sha256=sBpVxNoVLiPGDam_PFLJUb0vvKAWjMgqNY0A_RiR0hQ,12218
|
|
229
229
|
mlrun/launcher/remote.py,sha256=zFXE52Cq_7EkC8lfNKT0ceIbye0CfFiundF7O1YU4Xw,7810
|
|
230
230
|
mlrun/model_monitoring/__init__.py,sha256=qDQnncjya9XPTlfvGyfWsZWiXc-glGZrrNja-5QmCZk,782
|
|
231
|
-
mlrun/model_monitoring/api.py,sha256=
|
|
231
|
+
mlrun/model_monitoring/api.py,sha256=yxADX4V7rNPgh2Zh95hIDtWuhkinItay-SfMwm9bqGY,27783
|
|
232
232
|
mlrun/model_monitoring/controller.py,sha256=2XOkOZRB03K9ph6TH-ICspHga-GQOURL0C8-0GTHaTY,43961
|
|
233
233
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
234
234
|
mlrun/model_monitoring/helpers.py,sha256=50oFqgIc5xFHYPIVgq3M-Gbr7epqAI5NgHmvOeMy52U,24667
|
|
@@ -236,8 +236,8 @@ mlrun/model_monitoring/stream_processing.py,sha256=bryYO3D0cC10MAQ-liHxUZ79MrL-V
|
|
|
236
236
|
mlrun/model_monitoring/writer.py,sha256=l2D_5Ms5Wq5jfyQRVJbGBBRTMLjMmIAxwPeHWmrc9Kg,16382
|
|
237
237
|
mlrun/model_monitoring/applications/__init__.py,sha256=BwlmRELlFJf2b2YMyv5kUSHNe8--OyqWhDgRlT8a_8g,779
|
|
238
238
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=t9LDIqQUGE10cyjyhlg0QqN1yVx0apD1HpERYLJfm8U,7409
|
|
239
|
-
mlrun/model_monitoring/applications/base.py,sha256=
|
|
240
|
-
mlrun/model_monitoring/applications/context.py,sha256=
|
|
239
|
+
mlrun/model_monitoring/applications/base.py,sha256=Bd8bD2kJlS4ZaGAkj88o4iwRjXIE76gYdhXqAjXfUCk,51344
|
|
240
|
+
mlrun/model_monitoring/applications/context.py,sha256=oBYtCoMG6jvOowrPPDogZ_IjWaPIZ-Jqj5IdUlSzEzY,17040
|
|
241
241
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
|
|
242
242
|
mlrun/model_monitoring/applications/results.py,sha256=LfBQOmkpKGvVGNrcj5QiXsRIG2IRgcv_Xqe4QJBmauk,5699
|
|
243
243
|
mlrun/model_monitoring/applications/evidently/__init__.py,sha256=-DqdPnBSrjZhFvKOu_Ie3MiFvlur9sPTZpZ1u0_1AE8,690
|
|
@@ -246,17 +246,17 @@ mlrun/model_monitoring/db/__init__.py,sha256=r47xPGZpIfMuv8J3PQCZTSqVPMhUta4sSJC
|
|
|
246
246
|
mlrun/model_monitoring/db/_schedules.py,sha256=CJm4ulHFeE2Jxl4TcDMkvDAFfkb4D9Kd7UEzSAe2PNM,11902
|
|
247
247
|
mlrun/model_monitoring/db/_stats.py,sha256=aZZqaOV9eRSp9aDrlxmFOiGtYGHejLTGgp3Ff0NGs1Y,6982
|
|
248
248
|
mlrun/model_monitoring/db/tsdb/__init__.py,sha256=4S86V_Ot_skE16SLkw0WwsaAUB0ECH6SoJdp-TIu6s8,4645
|
|
249
|
-
mlrun/model_monitoring/db/tsdb/base.py,sha256=
|
|
249
|
+
mlrun/model_monitoring/db/tsdb/base.py,sha256=WLlz2j01OceE6S0JetWIZykZFEhx4tFfl1fnqFWiJx4,33909
|
|
250
250
|
mlrun/model_monitoring/db/tsdb/helpers.py,sha256=0oUXc4aUkYtP2SGP6jTb3uPPKImIUsVsrb9otX9a7O4,1189
|
|
251
251
|
mlrun/model_monitoring/db/tsdb/tdengine/__init__.py,sha256=vgBdsKaXUURKqIf3M0y4sRatmSVA4CQiJs7J5dcVBkQ,620
|
|
252
252
|
mlrun/model_monitoring/db/tsdb/tdengine/schemas.py,sha256=TuWuaCZw8sV1gSwN2BPmW8Gzwe3dsRN__KkJB9lum00,13116
|
|
253
253
|
mlrun/model_monitoring/db/tsdb/tdengine/stream_graph_steps.py,sha256=Uadj0UvAmln2MxDWod-kAzau1uNlqZh981rPhbUH_5M,2857
|
|
254
254
|
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py,sha256=dtkaHaWKWERPXylEWMECeetwrz3rWl0P43AADcTjlls,9330
|
|
255
|
-
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=
|
|
255
|
+
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=b9n5f701PmMuvrCueu_jTXLohOHEKq92UP6lZdJqLZ0,54284
|
|
256
256
|
mlrun/model_monitoring/db/tsdb/tdengine/writer_graph_steps.py,sha256=zMof6hUr0dsyor73pnOWkJP62INAvslHU0nUklbT-3w,2053
|
|
257
257
|
mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
|
|
258
258
|
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=sNQFj6qyJx5eSBKRC3gyTc1cfh1l2IkRpPtuZwtzCW0,6844
|
|
259
|
-
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=
|
|
259
|
+
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=a98w3TX42t7mNuEu6RFNQUdKGN8t4BWwDVthN9AKv3k,66579
|
|
260
260
|
mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
261
261
|
mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
|
|
262
262
|
mlrun/package/__init__.py,sha256=v7VDyK9kDOOuDvFo4oiGV2fx-vM1KL7fdN9pGLakhUQ,7008
|
|
@@ -281,17 +281,17 @@ mlrun/platforms/iguazio.py,sha256=32_o95Ntx9z3ciowt2NcnX7tAiLBwX3VB0mbTQ-KrIQ,13
|
|
|
281
281
|
mlrun/projects/__init__.py,sha256=hdCOA6_fp8X4qGGGT7Bj7sPbkM1PayWuaVZL0DkpuZw,1240
|
|
282
282
|
mlrun/projects/operations.py,sha256=Oo7h0TMztI_RVmj0rQxNS1igS_c94HpQZwMIFjiWt0E,21038
|
|
283
283
|
mlrun/projects/pipelines.py,sha256=ZOfuIEHOXfuc4qAkuWvbWhCjP6kqpLkv-yBBaY9RXhg,52219
|
|
284
|
-
mlrun/projects/project.py,sha256=
|
|
285
|
-
mlrun/runtimes/__init__.py,sha256=
|
|
286
|
-
mlrun/runtimes/base.py,sha256=
|
|
284
|
+
mlrun/projects/project.py,sha256=asDcSEVz26DhaeSO8ZK-r-zGHzOfvAhC6sSdk4HJqsY,258178
|
|
285
|
+
mlrun/runtimes/__init__.py,sha256=NSIk1xlUduSY3ZZ2tLmXegw1Z1im5_KjtbmsL874Z6s,9829
|
|
286
|
+
mlrun/runtimes/base.py,sha256=CpIaml8nJbbPt8PQXDzy_AXbJ0LObRWk1lprRBDRYdI,38986
|
|
287
287
|
mlrun/runtimes/daskjob.py,sha256=IN6gKKrmCIjWooj5FgFm-pAb2i7ra1ERRzClfu_rYGI,20102
|
|
288
288
|
mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
|
|
289
289
|
mlrun/runtimes/function_reference.py,sha256=fnMKUEieKgy4JyVLhFpDtr6JvKgOaQP8F_K2H3-Pk9U,5030
|
|
290
290
|
mlrun/runtimes/generators.py,sha256=X8NDlCEPveDDPOHtOGcSpbl3pAVM3DP7fuPj5xVhxEY,7290
|
|
291
291
|
mlrun/runtimes/kubejob.py,sha256=wadCzmSgjv9OU_Ax8CQNHfXLo0v-ev9ZGHUFGcNc9Qw,8577
|
|
292
|
-
mlrun/runtimes/local.py,sha256=
|
|
293
|
-
mlrun/runtimes/mounts.py,sha256=
|
|
294
|
-
mlrun/runtimes/pod.py,sha256=
|
|
292
|
+
mlrun/runtimes/local.py,sha256=sbIFQdU-GBfAwESJGU06hiqXUiwjP6IVvbCieIPGQn4,22311
|
|
293
|
+
mlrun/runtimes/mounts.py,sha256=fc3iYXjlnJZbm0PcCTrGBFQJ548WtFGnepK-pc4wSAM,19441
|
|
294
|
+
mlrun/runtimes/pod.py,sha256=HIEG2p5laAjDPlOFS9jcw3lugzddRDuvG0124MPalq4,59891
|
|
295
295
|
mlrun/runtimes/remotesparkjob.py,sha256=BalAea66GleaKeoYTw6ZL1Qr4wf1yRxfgk1-Fkc9Pqg,7864
|
|
296
296
|
mlrun/runtimes/utils.py,sha256=b0T5Qm0WmbHk_I4d14ikzhhjymjIVedaifBi-ymKwOc,17733
|
|
297
297
|
mlrun/runtimes/databricks_job/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
@@ -303,11 +303,11 @@ mlrun/runtimes/mpijob/abstract.py,sha256=QjAG4OZ6JEQ58w5-qYNd6hUGwvaW8ynLtlr9jNf
|
|
|
303
303
|
mlrun/runtimes/mpijob/v1.py,sha256=zSlRkiWHz4B3yht66sVf4mlfDs8YT9EnP9DfBLn5VNs,3372
|
|
304
304
|
mlrun/runtimes/nuclio/__init__.py,sha256=osOVMN9paIOuUoOTizmkxMb_OXRP-SlPwXHJSSYK_wk,834
|
|
305
305
|
mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
|
|
306
|
-
mlrun/runtimes/nuclio/function.py,sha256=
|
|
306
|
+
mlrun/runtimes/nuclio/function.py,sha256=vcW7IqCeLzxJ9YFBErqtEkp4MbgomFC1qWFTznBbNEY,56078
|
|
307
307
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
308
|
-
mlrun/runtimes/nuclio/serving.py,sha256=
|
|
308
|
+
mlrun/runtimes/nuclio/serving.py,sha256=n2O00NKEfhCv-YCiJtCVPqliitamh8gaN_PD5I_kjD0,39267
|
|
309
309
|
mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
|
|
310
|
-
mlrun/runtimes/nuclio/application/application.py,sha256=
|
|
310
|
+
mlrun/runtimes/nuclio/application/application.py,sha256=eVOdGXZF23VMxRhR_cZYArxxaUKKXtEshtomFf-vp3E,34065
|
|
311
311
|
mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=lEHH74vr2PridIHp1Jkc_NjkrWb5b6zawRrNxHQhwGU,2913
|
|
312
312
|
mlrun/runtimes/sparkjob/__init__.py,sha256=GPP_ekItxiU9Ydn3mJa4Obph02Bg6DO-JYs791_MV58,607
|
|
313
313
|
mlrun/runtimes/sparkjob/spark3job.py,sha256=3dW7RG2T58F2dsUw0TsRvE3SIFcekx3CerLdcaG1f50,41458
|
|
@@ -315,9 +315,9 @@ mlrun/serving/__init__.py,sha256=nriJAcVn5aatwU03T7SsE6ngJEGTxr3wIGt4WuvCCzY,139
|
|
|
315
315
|
mlrun/serving/merger.py,sha256=pfOQoozUyObCTpqXAMk94PmhZefn4bBrKufO3MKnkAc,6193
|
|
316
316
|
mlrun/serving/remote.py,sha256=p29CBtKwbW_l8BzmNg3Uy__0eMf7_OubTMzga_S3EOA,22089
|
|
317
317
|
mlrun/serving/routers.py,sha256=pu5jlSLI4Ml68YP_FMFDhhwPfLcT6lRu5yL5QDgXPHQ,52889
|
|
318
|
-
mlrun/serving/server.py,sha256=
|
|
318
|
+
mlrun/serving/server.py,sha256=UIQON9ytG_4VUa4cMWZ8AxxBzGjBrhFhkC-FrvAHa_o,42593
|
|
319
319
|
mlrun/serving/serving_wrapper.py,sha256=UL9hhWCfMPcTJO_XrkvNaFvck1U1E7oS8trTZyak0cA,835
|
|
320
|
-
mlrun/serving/states.py,sha256=
|
|
320
|
+
mlrun/serving/states.py,sha256=jjkh1cOm66dIpBdRg4ZV8tcCOYEXSu0eJr64pewT78M,140919
|
|
321
321
|
mlrun/serving/steps.py,sha256=zbMgJnu-m4n7vhFRgZkCMMifIsCya-TzAj3Gjc-Fgnc,2193
|
|
322
322
|
mlrun/serving/system_steps.py,sha256=BDCJn73h7cUT5AoSSm25Fjg4WwzcEpMQp-ZjMw9ogEc,20025
|
|
323
323
|
mlrun/serving/utils.py,sha256=Zbfqm8TKNcTE8zRBezVBzpvR2WKeKeIRN7otNIaiYEc,4170
|
|
@@ -333,7 +333,7 @@ mlrun/utils/async_http.py,sha256=8Olx8TNNeXB07nEGwlqhEgFgnFAD71vBU_bqaA9JW-w,122
|
|
|
333
333
|
mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,3450
|
|
334
334
|
mlrun/utils/clones.py,sha256=qbAGyEbSvlewn3Tw_DpQZP9z6MGzFhSaZfI1CblX8Fg,7515
|
|
335
335
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
336
|
-
mlrun/utils/helpers.py,sha256=
|
|
336
|
+
mlrun/utils/helpers.py,sha256=95nTQRqqsWeDzt19AEvz2pAkbEOfamvWg1es4cC6_us,87120
|
|
337
337
|
mlrun/utils/http.py,sha256=5ZU2VpokaUM_DT3HBSqTm8xjUqTPjZN5fKkSIvKlTl0,8704
|
|
338
338
|
mlrun/utils/logger.py,sha256=uaCgI_ezzaXf7nJDCy-1Nrjds8vSXqDbzmjmb3IyCQo,14864
|
|
339
339
|
mlrun/utils/regex.py,sha256=FcRwWD8x9X3HLhCCU2F0AVKTFah784Pr7ZAe3a02jw8,5199
|
|
@@ -352,11 +352,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
|
|
|
352
352
|
mlrun/utils/notifications/notification/slack.py,sha256=wSu_7W0EnGLBNwIgWCYEeTP8j9SPAMPDBnfUcPnVZYA,7299
|
|
353
353
|
mlrun/utils/notifications/notification/webhook.py,sha256=FM5-LQAKAVJKp37MRzR3SsejalcnpM6r_9Oe7znxZEA,5313
|
|
354
354
|
mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
|
|
355
|
-
mlrun/utils/version/version.json,sha256=
|
|
355
|
+
mlrun/utils/version/version.json,sha256=2aCJ-nYvcci3gSGlj1aNj8zNsFetEd1KN95VOXJvAKw,90
|
|
356
356
|
mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
|
|
357
|
-
mlrun-1.10.
|
|
358
|
-
mlrun-1.10.
|
|
359
|
-
mlrun-1.10.
|
|
360
|
-
mlrun-1.10.
|
|
361
|
-
mlrun-1.10.
|
|
362
|
-
mlrun-1.10.
|
|
357
|
+
mlrun-1.10.0rc41.dist-info/licenses/LICENSE,sha256=zTiv1CxWNkOk1q8eJS1G_8oD4gWpWLwWxj_Agcsi8Os,11337
|
|
358
|
+
mlrun-1.10.0rc41.dist-info/METADATA,sha256=nm4Rr7bTUHzURoC74qlRN7kFbY-dzVd8MJEszynnHHE,26104
|
|
359
|
+
mlrun-1.10.0rc41.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
360
|
+
mlrun-1.10.0rc41.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
361
|
+
mlrun-1.10.0rc41.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
362
|
+
mlrun-1.10.0rc41.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|