mlrun 1.10.0rc26__py3-none-any.whl → 1.10.0rc27__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/model_monitoring/applications/base.py +5 -3
- mlrun/projects/pipelines.py +2 -2
- mlrun/run.py +12 -1
- mlrun/runtimes/nuclio/function.py +35 -26
- mlrun/utils/helpers.py +5 -11
- mlrun/utils/notifications/notification/base.py +18 -0
- mlrun/utils/notifications/notification/git.py +2 -4
- mlrun/utils/notifications/notification/slack.py +2 -4
- mlrun/utils/notifications/notification/webhook.py +2 -5
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/METADATA +20 -24
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/RECORD +16 -16
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/WHEEL +0 -0
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/entry_points.txt +0 -0
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/licenses/LICENSE +0 -0
- {mlrun-1.10.0rc26.dist-info → mlrun-1.10.0rc27.dist-info}/top_level.txt +0 -0
|
@@ -544,15 +544,17 @@ class ModelMonitoringApplicationBase(MonitoringApplicationToDict, ABC):
|
|
|
544
544
|
else:
|
|
545
545
|
raise mlrun.errors.MLRunValueError(
|
|
546
546
|
"The start time for the application and endpoint precedes the last analyzed time: "
|
|
547
|
-
f"{start_dt
|
|
547
|
+
f"start_dt='{start_dt}', last_analyzed='{last_analyzed}', {application_name=}, "
|
|
548
|
+
f"{endpoint_id=}. "
|
|
548
549
|
"Writing data out of order is not supported, and the start time could not be "
|
|
549
550
|
"dynamically reset, as last_analyzed is later than the given end time or that "
|
|
550
|
-
f"base_period was specified ({end_dt
|
|
551
|
+
f"base_period was specified (end_dt='{end_dt}', {base_period=})."
|
|
551
552
|
)
|
|
552
553
|
else:
|
|
553
554
|
raise mlrun.errors.MLRunValueError(
|
|
554
555
|
"The start time for the application and endpoint precedes the last analyzed time: "
|
|
555
|
-
f"{start_dt
|
|
556
|
+
f"start_dt='{start_dt}', last_analyzed='{last_analyzed}', {application_name=}, "
|
|
557
|
+
f"{endpoint_id=}. "
|
|
556
558
|
"Writing data out of order is not supported. You should change the start time to "
|
|
557
559
|
f"'{last_analyzed}' or later."
|
|
558
560
|
)
|
mlrun/projects/pipelines.py
CHANGED
|
@@ -228,11 +228,11 @@ class _PipelineContext:
|
|
|
228
228
|
force_run_local = mlrun.mlconf.force_run_local
|
|
229
229
|
if force_run_local is None or force_run_local == "auto":
|
|
230
230
|
force_run_local = not mlrun.mlconf.is_api_running_on_k8s()
|
|
231
|
+
|
|
232
|
+
if self.workflow:
|
|
231
233
|
if not mlrun.mlconf.kfp_url:
|
|
232
234
|
logger.debug("Kubeflow pipeline URL is not set, running locally")
|
|
233
235
|
force_run_local = True
|
|
234
|
-
|
|
235
|
-
if self.workflow:
|
|
236
236
|
force_run_local = force_run_local or self.workflow.run_local
|
|
237
237
|
|
|
238
238
|
return force_run_local
|
mlrun/run.py
CHANGED
|
@@ -222,7 +222,8 @@ def get_or_create_ctx(
|
|
|
222
222
|
:param spec: dictionary holding run spec
|
|
223
223
|
:param with_env: look for context in environment vars, default True
|
|
224
224
|
:param rundb: path/url to the metadata and artifact database
|
|
225
|
-
:param project: project to initiate the context in (by default `mlrun.mlconf.active_project`)
|
|
225
|
+
:param project: project to initiate the context in (by default `mlrun.mlconf.active_project`).
|
|
226
|
+
If not set, an active project must exist.
|
|
226
227
|
:param upload_artifacts: when using local context (not as part of a job/run), upload artifacts to the
|
|
227
228
|
system default artifact path location
|
|
228
229
|
:return: execution context
|
|
@@ -277,6 +278,16 @@ def get_or_create_ctx(
|
|
|
277
278
|
if newspec and not isinstance(newspec, dict):
|
|
278
279
|
newspec = json.loads(newspec)
|
|
279
280
|
|
|
281
|
+
if (
|
|
282
|
+
not newspec.get("metadata", {}).get("project")
|
|
283
|
+
and not project
|
|
284
|
+
and not mlconf.active_project
|
|
285
|
+
):
|
|
286
|
+
raise mlrun.errors.MLRunMissingProjectError(
|
|
287
|
+
"""No active project found. Make sure to set an active project using: mlrun.get_or_create_project()
|
|
288
|
+
You can verify the active project with: mlrun.mlconf.active_project"""
|
|
289
|
+
)
|
|
290
|
+
|
|
280
291
|
if not newspec:
|
|
281
292
|
newspec = {}
|
|
282
293
|
if upload_artifacts:
|
|
@@ -968,24 +968,6 @@ class RemoteRuntime(KubeResource):
|
|
|
968
968
|
self._mock_server = None
|
|
969
969
|
|
|
970
970
|
if "://" not in path:
|
|
971
|
-
if not self.status.address:
|
|
972
|
-
# here we check that if default http trigger is disabled, function contains a custom http trigger
|
|
973
|
-
# Otherwise, the function is not invokable, so we raise an error
|
|
974
|
-
if (
|
|
975
|
-
not self._trigger_of_kind_exists(kind="http")
|
|
976
|
-
and self.spec.disable_default_http_trigger
|
|
977
|
-
):
|
|
978
|
-
raise mlrun.errors.MLRunPreconditionFailedError(
|
|
979
|
-
"Default http trigger creation is disabled and there is no any other custom http trigger, "
|
|
980
|
-
"so function can not be invoked via http. Either enable default http trigger creation or "
|
|
981
|
-
"create custom http trigger"
|
|
982
|
-
)
|
|
983
|
-
state, _, _ = self._get_state()
|
|
984
|
-
if state not in ["ready", "scaledToZero"]:
|
|
985
|
-
logger.warning(f"Function is in the {state} state")
|
|
986
|
-
if not self.status.address:
|
|
987
|
-
raise ValueError("no function address first run .deploy()")
|
|
988
|
-
|
|
989
971
|
path = self._resolve_invocation_url(path, force_external_address)
|
|
990
972
|
|
|
991
973
|
if headers is None:
|
|
@@ -1228,19 +1210,47 @@ class RemoteRuntime(KubeResource):
|
|
|
1228
1210
|
# internal / external invocation urls is a nuclio >= 1.6.x feature
|
|
1229
1211
|
# try to infer the invocation url from the internal and if not exists, use external.
|
|
1230
1212
|
# $$$$ we do not want to use the external invocation url (e.g.: ingress, nodePort, etc.)
|
|
1213
|
+
|
|
1214
|
+
# check function state before invocation
|
|
1215
|
+
state, _, _ = self._get_state()
|
|
1216
|
+
if state not in ["ready", "scaledToZero"]:
|
|
1217
|
+
logger.warning(f"Function is in the {state} state")
|
|
1218
|
+
|
|
1219
|
+
# prefer internal invocation url if running inside k8s cluster
|
|
1231
1220
|
if (
|
|
1232
1221
|
not force_external_address
|
|
1233
1222
|
and self.status.internal_invocation_urls
|
|
1234
1223
|
and mlrun.k8s_utils.is_running_inside_kubernetes_cluster()
|
|
1235
1224
|
):
|
|
1236
|
-
|
|
1225
|
+
url = mlrun.utils.helpers.join_urls(
|
|
1237
1226
|
f"http://{self.status.internal_invocation_urls[0]}", path
|
|
1238
1227
|
)
|
|
1228
|
+
logger.debug(
|
|
1229
|
+
f"Using internal invocation url {url}. Make sure you have network access to the k8s cluster. "
|
|
1230
|
+
f"Otherwise, set force_external_address to True"
|
|
1231
|
+
)
|
|
1232
|
+
return url
|
|
1239
1233
|
|
|
1240
1234
|
if self.status.external_invocation_urls:
|
|
1241
1235
|
return mlrun.utils.helpers.join_urls(
|
|
1242
1236
|
f"http://{self.status.external_invocation_urls[0]}", path
|
|
1243
1237
|
)
|
|
1238
|
+
|
|
1239
|
+
if not self.status.address:
|
|
1240
|
+
# if there is no address
|
|
1241
|
+
# here we check that if default http trigger is disabled, function contains a custom http trigger
|
|
1242
|
+
# Otherwise, the function is not invokable, so we raise an error
|
|
1243
|
+
if (
|
|
1244
|
+
not self._trigger_of_kind_exists(kind="http")
|
|
1245
|
+
and self.spec.disable_default_http_trigger
|
|
1246
|
+
):
|
|
1247
|
+
raise mlrun.errors.MLRunPreconditionFailedError(
|
|
1248
|
+
"Default http trigger creation is disabled and there is no any other custom http trigger, "
|
|
1249
|
+
"so function can not be invoked via http. Either enable default http trigger creation or "
|
|
1250
|
+
"create custom http trigger"
|
|
1251
|
+
)
|
|
1252
|
+
else:
|
|
1253
|
+
raise ValueError("no function address first run .deploy()")
|
|
1244
1254
|
else:
|
|
1245
1255
|
return mlrun.utils.helpers.join_urls(f"http://{self.status.address}", path)
|
|
1246
1256
|
|
|
@@ -1294,6 +1304,8 @@ class RemoteRuntime(KubeResource):
|
|
|
1294
1304
|
def get_url(
|
|
1295
1305
|
self,
|
|
1296
1306
|
force_external_address: bool = False,
|
|
1307
|
+
# leaving auth_info for BC
|
|
1308
|
+
# TODO: remove in 1.12.0
|
|
1297
1309
|
auth_info: AuthInfo = None,
|
|
1298
1310
|
):
|
|
1299
1311
|
"""
|
|
@@ -1304,13 +1316,10 @@ class RemoteRuntime(KubeResource):
|
|
|
1304
1316
|
|
|
1305
1317
|
:return: returns function's url
|
|
1306
1318
|
"""
|
|
1307
|
-
if
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
"no function address or not ready, first run .deploy()"
|
|
1312
|
-
)
|
|
1313
|
-
|
|
1319
|
+
if auth_info:
|
|
1320
|
+
logger.warning(
|
|
1321
|
+
"Deprecated parameter 'auth_info' was provided, but will be ignored. Will be removed in 1.12.0."
|
|
1322
|
+
)
|
|
1314
1323
|
return self._resolve_invocation_url("", force_external_address)
|
|
1315
1324
|
|
|
1316
1325
|
@staticmethod
|
mlrun/utils/helpers.py
CHANGED
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
import asyncio
|
|
16
16
|
import base64
|
|
17
17
|
import enum
|
|
18
|
-
import functools
|
|
19
18
|
import gzip
|
|
20
19
|
import hashlib
|
|
21
20
|
import inspect
|
|
@@ -915,12 +914,10 @@ def enrich_image_url(
|
|
|
915
914
|
)
|
|
916
915
|
mlrun_version = config.images_tag or client_version or server_version
|
|
917
916
|
tag = mlrun_version or ""
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
mlrun_version=mlrun_version, python_version=client_python_version
|
|
923
|
-
)
|
|
917
|
+
tag += resolve_image_tag_suffix(
|
|
918
|
+
mlrun_version=mlrun_version,
|
|
919
|
+
python_version=client_python_version,
|
|
920
|
+
)
|
|
924
921
|
|
|
925
922
|
# it's an mlrun image if the repository is mlrun
|
|
926
923
|
is_mlrun_image = image_url.startswith("mlrun/") or "/mlrun/" in image_url
|
|
@@ -1862,10 +1859,7 @@ async def run_in_threadpool(func, *args, **kwargs):
|
|
|
1862
1859
|
Run a sync-function in the loop default thread pool executor pool and await its result.
|
|
1863
1860
|
Note that this function is not suitable for CPU-bound tasks, as it will block the event loop.
|
|
1864
1861
|
"""
|
|
1865
|
-
|
|
1866
|
-
if kwargs:
|
|
1867
|
-
func = functools.partial(func, **kwargs)
|
|
1868
|
-
return await loop.run_in_executor(None, func, *args)
|
|
1862
|
+
return await asyncio.to_thread(func, *args, **kwargs)
|
|
1869
1863
|
|
|
1870
1864
|
|
|
1871
1865
|
def is_explicit_ack_supported(context):
|
|
@@ -15,11 +15,29 @@
|
|
|
15
15
|
import asyncio
|
|
16
16
|
import typing
|
|
17
17
|
from copy import deepcopy
|
|
18
|
+
from typing import Optional
|
|
19
|
+
|
|
20
|
+
import aiohttp
|
|
18
21
|
|
|
19
22
|
import mlrun.common.schemas
|
|
20
23
|
import mlrun.lists
|
|
21
24
|
|
|
22
25
|
|
|
26
|
+
class TimedHTTPClient:
|
|
27
|
+
def __init__(self, timeout: Optional[float] = 30.0):
|
|
28
|
+
"""
|
|
29
|
+
HTTP client wrapper with built-in timeout.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
timeout: Request timeout in seconds (default: 30.0)
|
|
33
|
+
"""
|
|
34
|
+
self.timeout = aiohttp.ClientTimeout(total=timeout)
|
|
35
|
+
|
|
36
|
+
def session(self, **kwargs) -> aiohttp.ClientSession:
|
|
37
|
+
"""Create a new ClientSession with the configured timeout and additional parameters."""
|
|
38
|
+
return aiohttp.ClientSession(timeout=self.timeout, **kwargs)
|
|
39
|
+
|
|
40
|
+
|
|
23
41
|
class NotificationBase:
|
|
24
42
|
def __init__(
|
|
25
43
|
self,
|
|
@@ -16,13 +16,11 @@ import json
|
|
|
16
16
|
import os
|
|
17
17
|
import typing
|
|
18
18
|
|
|
19
|
-
import aiohttp
|
|
20
|
-
|
|
21
19
|
import mlrun.common.schemas
|
|
22
20
|
import mlrun.errors
|
|
23
21
|
import mlrun.lists
|
|
24
22
|
|
|
25
|
-
from .base import NotificationBase
|
|
23
|
+
from .base import NotificationBase, TimedHTTPClient
|
|
26
24
|
|
|
27
25
|
|
|
28
26
|
class GitNotification(NotificationBase):
|
|
@@ -148,7 +146,7 @@ class GitNotification(NotificationBase):
|
|
|
148
146
|
}
|
|
149
147
|
url = f"https://{server}/repos/{repo}/issues/{issue}/comments"
|
|
150
148
|
|
|
151
|
-
async with
|
|
149
|
+
async with TimedHTTPClient().session() as session:
|
|
152
150
|
resp = await session.post(url, headers=headers, json={"body": message})
|
|
153
151
|
if not resp.ok:
|
|
154
152
|
resp_text = await resp.text()
|
|
@@ -14,14 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
import typing
|
|
16
16
|
|
|
17
|
-
import aiohttp
|
|
18
|
-
|
|
19
17
|
import mlrun.common.runtimes.constants as runtimes_constants
|
|
20
18
|
import mlrun.common.schemas
|
|
21
19
|
import mlrun.lists
|
|
22
20
|
import mlrun.utils.helpers
|
|
23
21
|
|
|
24
|
-
from .base import NotificationBase
|
|
22
|
+
from .base import NotificationBase, TimedHTTPClient
|
|
25
23
|
|
|
26
24
|
|
|
27
25
|
class SlackNotification(NotificationBase):
|
|
@@ -67,7 +65,7 @@ class SlackNotification(NotificationBase):
|
|
|
67
65
|
|
|
68
66
|
data = self._generate_slack_data(message, severity, runs, alert, event_data)
|
|
69
67
|
|
|
70
|
-
async with
|
|
68
|
+
async with TimedHTTPClient().session() as session:
|
|
71
69
|
async with session.post(webhook, json=data) as response:
|
|
72
70
|
response.raise_for_status()
|
|
73
71
|
|
|
@@ -15,14 +15,13 @@
|
|
|
15
15
|
import re
|
|
16
16
|
import typing
|
|
17
17
|
|
|
18
|
-
import aiohttp
|
|
19
18
|
import orjson
|
|
20
19
|
|
|
21
20
|
import mlrun.common.schemas
|
|
22
21
|
import mlrun.lists
|
|
23
22
|
import mlrun.utils.helpers
|
|
24
23
|
|
|
25
|
-
from .base import NotificationBase
|
|
24
|
+
from .base import NotificationBase, TimedHTTPClient
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
class WebhookNotification(NotificationBase):
|
|
@@ -87,9 +86,7 @@ class WebhookNotification(NotificationBase):
|
|
|
87
86
|
# we automatically handle it as `ssl=None` for their convenience.
|
|
88
87
|
verify_ssl = verify_ssl and None if url.startswith("https") else None
|
|
89
88
|
|
|
90
|
-
async with
|
|
91
|
-
json_serialize=self._encoder,
|
|
92
|
-
) as session:
|
|
89
|
+
async with TimedHTTPClient().session(json_serialize=self._encoder) as session:
|
|
93
90
|
response = await getattr(session, method)(
|
|
94
91
|
url,
|
|
95
92
|
headers=headers,
|
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.0rc27
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -21,8 +21,8 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
21
21
|
Requires-Python: >=3.9, <3.12
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
|
-
Requires-Dist: urllib3>=1.26.20
|
|
25
|
-
Requires-Dist:
|
|
24
|
+
Requires-Dist: urllib3>=1.26.20
|
|
25
|
+
Requires-Dist: v3io-frames>=0.10.15
|
|
26
26
|
Requires-Dist: GitPython>=3.1.41,~=3.1
|
|
27
27
|
Requires-Dist: aiohttp~=3.11
|
|
28
28
|
Requires-Dist: aiohttp-retry~=2.9
|
|
@@ -39,8 +39,6 @@ Requires-Dist: tabulate~=0.8.6
|
|
|
39
39
|
Requires-Dist: v3io~=0.7.0
|
|
40
40
|
Requires-Dist: pydantic>=1.10.15
|
|
41
41
|
Requires-Dist: mergedeep~=1.3
|
|
42
|
-
Requires-Dist: v3io-frames~=0.10.15; python_version < "3.11"
|
|
43
|
-
Requires-Dist: v3io-frames>=0.13.0; python_version >= "3.11"
|
|
44
42
|
Requires-Dist: semver~=3.0
|
|
45
43
|
Requires-Dist: dependency-injector~=4.41
|
|
46
44
|
Requires-Dist: fsspec<=2025.7.0,>=2025.5.1
|
|
@@ -92,10 +90,10 @@ Requires-Dist: databricks-sdk~=0.20.0; extra == "databricks-sdk"
|
|
|
92
90
|
Provides-Extra: sqlalchemy
|
|
93
91
|
Requires-Dist: sqlalchemy~=2.0; extra == "sqlalchemy"
|
|
94
92
|
Provides-Extra: dask
|
|
95
|
-
Requires-Dist: dask
|
|
96
|
-
Requires-Dist:
|
|
97
|
-
Requires-Dist:
|
|
98
|
-
Requires-Dist: distributed
|
|
93
|
+
Requires-Dist: dask>=2023.12.1; python_version < "3.11" and extra == "dask"
|
|
94
|
+
Requires-Dist: dask>=2024.8; python_version >= "3.11" and extra == "dask"
|
|
95
|
+
Requires-Dist: distributed>=2023.12.1; python_version < "3.11" and extra == "dask"
|
|
96
|
+
Requires-Dist: distributed>=2024.8; python_version >= "3.11" and extra == "dask"
|
|
99
97
|
Provides-Extra: alibaba-oss
|
|
100
98
|
Requires-Dist: ossfs==2025.5.0; extra == "alibaba-oss"
|
|
101
99
|
Requires-Dist: oss2==2.18.4; extra == "alibaba-oss"
|
|
@@ -106,7 +104,7 @@ Requires-Dist: snowflake-connector-python~=3.7; extra == "snowflake"
|
|
|
106
104
|
Provides-Extra: dev-postgres
|
|
107
105
|
Requires-Dist: pytest-mock-resources[postgres]~=2.12; extra == "dev-postgres"
|
|
108
106
|
Provides-Extra: kfp18
|
|
109
|
-
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]>=0.5.
|
|
107
|
+
Requires-Dist: mlrun_pipelines_kfp_v1_8[kfp]>=0.5.7; extra == "kfp18"
|
|
110
108
|
Provides-Extra: api
|
|
111
109
|
Requires-Dist: uvicorn~=0.32.1; extra == "api"
|
|
112
110
|
Requires-Dist: dask-kubernetes~=0.11.0; extra == "api"
|
|
@@ -125,7 +123,6 @@ Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
|
|
|
125
123
|
Requires-Dist: aiosmtplib~=3.0; extra == "api"
|
|
126
124
|
Requires-Dist: pydantic<2,>=1; extra == "api"
|
|
127
125
|
Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.5.7; extra == "api"
|
|
128
|
-
Requires-Dist: grpcio~=1.70.0; extra == "api"
|
|
129
126
|
Provides-Extra: all
|
|
130
127
|
Requires-Dist: adlfs==2024.12.0; extra == "all"
|
|
131
128
|
Requires-Dist: aiobotocore<2.16,>=2.5.0; extra == "all"
|
|
@@ -134,11 +131,11 @@ Requires-Dist: azure-core~=1.24; extra == "all"
|
|
|
134
131
|
Requires-Dist: azure-identity~=1.5; extra == "all"
|
|
135
132
|
Requires-Dist: azure-keyvault-secrets~=4.2; extra == "all"
|
|
136
133
|
Requires-Dist: boto3<1.36,>=1.28.0; extra == "all"
|
|
137
|
-
Requires-Dist: dask
|
|
138
|
-
Requires-Dist: dask
|
|
134
|
+
Requires-Dist: dask>=2023.12.1; python_version < "3.11" and extra == "all"
|
|
135
|
+
Requires-Dist: dask>=2024.8; python_version >= "3.11" and extra == "all"
|
|
139
136
|
Requires-Dist: databricks-sdk~=0.20.0; extra == "all"
|
|
140
|
-
Requires-Dist: distributed
|
|
141
|
-
Requires-Dist: distributed
|
|
137
|
+
Requires-Dist: distributed>=2023.12.1; python_version < "3.11" and extra == "all"
|
|
138
|
+
Requires-Dist: distributed>=2024.8; python_version >= "3.11" and extra == "all"
|
|
142
139
|
Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "all"
|
|
143
140
|
Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "all"
|
|
144
141
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "all"
|
|
@@ -165,11 +162,11 @@ Requires-Dist: azure-core~=1.24; extra == "complete"
|
|
|
165
162
|
Requires-Dist: azure-identity~=1.5; extra == "complete"
|
|
166
163
|
Requires-Dist: azure-keyvault-secrets~=4.2; extra == "complete"
|
|
167
164
|
Requires-Dist: boto3<1.36,>=1.28.0; extra == "complete"
|
|
168
|
-
Requires-Dist: dask
|
|
169
|
-
Requires-Dist: dask
|
|
165
|
+
Requires-Dist: dask>=2023.12.1; python_version < "3.11" and extra == "complete"
|
|
166
|
+
Requires-Dist: dask>=2024.8; python_version >= "3.11" and extra == "complete"
|
|
170
167
|
Requires-Dist: databricks-sdk~=0.20.0; extra == "complete"
|
|
171
|
-
Requires-Dist: distributed
|
|
172
|
-
Requires-Dist: distributed
|
|
168
|
+
Requires-Dist: distributed>=2023.12.1; python_version < "3.11" and extra == "complete"
|
|
169
|
+
Requires-Dist: distributed>=2024.8; python_version >= "3.11" and extra == "complete"
|
|
173
170
|
Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "complete"
|
|
174
171
|
Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete"
|
|
175
172
|
Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "complete"
|
|
@@ -200,11 +197,11 @@ Requires-Dist: azure-identity~=1.5; extra == "complete-api"
|
|
|
200
197
|
Requires-Dist: azure-keyvault-secrets~=4.2; extra == "complete-api"
|
|
201
198
|
Requires-Dist: boto3<1.36,>=1.28.0; extra == "complete-api"
|
|
202
199
|
Requires-Dist: dask-kubernetes~=0.11.0; extra == "complete-api"
|
|
203
|
-
Requires-Dist: dask
|
|
204
|
-
Requires-Dist: dask
|
|
200
|
+
Requires-Dist: dask>=2023.12.1; python_version < "3.11" and extra == "complete-api"
|
|
201
|
+
Requires-Dist: dask>=2024.8; python_version >= "3.11" and extra == "complete-api"
|
|
205
202
|
Requires-Dist: databricks-sdk~=0.20.0; extra == "complete-api"
|
|
206
|
-
Requires-Dist: distributed
|
|
207
|
-
Requires-Dist: distributed
|
|
203
|
+
Requires-Dist: distributed>=2023.12.1; python_version < "3.11" and extra == "complete-api"
|
|
204
|
+
Requires-Dist: distributed>=2024.8; python_version >= "3.11" and extra == "complete-api"
|
|
208
205
|
Requires-Dist: fastapi~=0.116.0; extra == "complete-api"
|
|
209
206
|
Requires-Dist: gcsfs<=2025.7.0,>=2025.5.1; extra == "complete-api"
|
|
210
207
|
Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "complete-api"
|
|
@@ -212,7 +209,6 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "comple
|
|
|
212
209
|
Requires-Dist: google-cloud-storage==2.14.0; extra == "complete-api"
|
|
213
210
|
Requires-Dist: google-cloud==0.34; extra == "complete-api"
|
|
214
211
|
Requires-Dist: graphviz~=0.20.0; extra == "complete-api"
|
|
215
|
-
Requires-Dist: grpcio~=1.70.0; extra == "complete-api"
|
|
216
212
|
Requires-Dist: humanfriendly~=10.0; extra == "complete-api"
|
|
217
213
|
Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
|
|
218
214
|
Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
|
|
@@ -8,7 +8,7 @@ mlrun/k8s_utils.py,sha256=zIacVyvsXrXVO-DdxAoGQOGEDWOGJEFJzYPhPVnn3z8,24548
|
|
|
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=OBx7rvtgd288dyl42DOll-zU05cFzsA5Is958qnX4Qo,48673
|
|
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
|
|
@@ -234,7 +234,7 @@ mlrun/model_monitoring/stream_processing.py,sha256=bryYO3D0cC10MAQ-liHxUZ79MrL-V
|
|
|
234
234
|
mlrun/model_monitoring/writer.py,sha256=rGRFzSOkqZWvD3Y6sVk2H1Gepfnkzkp9ce00PsApTLo,8288
|
|
235
235
|
mlrun/model_monitoring/applications/__init__.py,sha256=BwlmRELlFJf2b2YMyv5kUSHNe8--OyqWhDgRlT8a_8g,779
|
|
236
236
|
mlrun/model_monitoring/applications/_application_steps.py,sha256=t9LDIqQUGE10cyjyhlg0QqN1yVx0apD1HpERYLJfm8U,7409
|
|
237
|
-
mlrun/model_monitoring/applications/base.py,sha256=
|
|
237
|
+
mlrun/model_monitoring/applications/base.py,sha256=X-9zjdnW7i-zfhEdsT76JaxlSBk9J1HSchx-FcJ-Eqo,47911
|
|
238
238
|
mlrun/model_monitoring/applications/context.py,sha256=3W3AW4oyJgx_nW_5mDsV59Iy5D3frkfYMQSc6DgBc4c,17004
|
|
239
239
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
|
|
240
240
|
mlrun/model_monitoring/applications/results.py,sha256=LfBQOmkpKGvVGNrcj5QiXsRIG2IRgcv_Xqe4QJBmauk,5699
|
|
@@ -277,7 +277,7 @@ mlrun/platforms/__init__.py,sha256=QgtpAt1lpfTKk0mLtesB1P8szK9cpNDPeYzu2qDbPCM,3
|
|
|
277
277
|
mlrun/platforms/iguazio.py,sha256=32_o95Ntx9z3ciowt2NcnX7tAiLBwX3VB0mbTQ-KrIQ,13848
|
|
278
278
|
mlrun/projects/__init__.py,sha256=hdCOA6_fp8X4qGGGT7Bj7sPbkM1PayWuaVZL0DkpuZw,1240
|
|
279
279
|
mlrun/projects/operations.py,sha256=Rc__P5ucNAY2G-lHc2LrnZs15PUbNFt8-NqNNT2Bjpk,20623
|
|
280
|
-
mlrun/projects/pipelines.py,sha256=
|
|
280
|
+
mlrun/projects/pipelines.py,sha256=ZOfuIEHOXfuc4qAkuWvbWhCjP6kqpLkv-yBBaY9RXhg,52219
|
|
281
281
|
mlrun/projects/project.py,sha256=xbh6qXfU9ckkDSTcd-LyPWxHtHzz6gsqDI63ZZQPuhs,256413
|
|
282
282
|
mlrun/runtimes/__init__.py,sha256=8cqrYKy1a0_87XG7V_p96untQ4t8RocadM4LVEEN1JM,9029
|
|
283
283
|
mlrun/runtimes/base.py,sha256=8AMJcTnm9_LSEKLlmmbEzGSCRAoCh3vAQudKzuIVXhY,38285
|
|
@@ -300,7 +300,7 @@ mlrun/runtimes/mpijob/abstract.py,sha256=QjAG4OZ6JEQ58w5-qYNd6hUGwvaW8ynLtlr9jNf
|
|
|
300
300
|
mlrun/runtimes/mpijob/v1.py,sha256=zSlRkiWHz4B3yht66sVf4mlfDs8YT9EnP9DfBLn5VNs,3372
|
|
301
301
|
mlrun/runtimes/nuclio/__init__.py,sha256=osOVMN9paIOuUoOTizmkxMb_OXRP-SlPwXHJSSYK_wk,834
|
|
302
302
|
mlrun/runtimes/nuclio/api_gateway.py,sha256=vH9ClKVP4Mb24rvA67xPuAvAhX-gAv6vVtjVxyplhdc,26969
|
|
303
|
-
mlrun/runtimes/nuclio/function.py,sha256=
|
|
303
|
+
mlrun/runtimes/nuclio/function.py,sha256=jNlBbtdIoQdd2ZKljqDgKUTHuM4iE_JiO_ANzQyssZE,55168
|
|
304
304
|
mlrun/runtimes/nuclio/nuclio.py,sha256=sLK8KdGO1LbftlL3HqPZlFOFTAAuxJACZCVl1c0Ha6E,2942
|
|
305
305
|
mlrun/runtimes/nuclio/serving.py,sha256=0JEMW1_0Eqx5j-Wpksytm9GhUmoho4L7glIs1qEswMc,35641
|
|
306
306
|
mlrun/runtimes/nuclio/application/__init__.py,sha256=rRs5vasy_G9IyoTpYIjYDafGoL6ifFBKgBtsXn31Atw,614
|
|
@@ -329,7 +329,7 @@ mlrun/utils/async_http.py,sha256=8Olx8TNNeXB07nEGwlqhEgFgnFAD71vBU_bqaA9JW-w,122
|
|
|
329
329
|
mlrun/utils/azure_vault.py,sha256=IEFizrDGDbAaoWwDr1WoA88S_EZ0T--vjYtY-i0cvYQ,3450
|
|
330
330
|
mlrun/utils/clones.py,sha256=qbAGyEbSvlewn3Tw_DpQZP9z6MGzFhSaZfI1CblX8Fg,7515
|
|
331
331
|
mlrun/utils/condition_evaluator.py,sha256=-nGfRmZzivn01rHTroiGY4rqEv8T1irMyhzxEei-sKc,1897
|
|
332
|
-
mlrun/utils/helpers.py,sha256=
|
|
332
|
+
mlrun/utils/helpers.py,sha256=cN_cVAaJh5T2xE_KgiXTWlXDLM_waIi8PDV3NBj6ioE,83104
|
|
333
333
|
mlrun/utils/http.py,sha256=5ZU2VpokaUM_DT3HBSqTm8xjUqTPjZN5fKkSIvKlTl0,8704
|
|
334
334
|
mlrun/utils/logger.py,sha256=uaCgI_ezzaXf7nJDCy-1Nrjds8vSXqDbzmjmb3IyCQo,14864
|
|
335
335
|
mlrun/utils/regex.py,sha256=FcRwWD8x9X3HLhCCU2F0AVKTFah784Pr7ZAe3a02jw8,5199
|
|
@@ -340,19 +340,19 @@ mlrun/utils/vault.py,sha256=-36b_PG0Fk9coPJiX6F704NF1nmKDdCH9Bg17wep88w,10446
|
|
|
340
340
|
mlrun/utils/notifications/__init__.py,sha256=eUzQDBxSQmMZASRY-YAnYS6tL5801P0wEjycp3Dvoe0,990
|
|
341
341
|
mlrun/utils/notifications/notification_pusher.py,sha256=tspup8ZNUggLxx4No2da9EY7GwHsihY33A8oN_tHKpk,27356
|
|
342
342
|
mlrun/utils/notifications/notification/__init__.py,sha256=9Rfy6Jm8n0LaEDO1VAQb6kIbr7_uVuQhK1pS_abELIY,2581
|
|
343
|
-
mlrun/utils/notifications/notification/base.py,sha256
|
|
343
|
+
mlrun/utils/notifications/notification/base.py,sha256=xrKdA5-a6eGWXogmSAtgJS0cKqb6znh4M-EpuYhziX0,5967
|
|
344
344
|
mlrun/utils/notifications/notification/console.py,sha256=ICbIhOf9fEBJky_3j9TFiKAewDGyDHJr9l4VeT7G2sc,2745
|
|
345
|
-
mlrun/utils/notifications/notification/git.py,sha256=
|
|
345
|
+
mlrun/utils/notifications/notification/git.py,sha256=JKAiEfs5qOMn0IeU__AzdQ4u6GctMzu1xMauNJ4wdUw,6311
|
|
346
346
|
mlrun/utils/notifications/notification/ipython.py,sha256=9uZvI1uOLFaNuAsfJPXmL3l6dOzFoWdBK5GYNYFAfks,2282
|
|
347
347
|
mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAqp1vij7C6aRJ9h2mgs,6012
|
|
348
|
-
mlrun/utils/notifications/notification/slack.py,sha256=
|
|
349
|
-
mlrun/utils/notifications/notification/webhook.py,sha256=
|
|
348
|
+
mlrun/utils/notifications/notification/slack.py,sha256=wSu_7W0EnGLBNwIgWCYEeTP8j9SPAMPDBnfUcPnVZYA,7299
|
|
349
|
+
mlrun/utils/notifications/notification/webhook.py,sha256=FM5-LQAKAVJKp37MRzR3SsejalcnpM6r_9Oe7znxZEA,5313
|
|
350
350
|
mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
|
|
351
|
-
mlrun/utils/version/version.json,sha256=
|
|
351
|
+
mlrun/utils/version/version.json,sha256=4XxnjcO5M_JMzeQSt05p2f7kyBOjoyz8_C6-mXrlqUs,90
|
|
352
352
|
mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
|
|
353
|
-
mlrun-1.10.
|
|
354
|
-
mlrun-1.10.
|
|
355
|
-
mlrun-1.10.
|
|
356
|
-
mlrun-1.10.
|
|
357
|
-
mlrun-1.10.
|
|
358
|
-
mlrun-1.10.
|
|
353
|
+
mlrun-1.10.0rc27.dist-info/licenses/LICENSE,sha256=zTiv1CxWNkOk1q8eJS1G_8oD4gWpWLwWxj_Agcsi8Os,11337
|
|
354
|
+
mlrun-1.10.0rc27.dist-info/METADATA,sha256=2-9lgsReCFdnK-z8X5FCT2rdbRvTrkUGErsiib9H1To,26017
|
|
355
|
+
mlrun-1.10.0rc27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
356
|
+
mlrun-1.10.0rc27.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
357
|
+
mlrun-1.10.0rc27.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
358
|
+
mlrun-1.10.0rc27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|