mlrun 1.10.0rc17__py3-none-any.whl → 1.10.0rc19__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/__init__.py +21 -2
- mlrun/common/constants.py +1 -0
- mlrun/common/formatters/artifact.py +1 -0
- mlrun/common/schemas/model_monitoring/constants.py +14 -6
- mlrun/config.py +14 -0
- mlrun/datastore/__init__.py +9 -1
- mlrun/datastore/datastore.py +4 -4
- mlrun/datastore/datastore_profile.py +26 -0
- mlrun/datastore/model_provider/huggingface_provider.py +182 -0
- mlrun/datastore/model_provider/model_provider.py +57 -56
- mlrun/datastore/model_provider/openai_provider.py +34 -20
- mlrun/datastore/utils.py +6 -0
- mlrun/launcher/base.py +13 -0
- mlrun/model_monitoring/api.py +5 -3
- mlrun/model_monitoring/applications/base.py +107 -28
- mlrun/model_monitoring/applications/results.py +4 -7
- mlrun/run.py +4 -2
- mlrun/runtimes/base.py +5 -2
- mlrun/runtimes/daskjob.py +1 -0
- mlrun/runtimes/nuclio/application/application.py +84 -5
- mlrun/runtimes/nuclio/function.py +3 -1
- mlrun/serving/server.py +1 -0
- mlrun/serving/states.py +5 -2
- mlrun/utils/helpers.py +16 -1
- mlrun/utils/logger.py +3 -1
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/METADATA +2 -2
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/RECORD +32 -31
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/WHEEL +0 -0
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/entry_points.txt +0 -0
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/licenses/LICENSE +0 -0
- {mlrun-1.10.0rc17.dist-info → mlrun-1.10.0rc19.dist-info}/top_level.txt +0 -0
|
@@ -29,12 +29,13 @@ from mlrun.runtimes.nuclio.api_gateway import (
|
|
|
29
29
|
APIGatewaySpec,
|
|
30
30
|
)
|
|
31
31
|
from mlrun.runtimes.nuclio.function import NuclioSpec, NuclioStatus
|
|
32
|
-
from mlrun.utils import logger, update_in
|
|
32
|
+
from mlrun.utils import is_valid_port, logger, update_in
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class ApplicationSpec(NuclioSpec):
|
|
36
36
|
_dict_fields = NuclioSpec._dict_fields + [
|
|
37
37
|
"internal_application_port",
|
|
38
|
+
"application_ports",
|
|
38
39
|
]
|
|
39
40
|
|
|
40
41
|
def __init__(
|
|
@@ -79,6 +80,7 @@ class ApplicationSpec(NuclioSpec):
|
|
|
79
80
|
state_thresholds=None,
|
|
80
81
|
disable_default_http_trigger=None,
|
|
81
82
|
internal_application_port=None,
|
|
83
|
+
application_ports=None,
|
|
82
84
|
):
|
|
83
85
|
super().__init__(
|
|
84
86
|
command=command,
|
|
@@ -126,11 +128,54 @@ class ApplicationSpec(NuclioSpec):
|
|
|
126
128
|
self.min_replicas = min_replicas or 1
|
|
127
129
|
self.max_replicas = max_replicas or 1
|
|
128
130
|
|
|
131
|
+
# initializing internal application port and application ports
|
|
132
|
+
self._internal_application_port = None
|
|
133
|
+
self._application_ports = []
|
|
134
|
+
|
|
135
|
+
application_ports = application_ports or []
|
|
136
|
+
|
|
137
|
+
# if internal_application_port is not provided, use the first application port
|
|
138
|
+
if not internal_application_port and len(application_ports) > 0:
|
|
139
|
+
internal_application_port = application_ports[0]
|
|
140
|
+
|
|
141
|
+
# the port of application sidecar to which traffic will be routed from a nuclio function
|
|
129
142
|
self.internal_application_port = (
|
|
130
143
|
internal_application_port
|
|
131
144
|
or mlrun.mlconf.function.application.default_sidecar_internal_port
|
|
132
145
|
)
|
|
133
146
|
|
|
147
|
+
# all exposed ports by the application sidecar
|
|
148
|
+
self.application_ports = application_ports
|
|
149
|
+
|
|
150
|
+
@property
|
|
151
|
+
def application_ports(self):
|
|
152
|
+
return self._application_ports
|
|
153
|
+
|
|
154
|
+
@application_ports.setter
|
|
155
|
+
def application_ports(self, ports):
|
|
156
|
+
"""
|
|
157
|
+
Set the application ports for the application sidecar.
|
|
158
|
+
The internal application port is always included and always first.
|
|
159
|
+
"""
|
|
160
|
+
# Handle None / single int
|
|
161
|
+
if ports is None:
|
|
162
|
+
ports = []
|
|
163
|
+
elif isinstance(ports, int):
|
|
164
|
+
ports = [ports]
|
|
165
|
+
elif not isinstance(ports, list):
|
|
166
|
+
raise mlrun.errors.MLRunInvalidArgumentError(
|
|
167
|
+
"Application ports must be a list of integers"
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# Validate and normalize
|
|
171
|
+
cleaned_ports = []
|
|
172
|
+
for port in ports:
|
|
173
|
+
is_valid_port(port, raise_on_error=True)
|
|
174
|
+
if port != self.internal_application_port:
|
|
175
|
+
cleaned_ports.append(port)
|
|
176
|
+
|
|
177
|
+
self._application_ports = [self.internal_application_port] + cleaned_ports
|
|
178
|
+
|
|
134
179
|
@property
|
|
135
180
|
def internal_application_port(self):
|
|
136
181
|
return self._internal_application_port
|
|
@@ -138,10 +183,13 @@ class ApplicationSpec(NuclioSpec):
|
|
|
138
183
|
@internal_application_port.setter
|
|
139
184
|
def internal_application_port(self, port):
|
|
140
185
|
port = int(port)
|
|
141
|
-
|
|
142
|
-
raise ValueError("Port must be in the range 0-65535")
|
|
186
|
+
is_valid_port(port, raise_on_error=True)
|
|
143
187
|
self._internal_application_port = port
|
|
144
188
|
|
|
189
|
+
# when setting new internal application port, ensure that it is included in the application ports
|
|
190
|
+
# it just triggers setter logic, so setting to the same value is a no-op
|
|
191
|
+
self.application_ports = self._application_ports
|
|
192
|
+
|
|
145
193
|
|
|
146
194
|
class ApplicationStatus(NuclioStatus):
|
|
147
195
|
def __init__(
|
|
@@ -222,6 +270,32 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
222
270
|
def set_internal_application_port(self, port: int):
|
|
223
271
|
self.spec.internal_application_port = port
|
|
224
272
|
|
|
273
|
+
def with_sidecar(
|
|
274
|
+
self,
|
|
275
|
+
name: typing.Optional[str] = None,
|
|
276
|
+
image: typing.Optional[str] = None,
|
|
277
|
+
ports: typing.Optional[typing.Union[int, list[int]]] = None,
|
|
278
|
+
command: typing.Optional[str] = None,
|
|
279
|
+
args: typing.Optional[list[str]] = None,
|
|
280
|
+
):
|
|
281
|
+
# wraps with_sidecar just to set the application ports
|
|
282
|
+
super().with_sidecar(
|
|
283
|
+
name=name,
|
|
284
|
+
image=image,
|
|
285
|
+
ports=ports,
|
|
286
|
+
command=command,
|
|
287
|
+
args=args,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
if ports:
|
|
291
|
+
if self.spec.internal_application_port != ports[0]:
|
|
292
|
+
logger.info(
|
|
293
|
+
f"Setting internal application port to the first port from the sidecar: {ports[0]}. "
|
|
294
|
+
f"If this is not intended, please set the internal_application_port explicitly."
|
|
295
|
+
)
|
|
296
|
+
self.spec.internal_application_port = ports[0]
|
|
297
|
+
self.spec.application_ports = ports
|
|
298
|
+
|
|
225
299
|
def pre_deploy_validation(self):
|
|
226
300
|
super().pre_deploy_validation()
|
|
227
301
|
if not self.spec.config.get("spec.sidecars"):
|
|
@@ -431,6 +505,7 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
431
505
|
ssl_redirect: typing.Optional[bool] = None,
|
|
432
506
|
set_as_default: bool = False,
|
|
433
507
|
gateway_timeout: typing.Optional[int] = None,
|
|
508
|
+
port: typing.Optional[int] = None,
|
|
434
509
|
):
|
|
435
510
|
"""
|
|
436
511
|
Create the application API gateway. Once the application is deployed, the API gateway can be created.
|
|
@@ -447,6 +522,8 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
447
522
|
:param set_as_default: Set the API gateway as the default for the application (`status.api_gateway`)
|
|
448
523
|
:param gateway_timeout: nginx ingress timeout in sec (request timeout, when will the gateway return an
|
|
449
524
|
error)
|
|
525
|
+
:param port: The API gateway port, used only when direct_port_access=True
|
|
526
|
+
|
|
450
527
|
:return: The API gateway URL
|
|
451
528
|
"""
|
|
452
529
|
if not name:
|
|
@@ -467,7 +544,9 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
467
544
|
"Authentication credentials not provided"
|
|
468
545
|
)
|
|
469
546
|
|
|
470
|
-
ports =
|
|
547
|
+
ports = (
|
|
548
|
+
port or self.spec.internal_application_port if direct_port_access else []
|
|
549
|
+
)
|
|
471
550
|
|
|
472
551
|
api_gateway = APIGateway(
|
|
473
552
|
APIGatewayMetadata(
|
|
@@ -728,7 +807,7 @@ class ApplicationRuntime(RemoteRuntime):
|
|
|
728
807
|
self.with_sidecar(
|
|
729
808
|
name=self.status.sidecar_name,
|
|
730
809
|
image=self.status.application_image,
|
|
731
|
-
ports=self.spec.
|
|
810
|
+
ports=self.spec.application_ports,
|
|
732
811
|
command=self.spec.command,
|
|
733
812
|
args=self.spec.args,
|
|
734
813
|
)
|
|
@@ -29,6 +29,7 @@ from kubernetes import client
|
|
|
29
29
|
from nuclio.deploy import find_dashboard_url, get_deploy_status
|
|
30
30
|
from nuclio.triggers import V3IOStreamTrigger
|
|
31
31
|
|
|
32
|
+
import mlrun.common.constants
|
|
32
33
|
import mlrun.db
|
|
33
34
|
import mlrun.errors
|
|
34
35
|
import mlrun.k8s_utils
|
|
@@ -830,7 +831,8 @@ class RemoteRuntime(KubeResource):
|
|
|
830
831
|
def _get_runtime_env(self):
|
|
831
832
|
# for runtime specific env var enrichment (before deploy)
|
|
832
833
|
runtime_env = {
|
|
833
|
-
|
|
834
|
+
mlrun.common.constants.MLRUN_ACTIVE_PROJECT: self.metadata.project
|
|
835
|
+
or mlconf.active_project,
|
|
834
836
|
}
|
|
835
837
|
if mlconf.httpdb.api_url:
|
|
836
838
|
runtime_env["MLRUN_DBPATH"] = mlconf.httpdb.api_url
|
mlrun/serving/server.py
CHANGED
|
@@ -361,6 +361,7 @@ def add_error_raiser_step(
|
|
|
361
361
|
raise_exception=monitored_step.raise_exception,
|
|
362
362
|
models_names=list(monitored_step.class_args["models"].keys()),
|
|
363
363
|
model_endpoint_creation_strategy=mlrun.common.schemas.ModelEndpointCreationStrategy.SKIP,
|
|
364
|
+
function=monitored_step.function,
|
|
364
365
|
)
|
|
365
366
|
if monitored_step.responder:
|
|
366
367
|
monitored_step.responder = False
|
mlrun/serving/states.py
CHANGED
|
@@ -48,7 +48,7 @@ from mlrun.datastore.storeytargets import KafkaStoreyTarget, StreamStoreyTarget
|
|
|
48
48
|
from mlrun.utils import get_data_from_path, logger, split_path
|
|
49
49
|
|
|
50
50
|
from ..config import config
|
|
51
|
-
from ..datastore import get_stream_pusher
|
|
51
|
+
from ..datastore import _DummyStream, get_stream_pusher
|
|
52
52
|
from ..datastore.utils import (
|
|
53
53
|
get_kafka_brokers_from_dict,
|
|
54
54
|
parse_kafka_url,
|
|
@@ -1206,7 +1206,7 @@ class Model(storey.ParallelExecutionRunnable, ModelObj):
|
|
|
1206
1206
|
|
|
1207
1207
|
class LLModel(Model):
|
|
1208
1208
|
def __init__(
|
|
1209
|
-
self, name: str, input_path: Optional[Union[str, list[str]]], **kwargs
|
|
1209
|
+
self, name: str, input_path: Optional[Union[str, list[str]]] = None, **kwargs
|
|
1210
1210
|
):
|
|
1211
1211
|
super().__init__(name, **kwargs)
|
|
1212
1212
|
self._input_path = split_path(input_path)
|
|
@@ -1287,6 +1287,7 @@ class LLModel(Model):
|
|
|
1287
1287
|
{
|
|
1288
1288
|
place_holder: input_data.get(body_map["field"])
|
|
1289
1289
|
for place_holder, body_map in prompt_legend.items()
|
|
1290
|
+
if input_data.get(body_map["field"])
|
|
1290
1291
|
}
|
|
1291
1292
|
if prompt_legend
|
|
1292
1293
|
else {}
|
|
@@ -3099,6 +3100,8 @@ def _init_async_objects(context, steps):
|
|
|
3099
3100
|
context=context,
|
|
3100
3101
|
**options,
|
|
3101
3102
|
)
|
|
3103
|
+
elif stream_path.startswith("dummy://"):
|
|
3104
|
+
step._async_object = _DummyStream(context=context, **options)
|
|
3102
3105
|
else:
|
|
3103
3106
|
if stream_path.startswith("v3io://"):
|
|
3104
3107
|
endpoint, stream_path = parse_path(step.path)
|
mlrun/utils/helpers.py
CHANGED
|
@@ -800,7 +800,12 @@ def remove_tag_from_artifact_uri(uri: str) -> Optional[str]:
|
|
|
800
800
|
"store://key:tag" => "store://key"
|
|
801
801
|
"store://models/remote-model-project/my_model#0@tree" => unchanged (no tag)
|
|
802
802
|
"""
|
|
803
|
-
|
|
803
|
+
add_store = False
|
|
804
|
+
if mlrun.datastore.is_store_uri(uri):
|
|
805
|
+
uri = uri.removeprefix(DB_SCHEMA + "://")
|
|
806
|
+
add_store = True
|
|
807
|
+
uri = re.sub(r"(#[^:@\s]*)?:[^@^:\s]+(?=(@|\^|$))", lambda m: m.group(1) or "", uri)
|
|
808
|
+
return uri if not add_store else DB_SCHEMA + "://" + uri
|
|
804
809
|
|
|
805
810
|
|
|
806
811
|
def extend_hub_uri_if_needed(uri) -> tuple[str, bool]:
|
|
@@ -2422,3 +2427,13 @@ def get_data_from_path(
|
|
|
2422
2427
|
if isinstance(output_data, (int, float)):
|
|
2423
2428
|
output_data = [output_data]
|
|
2424
2429
|
return output_data
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
def is_valid_port(port: int, raise_on_error: bool = False) -> bool:
|
|
2433
|
+
if not port:
|
|
2434
|
+
return False
|
|
2435
|
+
if 0 <= port <= 65535:
|
|
2436
|
+
return True
|
|
2437
|
+
if raise_on_error:
|
|
2438
|
+
raise ValueError("Port must be in the range 0–65535")
|
|
2439
|
+
return False
|
mlrun/utils/logger.py
CHANGED
|
@@ -393,12 +393,14 @@ def resolve_formatter_by_kind(
|
|
|
393
393
|
|
|
394
394
|
|
|
395
395
|
def create_test_logger(name: str = "mlrun", stream: IO[str] = stdout) -> Logger:
|
|
396
|
-
|
|
396
|
+
logger = create_logger(
|
|
397
397
|
level="debug",
|
|
398
398
|
formatter_kind=FormatterKinds.HUMAN_EXTENDED.name,
|
|
399
399
|
name=name,
|
|
400
400
|
stream=stream,
|
|
401
401
|
)
|
|
402
|
+
logger._logger.propagate = True # pass records up to pytest’s handler
|
|
403
|
+
return logger
|
|
402
404
|
|
|
403
405
|
|
|
404
406
|
def create_logger(
|
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.0rc19
|
|
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,7 +44,7 @@ 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.10.
|
|
47
|
+
Requires-Dist: storey~=1.10.9
|
|
48
48
|
Requires-Dist: inflection~=0.5.0
|
|
49
49
|
Requires-Dist: python-dotenv~=1.0
|
|
50
50
|
Requires-Dist: setuptools>=75.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
mlrun/__init__.py,sha256=
|
|
1
|
+
mlrun/__init__.py,sha256=JYy9uteFFNPbPoC0geDEPhaLrfiqTijxUhLZSToAky4,8029
|
|
2
2
|
mlrun/__main__.py,sha256=wQNaxW7QsqFBtWffnPkw-497fnpsrQzUnscBQQAP_UM,48364
|
|
3
|
-
mlrun/config.py,sha256=
|
|
3
|
+
mlrun/config.py,sha256=XAAb68MwEHpuPddPMtKBULtFk0hI9YC25DniYQk1DKk,72853
|
|
4
4
|
mlrun/errors.py,sha256=bAk0t_qmCxQSPNK0TugOAfA5R6f0G6OYvEvXUWSJ_5U,9062
|
|
5
5
|
mlrun/execution.py,sha256=dJ4PFwg5AlDHbCL2Q9dVDjWA_i64UTq2qBiF8kTU9tw,56922
|
|
6
6
|
mlrun/features.py,sha256=jMEXo6NB36A6iaxNEJWzdtYwUmglYD90OIKTIEeWhE8,15841
|
|
@@ -8,7 +8,7 @@ mlrun/k8s_utils.py,sha256=mMnGyouHoJC93ZD2KGf9neJM1pD7mR9IXLnHOEwYVTQ,21469
|
|
|
8
8
|
mlrun/lists.py,sha256=OlaV2QIFUzmenad9kxNJ3k4whlDyxI3zFbGwr6vpC5Y,8561
|
|
9
9
|
mlrun/model.py,sha256=wHtM8LylSOEFk6Hxl95CVm8DOPhofjsANYdIvKHH6dw,88956
|
|
10
10
|
mlrun/render.py,sha256=5DlhD6JtzHgmj5RVlpaYiHGhX84Q7qdi4RCEUj2UMgw,13195
|
|
11
|
-
mlrun/run.py,sha256=
|
|
11
|
+
mlrun/run.py,sha256=UqNL4qA8CZFEu9lrP5xVl_tfYn6_wiN7x0VVQYWH5_c,46932
|
|
12
12
|
mlrun/secrets.py,sha256=dZPdkc_zzfscVQepOHUwmzFqnBavDCBXV9DQoH_eIYM,7800
|
|
13
13
|
mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
|
|
14
14
|
mlrun/alerts/alert.py,sha256=QQFZGydQbx9RvAaSiaH-ALQZVcDKQX5lgizqj_rXW2k,15948
|
|
@@ -23,14 +23,14 @@ mlrun/artifacts/manager.py,sha256=_cDNCS7wwmFIsucJ2uOgHxZQECmIGb8Wye64b6oLgKU,16
|
|
|
23
23
|
mlrun/artifacts/model.py,sha256=8EVaD70SOkTohQIWqkDk0MEwskdofxs3wJTgspa2sho,25615
|
|
24
24
|
mlrun/artifacts/plots.py,sha256=wmaxVXiAPSCyn3M7pIlcBu9pP3O8lrq0Ewx6iHRDF9s,4238
|
|
25
25
|
mlrun/common/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
26
|
-
mlrun/common/constants.py,sha256=
|
|
26
|
+
mlrun/common/constants.py,sha256=H2Qh65elADGD1vgMzI6gYT5RAA2q8uFL6UByIwYBV34,4173
|
|
27
27
|
mlrun/common/helpers.py,sha256=DIdqs_eN3gO5bZ8iFobIvx8cEiOxYxhFIyut6-O69T0,1385
|
|
28
28
|
mlrun/common/secrets.py,sha256=8g9xtIw-9DGcwiZRT62a5ozSQM-aYo8yK5Ghey9WM0g,5179
|
|
29
29
|
mlrun/common/types.py,sha256=1gxThbmC0Vd0U1ffIkEwz4T4S7JOgHt70rvw8TCO21c,1073
|
|
30
30
|
mlrun/common/db/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
31
31
|
mlrun/common/db/dialects.py,sha256=QN9bx7CTo32IIdJ2J3ZrsX8IUdp_BPxBtl0LyjMEC9g,868
|
|
32
32
|
mlrun/common/formatters/__init__.py,sha256=au7S3M3wa9964RpQhFSvflk5-i5SWMeb3kek8Gvt4kg,889
|
|
33
|
-
mlrun/common/formatters/artifact.py,sha256=
|
|
33
|
+
mlrun/common/formatters/artifact.py,sha256=JRs1B3nEvTdn4h69FLHjZZY_Dy40E9-BgvxfjcL_DKU,1503
|
|
34
34
|
mlrun/common/formatters/base.py,sha256=85vQ0t4ZfqCs8b8QV1RLfRcEvANztKvTvsa__sD3zTo,4099
|
|
35
35
|
mlrun/common/formatters/feature_set.py,sha256=SmSSiNYXZtmzQDCvQJhIpArtjOInmDN0g1xFqrDdWsw,1534
|
|
36
36
|
mlrun/common/formatters/function.py,sha256=H8bHilWSn1NXm5WWlFH2dx8slomCGm3e8ghsmWOOh48,1493
|
|
@@ -75,7 +75,7 @@ mlrun/common/schemas/serving.py,sha256=4ek9JZDagkdeXyfkX6P6xp4deUNSf_kqXUaXcKSuv
|
|
|
75
75
|
mlrun/common/schemas/tag.py,sha256=1wqEiAujsElojWb3qmuyfcaLFjXSNAAQdafkDx7fkn0,891
|
|
76
76
|
mlrun/common/schemas/workflow.py,sha256=Y-FHJnxs5c86yetuOAPdEJPkne__tLPCxjSXSb4lrjo,2541
|
|
77
77
|
mlrun/common/schemas/model_monitoring/__init__.py,sha256=FqFiFIDcylquQdY0XTBamB5kMzMrMFEpVYM_ecsVfLg,1925
|
|
78
|
-
mlrun/common/schemas/model_monitoring/constants.py,sha256=
|
|
78
|
+
mlrun/common/schemas/model_monitoring/constants.py,sha256=WhuUWgOwk91BI0dP5c1rm6X_W0V4UBV3l6KvRNHHE-E,13898
|
|
79
79
|
mlrun/common/schemas/model_monitoring/functions.py,sha256=GpfSGp05D87wEKemECD3USL368pvnAM2WfS-nef5qOg,2210
|
|
80
80
|
mlrun/common/schemas/model_monitoring/grafana.py,sha256=THQlLfPBevBksta8p5OaIsBaJtsNSXexLvHrDxOaVns,2095
|
|
81
81
|
mlrun/common/schemas/model_monitoring/model_endpoints.py,sha256=aCrVqgoJsUEwvDJ84YFabDSy78CHcVBV3b0RdWj4JUw,13250
|
|
@@ -84,12 +84,12 @@ mlrun/data_types/data_types.py,sha256=0_oKLC6-sXL2_nnaDMP_HSXB3fD1nJAG4J2Jq6sGNN
|
|
|
84
84
|
mlrun/data_types/infer.py,sha256=F_dW7oR6jrhdONzTl4ngeGh9x7twHdpUJBd2xMVA1Vw,6476
|
|
85
85
|
mlrun/data_types/spark.py,sha256=I5JC887dT9RGs5Tqz5zaRxlCMyhMeFmwuNbExQoyW0E,9625
|
|
86
86
|
mlrun/data_types/to_pandas.py,sha256=KOy0FLXPJirsgH6szcC5BI6t70yVDCjuo6LmuYHNTuI,11429
|
|
87
|
-
mlrun/datastore/__init__.py,sha256=
|
|
87
|
+
mlrun/datastore/__init__.py,sha256=K8lPO3nVQTk14tbJMUS8nbtwhJw1PBzvQ4UI1T5exFo,6097
|
|
88
88
|
mlrun/datastore/alibaba_oss.py,sha256=E0t0-e9Me2t2Mux2LWdC9riOG921TgNjhoy897JJX7o,4932
|
|
89
89
|
mlrun/datastore/azure_blob.py,sha256=3LG7tOTwT97ZFBmyq-sfAIe5_SkuFgisRQtipv4kKUw,12779
|
|
90
90
|
mlrun/datastore/base.py,sha256=yLdnFCL2k_rcasdbxXjnQr7Lwm-A79LnW9AITtn9-p4,25450
|
|
91
|
-
mlrun/datastore/datastore.py,sha256=
|
|
92
|
-
mlrun/datastore/datastore_profile.py,sha256=
|
|
91
|
+
mlrun/datastore/datastore.py,sha256=gOlMyPDelD9CRieoraDPYf1NNig_GrQRuuQxLmRq8Bo,13298
|
|
92
|
+
mlrun/datastore/datastore_profile.py,sha256=Y4VtaatIK4UXuTdpffCkAcsCBSxj5KOgnX7KlL-Yds8,23803
|
|
93
93
|
mlrun/datastore/dbfs_store.py,sha256=CJwst1598qxiu63-Qa0c3e5E8LjeCv1XbMyWI7A6irY,6560
|
|
94
94
|
mlrun/datastore/filestore.py,sha256=OcykjzhbUAZ6_Cb9bGAXRL2ngsOpxXSb4rR0lyogZtM,3773
|
|
95
95
|
mlrun/datastore/google_cloud_storage.py,sha256=NREwZT7BCI0HfmOGkjpy5S3psiL_rgQSi43MaazJcKk,8711
|
|
@@ -105,12 +105,13 @@ mlrun/datastore/spark_utils.py,sha256=dn0RWpYzee-M8UZw-NVuHAdqlNAZ7VO-fNtI8ZiDky
|
|
|
105
105
|
mlrun/datastore/store_resources.py,sha256=s2794zqkzy_mjRMvRedDNs_tycTLoF8wxTqsWRQphCE,6839
|
|
106
106
|
mlrun/datastore/storeytargets.py,sha256=TvHbY3XS0qOg8ImXW1ET61UnjUPcYJbfSGAga3vgC-o,6492
|
|
107
107
|
mlrun/datastore/targets.py,sha256=8dRnLy1wBYJbVyommYkpGeztdT1CsfFHZY6Zh7o8X-Q,79165
|
|
108
|
-
mlrun/datastore/utils.py,sha256=
|
|
108
|
+
mlrun/datastore/utils.py,sha256=jxvq4lgQfgqb7dwKe4Kp51fYCCyOvitEdIfV2mzlqxg,11936
|
|
109
109
|
mlrun/datastore/v3io.py,sha256=sMn5473k_bXyIJovNf0rahbVHRmO0YPdOwIhbs06clg,8201
|
|
110
110
|
mlrun/datastore/vectorstore.py,sha256=k-yom5gfw20hnVG0Rg7aBEehuXwvAloZwn0cx0VGals,11708
|
|
111
111
|
mlrun/datastore/model_provider/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
112
|
-
mlrun/datastore/model_provider/
|
|
113
|
-
mlrun/datastore/model_provider/
|
|
112
|
+
mlrun/datastore/model_provider/huggingface_provider.py,sha256=CLnGN5WJPw8rBAokwZpta1W0_HuyWX3DoIqjW5aaOfE,7237
|
|
113
|
+
mlrun/datastore/model_provider/model_provider.py,sha256=pI546ThJOTvHY8VzM0IfKOKMG4nCvOH4rqs2r36rw9c,8007
|
|
114
|
+
mlrun/datastore/model_provider/openai_provider.py,sha256=kT8lPl_4QeUTtnM4ehXlts53Rhd4e9dGqBViz7KjL0Y,9357
|
|
114
115
|
mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev56Te4,1343
|
|
115
116
|
mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
|
|
116
117
|
mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
|
|
@@ -219,13 +220,13 @@ mlrun/frameworks/xgboost/mlrun_interface.py,sha256=KINOf0udbY75raTewjEFGNlIRyE0e
|
|
|
219
220
|
mlrun/frameworks/xgboost/model_handler.py,sha256=bJq4D1VK3rzhALovqIV5mS0LvGiTlsgAkHanD25pU2c,11663
|
|
220
221
|
mlrun/frameworks/xgboost/utils.py,sha256=4rShiFChzDbWJ4HoTo4qV_lj-Z89pHBAp6Z1yHmU8wA,1068
|
|
221
222
|
mlrun/launcher/__init__.py,sha256=JL8qkT1lLr1YvW6iP0hmwDTaSR2RfrMDx0-1gWRhTOE,571
|
|
222
|
-
mlrun/launcher/base.py,sha256=
|
|
223
|
+
mlrun/launcher/base.py,sha256=Nw7_uUuwCmkxHSBR9-dcseEa1tmDAjTX0uJkyaPeYcY,17987
|
|
223
224
|
mlrun/launcher/client.py,sha256=cl40ZdF2fU1QbUKdl4Xnucb1u2h-8_dn095qIUyxbuM,6402
|
|
224
225
|
mlrun/launcher/factory.py,sha256=RW7mfzEFi8fR0M-4W1JQg1iq3_muUU6OTqT_3l4Ubrk,2338
|
|
225
226
|
mlrun/launcher/local.py,sha256=3gv-IQYoIChSmRaZ0vLUh0Tu26oLMCx9GbBYh4fWygQ,12161
|
|
226
227
|
mlrun/launcher/remote.py,sha256=zFXE52Cq_7EkC8lfNKT0ceIbye0CfFiundF7O1YU4Xw,7810
|
|
227
228
|
mlrun/model_monitoring/__init__.py,sha256=qDQnncjya9XPTlfvGyfWsZWiXc-glGZrrNja-5QmCZk,782
|
|
228
|
-
mlrun/model_monitoring/api.py,sha256=
|
|
229
|
+
mlrun/model_monitoring/api.py,sha256=9UsBIy8LYeAOoiIDTYthuD0mx1TYZxeGgaEM_H2qBkM,26092
|
|
229
230
|
mlrun/model_monitoring/controller.py,sha256=FVckATzREAzldj68D1KxcnKSdilgKUDRdqhRUf9XpWU,39592
|
|
230
231
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
231
232
|
mlrun/model_monitoring/helpers.py,sha256=0xhIYKzhaBrgyjLiA_ekCZsXzi3GBXpLyG40Bhj-PTY,23596
|
|
@@ -233,10 +234,10 @@ mlrun/model_monitoring/stream_processing.py,sha256=Mzn9Pelcblw8UzOFLGKb9oXOX0tkP
|
|
|
233
234
|
mlrun/model_monitoring/writer.py,sha256=rGRFzSOkqZWvD3Y6sVk2H1Gepfnkzkp9ce00PsApTLo,8288
|
|
234
235
|
mlrun/model_monitoring/applications/__init__.py,sha256=MaH_n4GiqqQvSkntM5yQ7_FCANtM_IfgK-IJTdo4G_E,757
|
|
235
236
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=t9LDIqQUGE10cyjyhlg0QqN1yVx0apD1HpERYLJfm8U,7409
|
|
236
|
-
mlrun/model_monitoring/applications/base.py,sha256=
|
|
237
|
+
mlrun/model_monitoring/applications/base.py,sha256=tfxXcE7WOvPEd68b6gbZWFG-8gkeeSaRRN0G0HYn0C8,43932
|
|
237
238
|
mlrun/model_monitoring/applications/context.py,sha256=fAGFNCyNhSnVJPSIeJxv-XmEL2JhDmjK5Ouog9qyvdc,17035
|
|
238
239
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
|
|
239
|
-
mlrun/model_monitoring/applications/results.py,sha256=
|
|
240
|
+
mlrun/model_monitoring/applications/results.py,sha256=LfBQOmkpKGvVGNrcj5QiXsRIG2IRgcv_Xqe4QJBmauk,5699
|
|
240
241
|
mlrun/model_monitoring/applications/evidently/__init__.py,sha256=-DqdPnBSrjZhFvKOu_Ie3MiFvlur9sPTZpZ1u0_1AE8,690
|
|
241
242
|
mlrun/model_monitoring/applications/evidently/base.py,sha256=shH9YwuFrGNWy1IDAbv622l-GE4o1z_u1bqhqTyTHDA,5661
|
|
242
243
|
mlrun/model_monitoring/db/__init__.py,sha256=r47xPGZpIfMuv8J3PQCZTSqVPMhUta4sSJCZFKcS7FM,644
|
|
@@ -279,8 +280,8 @@ mlrun/projects/operations.py,sha256=Rc__P5ucNAY2G-lHc2LrnZs15PUbNFt8-NqNNT2Bjpk,
|
|
|
279
280
|
mlrun/projects/pipelines.py,sha256=nGDzBABEOqoe9sWbax4SfF8CVLgrvK0NLWBadzEthVE,52219
|
|
280
281
|
mlrun/projects/project.py,sha256=a75Sj1lYzWNggTXIKxerSwy52YqNciGvrT2k-ddRmkQ,254149
|
|
281
282
|
mlrun/runtimes/__init__.py,sha256=8cqrYKy1a0_87XG7V_p96untQ4t8RocadM4LVEEN1JM,9029
|
|
282
|
-
mlrun/runtimes/base.py,sha256=
|
|
283
|
-
mlrun/runtimes/daskjob.py,sha256=
|
|
283
|
+
mlrun/runtimes/base.py,sha256=UD2wwxXIZ5ocY-pw7Mzc98plhp-OEgyBuPDtPuVdx98,38346
|
|
284
|
+
mlrun/runtimes/daskjob.py,sha256=IN6gKKrmCIjWooj5FgFm-pAb2i7ra1ERRzClfu_rYGI,20102
|
|
284
285
|
mlrun/runtimes/funcdoc.py,sha256=zRFHrJsV8rhDLJwoUhcfZ7Cs0j-tQ76DxwUqdXV_Wyc,9810
|
|
285
286
|
mlrun/runtimes/function_reference.py,sha256=fnMKUEieKgy4JyVLhFpDtr6JvKgOaQP8F_K2H3-Pk9U,5030
|
|
286
287
|
mlrun/runtimes/generators.py,sha256=X8NDlCEPveDDPOHtOGcSpbl3pAVM3DP7fuPj5xVhxEY,7290
|
|
@@ -299,11 +300,11 @@ mlrun/runtimes/mpijob/abstract.py,sha256=QjAG4OZ6JEQ58w5-qYNd6hUGwvaW8ynLtlr9jNf
|
|
|
299
300
|
mlrun/runtimes/mpijob/v1.py,sha256=zSlRkiWHz4B3yht66sVf4mlfDs8YT9EnP9DfBLn5VNs,3372
|
|
300
301
|
mlrun/runtimes/nuclio/__init__.py,sha256=gx1kizzKv8pGT5TNloN1js1hdbxqDw3rM90sLVYVffY,794
|
|
301
302
|
mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
|
|
302
|
-
mlrun/runtimes/nuclio/function.py,sha256=
|
|
303
|
+
mlrun/runtimes/nuclio/function.py,sha256=8cCcZKWkhvxWp2L5aOoNI6Q2Ya96RFWRswL942LDZy8,54586
|
|
303
304
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
304
305
|
mlrun/runtimes/nuclio/serving.py,sha256=OadofTgla-1HoupdEbiOdgNbqE6LmFcCVOaffBjAByI,35383
|
|
305
306
|
mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
|
|
306
|
-
mlrun/runtimes/nuclio/application/application.py,sha256=
|
|
307
|
+
mlrun/runtimes/nuclio/application/application.py,sha256=5HaB4JEF0PlgP17tyyh-g5X5XfGev4PvEtgVXkScVkg,32080
|
|
307
308
|
mlrun/runtimes/nuclio/application/reverse_proxy.go,sha256=lEHH74vr2PridIHp1Jkc_NjkrWb5b6zawRrNxHQhwGU,2913
|
|
308
309
|
mlrun/runtimes/sparkjob/__init__.py,sha256=GPP_ekItxiU9Ydn3mJa4Obph02Bg6DO-JYs791_MV58,607
|
|
309
310
|
mlrun/runtimes/sparkjob/spark3job.py,sha256=3dW7RG2T58F2dsUw0TsRvE3SIFcekx3CerLdcaG1f50,41458
|
|
@@ -311,9 +312,9 @@ mlrun/serving/__init__.py,sha256=nriJAcVn5aatwU03T7SsE6ngJEGTxr3wIGt4WuvCCzY,139
|
|
|
311
312
|
mlrun/serving/merger.py,sha256=pfOQoozUyObCTpqXAMk94PmhZefn4bBrKufO3MKnkAc,6193
|
|
312
313
|
mlrun/serving/remote.py,sha256=Igha2FipK3-6rV_PZ1K464kTbiTu8rhc6SMm-HiEJ6o,18817
|
|
313
314
|
mlrun/serving/routers.py,sha256=SmBOlHn7rT2gWTa-W8f16UB0UthgIFc4D1cPOZAA9ss,54003
|
|
314
|
-
mlrun/serving/server.py,sha256=
|
|
315
|
+
mlrun/serving/server.py,sha256=26HrbzFj_DgGnTMcb9UPLrOrK4IN9UK7y8j3nGWFgU8,38897
|
|
315
316
|
mlrun/serving/serving_wrapper.py,sha256=UL9hhWCfMPcTJO_XrkvNaFvck1U1E7oS8trTZyak0cA,835
|
|
316
|
-
mlrun/serving/states.py,sha256=
|
|
317
|
+
mlrun/serving/states.py,sha256=NGhIrNZ6ExHuHlF9Ot46vDZ4821VopnezT0LXSD3s-w,124287
|
|
317
318
|
mlrun/serving/system_steps.py,sha256=tCxkJ54peOzRTMaqvHQCbcwx0ITqZkSpGXbtpRUEfzU,18463
|
|
318
319
|
mlrun/serving/utils.py,sha256=Zbfqm8TKNcTE8zRBezVBzpvR2WKeKeIRN7otNIaiYEc,4170
|
|
319
320
|
mlrun/serving/v1_serving.py,sha256=c6J_MtpE-Tqu00-6r4eJOCO6rUasHDal9W2eBIcrl50,11853
|
|
@@ -328,9 +329,9 @@ mlrun/utils/async_http.py,sha256=8Olx8TNNeXB07nEGwlqhEgFgnFAD71vBU_bqaA9JW-w,122
|
|
|
328
329
|
mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,3450
|
|
329
330
|
mlrun/utils/clones.py,sha256=qbAGyEbSvlewn3Tw_DpQZP9z6MGzFhSaZfI1CblX8Fg,7515
|
|
330
331
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
331
|
-
mlrun/utils/helpers.py,sha256=
|
|
332
|
+
mlrun/utils/helpers.py,sha256=XQPDzI0m2vzphZASEllL4eKeXzOXihoj1UqhRtS6PtE,82900
|
|
332
333
|
mlrun/utils/http.py,sha256=5ZU2VpokaUM_DT3HBSqTm8xjUqTPjZN5fKkSIvKlTl0,8704
|
|
333
|
-
mlrun/utils/logger.py,sha256=
|
|
334
|
+
mlrun/utils/logger.py,sha256=uaCgI_ezzaXf7nJDCy-1Nrjds8vSXqDbzmjmb3IyCQo,14864
|
|
334
335
|
mlrun/utils/regex.py,sha256=FcRwWD8x9X3HLhCCU2F0AVKTFah784Pr7ZAe3a02jw8,5199
|
|
335
336
|
mlrun/utils/retryer.py,sha256=SHddxyNdUjIyvNJ3idTDyBzXARihCSuo3zWlZj6fqB0,7852
|
|
336
337
|
mlrun/utils/singleton.py,sha256=fNOfAUtha6OPCV_M1umWnGD0iabnnRwBke9otIspv30,868
|
|
@@ -347,11 +348,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
|
|
|
347
348
|
mlrun/utils/notifications/notification/slack.py,sha256=kfhogR5keR7Zjh0VCjJNK3NR5_yXT7Cv-x9GdOUW4Z8,7294
|
|
348
349
|
mlrun/utils/notifications/notification/webhook.py,sha256=zxh8CAlbPnTazsk6r05X5TKwqUZVOH5KBU2fJbzQlG4,5330
|
|
349
350
|
mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
|
|
350
|
-
mlrun/utils/version/version.json,sha256=
|
|
351
|
+
mlrun/utils/version/version.json,sha256=EzWH8LxmOAhQnz4_IE9K2M2ss6A8G38Jfi20S_UIYfM,90
|
|
351
352
|
mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
|
|
352
|
-
mlrun-1.10.
|
|
353
|
-
mlrun-1.10.
|
|
354
|
-
mlrun-1.10.
|
|
355
|
-
mlrun-1.10.
|
|
356
|
-
mlrun-1.10.
|
|
357
|
-
mlrun-1.10.
|
|
353
|
+
mlrun-1.10.0rc19.dist-info/licenses/LICENSE,sha256=zTiv1CxWNkOk1q8eJS1G_8oD4gWpWLwWxj_Agcsi8Os,11337
|
|
354
|
+
mlrun-1.10.0rc19.dist-info/METADATA,sha256=bqORiYx2KRWUZZ1vbMmfdZAp6-QtssfPaQE6Y-L9M_Q,26195
|
|
355
|
+
mlrun-1.10.0rc19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
356
|
+
mlrun-1.10.0rc19.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
357
|
+
mlrun-1.10.0rc19.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
358
|
+
mlrun-1.10.0rc19.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|