mlrun 1.8.0rc56__py3-none-any.whl → 1.8.0rc58__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/datastore/datastore.py +1 -1
- mlrun/db/base.py +1 -1
- mlrun/db/httpdb.py +3 -3
- mlrun/db/nopdb.py +1 -1
- mlrun/model_monitoring/applications/evidently/base.py +53 -66
- mlrun/model_monitoring/controller.py +24 -13
- mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py +13 -5
- mlrun/projects/project.py +1 -1
- mlrun/render.py +5 -9
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/METADATA +8 -8
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/RECORD +16 -16
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/WHEEL +1 -1
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/entry_points.txt +0 -0
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/licenses/LICENSE +0 -0
- {mlrun-1.8.0rc56.dist-info → mlrun-1.8.0rc58.dist-info}/top_level.txt +0 -0
mlrun/datastore/datastore.py
CHANGED
|
@@ -111,7 +111,7 @@ def schema_to_store(schema):
|
|
|
111
111
|
|
|
112
112
|
def uri_to_ipython(link):
|
|
113
113
|
schema, endpoint, parsed_url = parse_url(link)
|
|
114
|
-
if schema in [DB_SCHEMA, "memory"]:
|
|
114
|
+
if schema in [DB_SCHEMA, "memory", "ds"]:
|
|
115
115
|
return ""
|
|
116
116
|
return schema_to_store(schema).uri_to_ipython(endpoint, parsed_url.path)
|
|
117
117
|
|
mlrun/db/base.py
CHANGED
|
@@ -734,7 +734,7 @@ class RunDBInterface(ABC):
|
|
|
734
734
|
labels: Optional[Union[str, dict[str, Optional[str]], list[str]]] = None,
|
|
735
735
|
start: Optional[datetime.datetime] = None,
|
|
736
736
|
end: Optional[datetime.datetime] = None,
|
|
737
|
-
tsdb_metrics: bool =
|
|
737
|
+
tsdb_metrics: bool = False,
|
|
738
738
|
metric_list: Optional[list[str]] = None,
|
|
739
739
|
top_level: bool = False,
|
|
740
740
|
uids: Optional[list[str]] = None,
|
mlrun/db/httpdb.py
CHANGED
|
@@ -3767,7 +3767,7 @@ class HTTPRunDB(RunDBInterface):
|
|
|
3767
3767
|
labels: Optional[Union[str, dict[str, Optional[str]], list[str]]] = None,
|
|
3768
3768
|
start: Optional[datetime] = None,
|
|
3769
3769
|
end: Optional[datetime] = None,
|
|
3770
|
-
tsdb_metrics: bool =
|
|
3770
|
+
tsdb_metrics: bool = False,
|
|
3771
3771
|
metric_list: Optional[list[str]] = None,
|
|
3772
3772
|
top_level: bool = False,
|
|
3773
3773
|
uids: Optional[list[str]] = None,
|
|
@@ -3889,8 +3889,8 @@ class HTTPRunDB(RunDBInterface):
|
|
|
3889
3889
|
attributes_keys = list(attributes.keys())
|
|
3890
3890
|
attributes["name"] = name
|
|
3891
3891
|
attributes["project"] = project
|
|
3892
|
-
attributes["
|
|
3893
|
-
attributes["
|
|
3892
|
+
attributes["function_name"] = function_name or None
|
|
3893
|
+
attributes["function_tag"] = function_tag or None
|
|
3894
3894
|
attributes["uid"] = endpoint_id or None
|
|
3895
3895
|
model_endpoint = mlrun.common.schemas.ModelEndpoint.from_flat_dict(attributes)
|
|
3896
3896
|
path = f"projects/{project}/model-endpoints"
|
mlrun/db/nopdb.py
CHANGED
|
@@ -631,7 +631,7 @@ class NopDB(RunDBInterface):
|
|
|
631
631
|
labels: Optional[Union[str, dict[str, Optional[str]], list[str]]] = None,
|
|
632
632
|
start: Optional[datetime.datetime] = None,
|
|
633
633
|
end: Optional[datetime.datetime] = None,
|
|
634
|
-
tsdb_metrics: bool =
|
|
634
|
+
tsdb_metrics: bool = False,
|
|
635
635
|
metric_list: Optional[list[str]] = None,
|
|
636
636
|
top_level: bool = False,
|
|
637
637
|
uids: Optional[list[str]] = None,
|
|
@@ -14,19 +14,18 @@
|
|
|
14
14
|
|
|
15
15
|
import json
|
|
16
16
|
import posixpath
|
|
17
|
-
import uuid
|
|
18
17
|
import warnings
|
|
19
18
|
from abc import ABC
|
|
19
|
+
from tempfile import NamedTemporaryFile
|
|
20
|
+
from typing import Optional
|
|
20
21
|
|
|
21
|
-
import pandas as pd
|
|
22
22
|
import semver
|
|
23
|
-
from evidently.ui.storage.local.base import METADATA_PATH, FSLocation
|
|
24
23
|
|
|
25
24
|
import mlrun.model_monitoring.applications.base as mm_base
|
|
26
25
|
import mlrun.model_monitoring.applications.context as mm_context
|
|
27
|
-
from mlrun.errors import MLRunIncompatibleVersionError
|
|
26
|
+
from mlrun.errors import MLRunIncompatibleVersionError, MLRunValueError
|
|
28
27
|
|
|
29
|
-
SUPPORTED_EVIDENTLY_VERSION = semver.Version.parse("0.
|
|
28
|
+
SUPPORTED_EVIDENTLY_VERSION = semver.Version.parse("0.7.5")
|
|
30
29
|
|
|
31
30
|
|
|
32
31
|
def _check_evidently_version(*, cur: semver.Version, ref: semver.Version) -> None:
|
|
@@ -60,37 +59,66 @@ except ModuleNotFoundError:
|
|
|
60
59
|
|
|
61
60
|
|
|
62
61
|
if _HAS_EVIDENTLY:
|
|
63
|
-
from evidently.
|
|
64
|
-
from evidently.ui.
|
|
65
|
-
from evidently.ui.workspace import
|
|
66
|
-
|
|
62
|
+
from evidently.core.report import Snapshot
|
|
63
|
+
from evidently.legacy.ui.storage.local.base import METADATA_PATH, FSLocation
|
|
64
|
+
from evidently.ui.workspace import (
|
|
65
|
+
STR_UUID,
|
|
66
|
+
CloudWorkspace,
|
|
67
|
+
Workspace,
|
|
68
|
+
WorkspaceBase,
|
|
69
|
+
)
|
|
67
70
|
|
|
68
71
|
|
|
69
72
|
class EvidentlyModelMonitoringApplicationBase(
|
|
70
73
|
mm_base.ModelMonitoringApplicationBase, ABC
|
|
71
74
|
):
|
|
72
75
|
def __init__(
|
|
73
|
-
self,
|
|
76
|
+
self,
|
|
77
|
+
evidently_project_id: "STR_UUID",
|
|
78
|
+
evidently_workspace_path: Optional[str] = None,
|
|
79
|
+
cloud_workspace: bool = False,
|
|
74
80
|
) -> None:
|
|
75
81
|
"""
|
|
76
|
-
A class for integrating Evidently for
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
A class for integrating Evidently for MLRun model monitoring within a monitoring application.
|
|
83
|
+
|
|
84
|
+
.. note::
|
|
85
|
+
|
|
86
|
+
The ``evidently`` package is not installed by default in the mlrun/mlrun image.
|
|
87
|
+
It must be installed separately to use this class.
|
|
79
88
|
|
|
80
|
-
:param evidently_workspace_path: (str) The path to the Evidently workspace.
|
|
81
89
|
:param evidently_project_id: (str) The ID of the Evidently project.
|
|
90
|
+
:param evidently_workspace_path: (str) The path to the Evidently workspace.
|
|
91
|
+
:param cloud_workspace: (bool) Whether the workspace is an Evidently Cloud workspace.
|
|
82
92
|
"""
|
|
83
93
|
|
|
84
94
|
# TODO : more then one project (mep -> project)
|
|
85
95
|
if not _HAS_EVIDENTLY:
|
|
86
96
|
raise ModuleNotFoundError("Evidently is not installed - the app cannot run")
|
|
87
|
-
self.
|
|
88
|
-
|
|
97
|
+
self.evidently_workspace_path = evidently_workspace_path
|
|
98
|
+
if cloud_workspace:
|
|
99
|
+
self.get_workspace = self.get_cloud_workspace
|
|
100
|
+
self.evidently_workspace = self.get_workspace()
|
|
89
101
|
self.evidently_project_id = evidently_project_id
|
|
90
102
|
self.evidently_project = self.evidently_workspace.get_project(
|
|
91
103
|
evidently_project_id
|
|
92
104
|
)
|
|
93
105
|
|
|
106
|
+
def get_workspace(self) -> WorkspaceBase:
|
|
107
|
+
"""Get the Evidently workspace. Override this method for customize access to the workspace."""
|
|
108
|
+
if self.evidently_workspace_path:
|
|
109
|
+
self._log_location(self.evidently_workspace_path)
|
|
110
|
+
self.evidently_workspace = Workspace.create(self.evidently_workspace_path)
|
|
111
|
+
else:
|
|
112
|
+
raise MLRunValueError(
|
|
113
|
+
"A local workspace could not be created as `evidently_workspace_path` is not set.\n"
|
|
114
|
+
"If you intend to use a cloud workspace, please use `cloud_workspace=True` and set the "
|
|
115
|
+
"`EVIDENTLY_API_KEY` environment variable. In other cases, override this method."
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
def get_cloud_workspace(self) -> CloudWorkspace:
|
|
119
|
+
"""Load the Evidently cloud workspace according to the `EVIDENTLY_API_KEY` environment variable."""
|
|
120
|
+
return CloudWorkspace()
|
|
121
|
+
|
|
94
122
|
@staticmethod
|
|
95
123
|
def _log_location(evidently_workspace_path):
|
|
96
124
|
# TODO remove function + usage after solving issue ML-9530
|
|
@@ -128,7 +156,7 @@ class EvidentlyModelMonitoringApplicationBase(
|
|
|
128
156
|
@staticmethod
|
|
129
157
|
def log_evidently_object(
|
|
130
158
|
monitoring_context: mm_context.MonitoringApplicationContext,
|
|
131
|
-
evidently_object: "
|
|
159
|
+
evidently_object: "Snapshot",
|
|
132
160
|
artifact_name: str,
|
|
133
161
|
unique_per_endpoint: bool = True,
|
|
134
162
|
) -> None:
|
|
@@ -141,56 +169,15 @@ class EvidentlyModelMonitoringApplicationBase(
|
|
|
141
169
|
This method should be called on special occasions only.
|
|
142
170
|
|
|
143
171
|
:param monitoring_context: (MonitoringApplicationContext) The monitoring context to process.
|
|
144
|
-
:param evidently_object: (
|
|
172
|
+
:param evidently_object: (Snapshot) The Evidently run to log, e.g. a report run.
|
|
145
173
|
:param artifact_name: (str) The name for the logged artifact.
|
|
146
174
|
:param unique_per_endpoint: by default ``True``, we will log different artifact for each model endpoint,
|
|
147
175
|
set to ``False`` without changing item key will cause artifact override.
|
|
148
176
|
"""
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
def log_project_dashboard(
|
|
158
|
-
self,
|
|
159
|
-
monitoring_context: mm_context.MonitoringApplicationContext,
|
|
160
|
-
timestamp_start: pd.Timestamp,
|
|
161
|
-
timestamp_end: pd.Timestamp,
|
|
162
|
-
artifact_name: str = "dashboard",
|
|
163
|
-
unique_per_endpoint: bool = True,
|
|
164
|
-
) -> None:
|
|
165
|
-
"""
|
|
166
|
-
Logs an Evidently project dashboard.
|
|
167
|
-
|
|
168
|
-
.. caution::
|
|
169
|
-
|
|
170
|
-
Logging Evidently dashboards in every model monitoring window may cause scale issues.
|
|
171
|
-
This method should be called on special occasions only.
|
|
172
|
-
|
|
173
|
-
:param monitoring_context: (MonitoringApplicationContext) The monitoring context to process.
|
|
174
|
-
:param timestamp_start: (pd.Timestamp) The start timestamp for the dashboard data.
|
|
175
|
-
:param timestamp_end: (pd.Timestamp) The end timestamp for the dashboard data.
|
|
176
|
-
:param artifact_name: (str) The name for the logged artifact.
|
|
177
|
-
:param unique_per_endpoint: by default ``True``, we will log different artifact for each model endpoint,
|
|
178
|
-
set to ``False`` without changing item key will cause artifact override.
|
|
179
|
-
"""
|
|
180
|
-
|
|
181
|
-
dashboard_info = self.evidently_project.build_dashboard_info(
|
|
182
|
-
timestamp_start, timestamp_end
|
|
183
|
-
)
|
|
184
|
-
template_params = TemplateParams(
|
|
185
|
-
dashboard_id="pd_" + str(uuid.uuid4()).replace("-", ""),
|
|
186
|
-
dashboard_info=dashboard_info,
|
|
187
|
-
additional_graphs={},
|
|
188
|
-
)
|
|
189
|
-
|
|
190
|
-
dashboard_html = file_html_template(params=template_params)
|
|
191
|
-
monitoring_context.log_artifact(
|
|
192
|
-
artifact_name,
|
|
193
|
-
body=dashboard_html.encode("utf-8"),
|
|
194
|
-
format="html",
|
|
195
|
-
unique_per_endpoint=unique_per_endpoint,
|
|
196
|
-
)
|
|
177
|
+
with NamedTemporaryFile(suffix=".html") as file:
|
|
178
|
+
evidently_object.save_html(filename=file.name)
|
|
179
|
+
monitoring_context.log_artifact(
|
|
180
|
+
artifact_name,
|
|
181
|
+
local_path=file.name,
|
|
182
|
+
unique_per_endpoint=unique_per_endpoint,
|
|
183
|
+
)
|
|
@@ -25,6 +25,7 @@ from types import TracebackType
|
|
|
25
25
|
from typing import Any, NamedTuple, Optional, Union, cast
|
|
26
26
|
|
|
27
27
|
import nuclio_sdk
|
|
28
|
+
import pandas as pd
|
|
28
29
|
|
|
29
30
|
import mlrun
|
|
30
31
|
import mlrun.common.schemas.model_monitoring.constants as mm_constants
|
|
@@ -673,9 +674,15 @@ class MonitoringApplicationController:
|
|
|
673
674
|
"""
|
|
674
675
|
logger.info("Starting monitoring controller chief")
|
|
675
676
|
applications_names = []
|
|
676
|
-
endpoints = self.project_obj.list_model_endpoints(
|
|
677
|
-
|
|
678
|
-
|
|
677
|
+
endpoints = self.project_obj.list_model_endpoints(tsdb_metrics=False).endpoints
|
|
678
|
+
last_request_dict = self.tsdb_connector.get_last_request(
|
|
679
|
+
endpoint_ids=[mep.metadata.uid for mep in endpoints]
|
|
680
|
+
)
|
|
681
|
+
if isinstance(last_request_dict, pd.DataFrame):
|
|
682
|
+
last_request_dict = last_request_dict.set_index(
|
|
683
|
+
mm_constants.EventFieldType.ENDPOINT_ID
|
|
684
|
+
)[mm_constants.ModelEndpointSchema.LAST_REQUEST].to_dict()
|
|
685
|
+
|
|
679
686
|
if not endpoints:
|
|
680
687
|
logger.info("No model endpoints found", project=self.project)
|
|
681
688
|
return
|
|
@@ -721,16 +728,20 @@ class MonitoringApplicationController:
|
|
|
721
728
|
with schedules.ModelMonitoringSchedulesFileChief(
|
|
722
729
|
self.project
|
|
723
730
|
) as schedule_file:
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
731
|
+
for endpoint in endpoints:
|
|
732
|
+
last_request = last_request_dict.get(endpoint.metadata.uid, None)
|
|
733
|
+
if isinstance(last_request, float):
|
|
734
|
+
last_request = pd.to_datetime(last_request, unit="s", utc=True)
|
|
735
|
+
endpoint.status.last_request = last_request
|
|
736
|
+
futures = {
|
|
737
|
+
pool.submit(
|
|
738
|
+
self.endpoint_to_regular_event,
|
|
739
|
+
endpoint,
|
|
740
|
+
policy,
|
|
741
|
+
set(applications_names),
|
|
742
|
+
schedule_file,
|
|
743
|
+
): endpoint
|
|
744
|
+
}
|
|
734
745
|
for future in concurrent.futures.as_completed(futures):
|
|
735
746
|
if future.exception():
|
|
736
747
|
exception = future.exception()
|
|
@@ -455,12 +455,20 @@ class V3IOTSDBConnector(TSDBConnector):
|
|
|
455
455
|
# Delete all tables
|
|
456
456
|
tables = mm_schemas.V3IOTSDBTables.list()
|
|
457
457
|
for table_to_delete in tables:
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
458
|
+
if table_to_delete in self.tables:
|
|
459
|
+
try:
|
|
460
|
+
self.frames_client.delete(
|
|
461
|
+
backend=_TSDB_BE, table=self.tables[table_to_delete]
|
|
462
|
+
)
|
|
463
|
+
except v3io_frames.DeleteError as e:
|
|
464
|
+
logger.warning(
|
|
465
|
+
f"Failed to delete TSDB table '{table_to_delete}'",
|
|
466
|
+
err=mlrun.errors.err_to_str(e),
|
|
467
|
+
)
|
|
468
|
+
else:
|
|
461
469
|
logger.warning(
|
|
462
|
-
f"
|
|
463
|
-
|
|
470
|
+
f"Skipping deletion: table '{table_to_delete}' is not among the initialized tables.",
|
|
471
|
+
initialized_tables=list(self.tables.keys()),
|
|
464
472
|
)
|
|
465
473
|
|
|
466
474
|
# Final cleanup of tsdb path
|
mlrun/projects/project.py
CHANGED
|
@@ -3796,7 +3796,7 @@ class MlrunProject(ModelObj):
|
|
|
3796
3796
|
top_level: bool = False,
|
|
3797
3797
|
uids: Optional[list[str]] = None,
|
|
3798
3798
|
latest_only: bool = False,
|
|
3799
|
-
tsdb_metrics: bool =
|
|
3799
|
+
tsdb_metrics: bool = False,
|
|
3800
3800
|
metric_list: Optional[list[str]] = None,
|
|
3801
3801
|
) -> mlrun.common.schemas.ModelEndpointList:
|
|
3802
3802
|
"""
|
mlrun/render.py
CHANGED
|
@@ -361,9 +361,6 @@ def get_tblframe(df, display, classes=None):
|
|
|
361
361
|
return ipython_display(html, display)
|
|
362
362
|
|
|
363
363
|
|
|
364
|
-
uid_template = '<div title="{}"><a href="{}/{}/{}/jobs/monitor/{}/overview" target="_blank" >...{}</a></div>'
|
|
365
|
-
|
|
366
|
-
|
|
367
364
|
def runs_to_html(
|
|
368
365
|
df: pd.DataFrame,
|
|
369
366
|
display: bool = True,
|
|
@@ -379,15 +376,14 @@ def runs_to_html(
|
|
|
379
376
|
df["results"] = df["results"].apply(dict_html)
|
|
380
377
|
df["start"] = df["start"].apply(time_str)
|
|
381
378
|
df["parameters"] = df["parameters"].apply(dict_html)
|
|
379
|
+
uid_template = '<div title="{}"><a href="{}" target="_blank" >...{}</a></div>'
|
|
380
|
+
|
|
382
381
|
if config.resolve_ui_url():
|
|
383
382
|
df["uid"] = df.apply(
|
|
384
383
|
lambda x: uid_template.format(
|
|
385
|
-
x
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
x.project,
|
|
389
|
-
x.uid,
|
|
390
|
-
x.uid[-8:],
|
|
384
|
+
x["uid"],
|
|
385
|
+
mlrun.utils.get_run_url(x["project"], x["uid"], x["name"]),
|
|
386
|
+
x["uid"][-8:],
|
|
391
387
|
),
|
|
392
388
|
axis=1,
|
|
393
389
|
)
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.0rc58
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -52,7 +52,7 @@ Requires-Dist: deprecated~=1.2
|
|
|
52
52
|
Requires-Dist: jinja2>=3.1.3,~=3.1
|
|
53
53
|
Requires-Dist: orjson<4,>=3.9.15
|
|
54
54
|
Requires-Dist: mlrun-pipelines-kfp-common~=0.3.12
|
|
55
|
-
Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.3.
|
|
55
|
+
Requires-Dist: mlrun-pipelines-kfp-v1-8~=0.3.10; python_version < "3.11"
|
|
56
56
|
Requires-Dist: docstring_parser~=0.16
|
|
57
57
|
Requires-Dist: aiosmtplib~=3.0
|
|
58
58
|
Provides-Extra: s3
|
|
@@ -79,7 +79,7 @@ Requires-Dist: google-cloud-bigquery-storage~=2.17; extra == "google-cloud"
|
|
|
79
79
|
Requires-Dist: google-cloud==0.34; extra == "google-cloud"
|
|
80
80
|
Requires-Dist: gcsfs<2024.7,>=2023.9.2; extra == "google-cloud"
|
|
81
81
|
Provides-Extra: kafka
|
|
82
|
-
Requires-Dist: kafka-python~=2.0; extra == "kafka"
|
|
82
|
+
Requires-Dist: kafka-python~=2.1.0; extra == "kafka"
|
|
83
83
|
Requires-Dist: avro~=1.11; extra == "kafka"
|
|
84
84
|
Provides-Extra: redis
|
|
85
85
|
Requires-Dist: redis~=4.3; extra == "redis"
|
|
@@ -118,7 +118,7 @@ Requires-Dist: timelength~=1.1; extra == "api"
|
|
|
118
118
|
Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "api"
|
|
119
119
|
Requires-Dist: aiosmtplib~=3.0; extra == "api"
|
|
120
120
|
Requires-Dist: pydantic<2,>=1; extra == "api"
|
|
121
|
-
Requires-Dist: mlrun-pipelines-kfp-v1-8[kfp]~=0.3.
|
|
121
|
+
Requires-Dist: mlrun-pipelines-kfp-v1-8[kfp]~=0.3.10; python_version < "3.11" and extra == "api"
|
|
122
122
|
Requires-Dist: grpcio~=1.70.0; extra == "api"
|
|
123
123
|
Provides-Extra: all
|
|
124
124
|
Requires-Dist: adlfs==2023.9.0; extra == "all"
|
|
@@ -139,7 +139,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "all"
|
|
|
139
139
|
Requires-Dist: google-cloud-storage==2.14.0; extra == "all"
|
|
140
140
|
Requires-Dist: google-cloud==0.34; extra == "all"
|
|
141
141
|
Requires-Dist: graphviz~=0.20.0; extra == "all"
|
|
142
|
-
Requires-Dist: kafka-python~=2.0; extra == "all"
|
|
142
|
+
Requires-Dist: kafka-python~=2.1.0; extra == "all"
|
|
143
143
|
Requires-Dist: mlflow~=2.16; extra == "all"
|
|
144
144
|
Requires-Dist: msrest~=0.6.21; extra == "all"
|
|
145
145
|
Requires-Dist: oss2==2.18.1; extra == "all"
|
|
@@ -170,7 +170,7 @@ Requires-Dist: google-cloud-bigquery[bqstorage,pandas]==3.14.1; extra == "comple
|
|
|
170
170
|
Requires-Dist: google-cloud-storage==2.14.0; extra == "complete"
|
|
171
171
|
Requires-Dist: google-cloud==0.34; extra == "complete"
|
|
172
172
|
Requires-Dist: graphviz~=0.20.0; extra == "complete"
|
|
173
|
-
Requires-Dist: kafka-python~=2.0; extra == "complete"
|
|
173
|
+
Requires-Dist: kafka-python~=2.1.0; extra == "complete"
|
|
174
174
|
Requires-Dist: mlflow~=2.16; extra == "complete"
|
|
175
175
|
Requires-Dist: msrest~=0.6.21; extra == "complete"
|
|
176
176
|
Requires-Dist: oss2==2.18.1; extra == "complete"
|
|
@@ -209,10 +209,10 @@ Requires-Dist: graphviz~=0.20.0; extra == "complete-api"
|
|
|
209
209
|
Requires-Dist: grpcio~=1.70.0; extra == "complete-api"
|
|
210
210
|
Requires-Dist: humanfriendly~=10.0; extra == "complete-api"
|
|
211
211
|
Requires-Dist: igz-mgmt~=0.4.1; extra == "complete-api"
|
|
212
|
-
Requires-Dist: kafka-python~=2.0; extra == "complete-api"
|
|
212
|
+
Requires-Dist: kafka-python~=2.1.0; extra == "complete-api"
|
|
213
213
|
Requires-Dist: memray~=1.12; sys_platform != "win32" and extra == "complete-api"
|
|
214
214
|
Requires-Dist: mlflow~=2.16; extra == "complete-api"
|
|
215
|
-
Requires-Dist: mlrun-pipelines-kfp-v1-8[kfp]~=0.3.
|
|
215
|
+
Requires-Dist: mlrun-pipelines-kfp-v1-8[kfp]~=0.3.10; python_version < "3.11" and extra == "complete-api"
|
|
216
216
|
Requires-Dist: msrest~=0.6.21; extra == "complete-api"
|
|
217
217
|
Requires-Dist: objgraph~=3.6; extra == "complete-api"
|
|
218
218
|
Requires-Dist: oss2==2.18.1; extra == "complete-api"
|
|
@@ -7,7 +7,7 @@ mlrun/features.py,sha256=ReBaNGsBYXqcbgI012n-SO_j6oHIbk_Vpv0CGPXbUmo,15842
|
|
|
7
7
|
mlrun/k8s_utils.py,sha256=-RmKAlSBo_qVeJa1bIiwi6TUyuEpb4AhF7wIQ_H5ZJ0,8909
|
|
8
8
|
mlrun/lists.py,sha256=-nbmqScRia0v2IdSHt6Pd0fLRLSEtdB9bSxyD92BWvs,8562
|
|
9
9
|
mlrun/model.py,sha256=5YedJfY9La867fhW8sZJdWb4FwyXPR1r1C5SqYyB4_w,85864
|
|
10
|
-
mlrun/render.py,sha256=
|
|
10
|
+
mlrun/render.py,sha256=5DlhD6JtzHgmj5RVlpaYiHGhX84Q7qdi4RCEUj2UMgw,13195
|
|
11
11
|
mlrun/run.py,sha256=0ORoMtEq6-D1pZLHcYMb2szCFXS3P6N8XhAzu6Ud1NA,45112
|
|
12
12
|
mlrun/secrets.py,sha256=dZPdkc_zzfscVQepOHUwmzFqnBavDCBXV9DQoH_eIYM,7800
|
|
13
13
|
mlrun/alerts/__init__.py,sha256=0gtG1BG0DXxFrXegIkjbM1XEN4sP9ODo0ucXrNld1hU,601
|
|
@@ -85,7 +85,7 @@ mlrun/datastore/__init__.py,sha256=81ulmQnRk1ENvwYOdetxqsLnr2gYVtW-KsvF-tY1Jxk,5
|
|
|
85
85
|
mlrun/datastore/alibaba_oss.py,sha256=k-OHVe08HjMewlkpsT657CbOiVFAfSq9_EqhCE-k86s,4940
|
|
86
86
|
mlrun/datastore/azure_blob.py,sha256=SzAcHYSXkm8Zpopz2Ea-rWVClH0URocUazcNK04S9W0,12776
|
|
87
87
|
mlrun/datastore/base.py,sha256=9R3lwB_L4hv5WW2q24WS62_KTh-wO4UG6pwzISZU6bM,26231
|
|
88
|
-
mlrun/datastore/datastore.py,sha256=
|
|
88
|
+
mlrun/datastore/datastore.py,sha256=AXXPgHpSG8Ig1RtTDGfdCJu4UT-AQPC43FGBOptIVOg,9484
|
|
89
89
|
mlrun/datastore/datastore_profile.py,sha256=RRpb5TfTDBOnZQGSr6Zlmi1QSPHRDssBlWGLIpNBHM0,23860
|
|
90
90
|
mlrun/datastore/dbfs_store.py,sha256=QkDRzwFnvm7CgEg4NuGxes6tBgKDyhX0CiBUvK8c9pk,6568
|
|
91
91
|
mlrun/datastore/filestore.py,sha256=OcykjzhbUAZ6_Cb9bGAXRL2ngsOpxXSb4rR0lyogZtM,3773
|
|
@@ -108,10 +108,10 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
|
|
|
108
108
|
mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
|
|
109
109
|
mlrun/db/__init__.py,sha256=WqJ4x8lqJ7ZoKbhEyFqkYADd9P6E3citckx9e9ZLcIU,1163
|
|
110
110
|
mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
|
|
111
|
-
mlrun/db/base.py,sha256=
|
|
111
|
+
mlrun/db/base.py,sha256=fiXni5U4ZhHCA6Qxk19ORZnshZcEzc_8H1quzPkmtsc,30815
|
|
112
112
|
mlrun/db/factory.py,sha256=yP2vVmveUE7LYTCHbS6lQIxP9rW--zdISWuPd_I3d_4,2111
|
|
113
|
-
mlrun/db/httpdb.py,sha256=
|
|
114
|
-
mlrun/db/nopdb.py,sha256=
|
|
113
|
+
mlrun/db/httpdb.py,sha256=zhfGhHWNvRSrBusPHiEgk9R5YwRbWREQ21ziVlY0IZ0,232654
|
|
114
|
+
mlrun/db/nopdb.py,sha256=ttC1pe95rZdMgiLG9kzrjZFYB1gWj3SEqeqK5c0q0w4,27197
|
|
115
115
|
mlrun/feature_store/__init__.py,sha256=SlI845bWt6xX34SXunHHqhmFAR9-5v2ak8N-qpcAPGo,1328
|
|
116
116
|
mlrun/feature_store/api.py,sha256=qKj5Tk6prTab6XWatWhBuPRVp0eJEctoxRMN2wz48vA,32168
|
|
117
117
|
mlrun/feature_store/common.py,sha256=Z7USI-d1fo0iwBMsqMBtJflJfyuiV3BLoDXQPSAoBAs,12826
|
|
@@ -219,7 +219,7 @@ mlrun/launcher/local.py,sha256=775HY-8S9LFUX5ubGXrLO0N1lVh8bn-DHFmNYuNqQPA,11451
|
|
|
219
219
|
mlrun/launcher/remote.py,sha256=rLJW4UAnUT5iUb4BsGBOAV3K4R29a0X4lFtRkVKlyYU,7709
|
|
220
220
|
mlrun/model_monitoring/__init__.py,sha256=ELy7njEtZnz09Dc6PGZSFFEGtnwI15bJNWM3Pj4_YIs,753
|
|
221
221
|
mlrun/model_monitoring/api.py,sha256=LU58dzE4QZiMH23lgiqfI__3m2E3eEZP-DQe2ioUSwM,28317
|
|
222
|
-
mlrun/model_monitoring/controller.py,sha256=
|
|
222
|
+
mlrun/model_monitoring/controller.py,sha256=UDJ0BiIO7fknr_oCU0fi4N34bNuGWDxxF6bAerjUOnI,37581
|
|
223
223
|
mlrun/model_monitoring/features_drift_table.py,sha256=c6GpKtpOJbuT1u5uMWDL_S-6N4YPOmlktWMqPme3KFY,25308
|
|
224
224
|
mlrun/model_monitoring/helpers.py,sha256=8QsoYRPOVSnR3Lcv99m4XYrp_cR6hSqBUflYSOkJmFQ,21019
|
|
225
225
|
mlrun/model_monitoring/stream_processing.py,sha256=Gu3TQzYoNjbreZYI73-F49QpYrod9RZOyGSgininBsA,33373
|
|
@@ -232,7 +232,7 @@ mlrun/model_monitoring/applications/context.py,sha256=VfyPCIdO4z73uqFcJs87jzSI4P
|
|
|
232
232
|
mlrun/model_monitoring/applications/histogram_data_drift.py,sha256=2qgfFmrpHf-x0_EaHD-0T28piwSQzw-HH71aV1GwbZs,15389
|
|
233
233
|
mlrun/model_monitoring/applications/results.py,sha256=_qmj6TWT0SR2bi7gUyRKBU418eGgGoLW2_hTJ7S-ock,5782
|
|
234
234
|
mlrun/model_monitoring/applications/evidently/__init__.py,sha256=-DqdPnBSrjZhFvKOu_Ie3MiFvlur9sPTZpZ1u0_1AE8,690
|
|
235
|
-
mlrun/model_monitoring/applications/evidently/base.py,sha256=
|
|
235
|
+
mlrun/model_monitoring/applications/evidently/base.py,sha256=dCC1wWLzx3f79JxKRmQPaXks2Oex2thxA27w9jdP8-I,7331
|
|
236
236
|
mlrun/model_monitoring/db/__init__.py,sha256=r47xPGZpIfMuv8J3PQCZTSqVPMhUta4sSJCZFKcS7FM,644
|
|
237
237
|
mlrun/model_monitoring/db/_schedules.py,sha256=RWn4wtKsIXg668gMLpxO9I8GlkxvPSaA5y7w-wFDcgE,9048
|
|
238
238
|
mlrun/model_monitoring/db/_stats.py,sha256=VVMWLMqG3Us3ozBkLaokJF22Ewv8WKmVE1-OvS_g9vA,6943
|
|
@@ -246,7 +246,7 @@ mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connection.py,sha256=8xo2O_yQrJ
|
|
|
246
246
|
mlrun/model_monitoring/db/tsdb/tdengine/tdengine_connector.py,sha256=h0ZrNgOwTlBRd_DaYDc6eeVM9f_8CLJMUPEAIrZpbyU,37803
|
|
247
247
|
mlrun/model_monitoring/db/tsdb/v3io/__init__.py,sha256=aL3bfmQsUQ-sbvKGdNihFj8gLCK3mSys0qDcXtYOwgc,616
|
|
248
248
|
mlrun/model_monitoring/db/tsdb/v3io/stream_graph_steps.py,sha256=_-zo9relCDtjGgievxAcAP9gVN9nDWs8BzGtFwTjb9M,6284
|
|
249
|
-
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=
|
|
249
|
+
mlrun/model_monitoring/db/tsdb/v3io/v3io_connector.py,sha256=aDdyHWJLOG-3EgPTJgbEzOOQf5NetpFQk_HdQbs5_zI,47160
|
|
250
250
|
mlrun/model_monitoring/metrics/__init__.py,sha256=6CsTXAxeLbbf8yfCADTaxmiavqwrLEdYFJ-qc5kgDAY,569
|
|
251
251
|
mlrun/model_monitoring/metrics/histogram_distance.py,sha256=E9_WIl2vd6qNvoHVHoFcnuQk3ekbFWOdi8aU7sHrfk4,4724
|
|
252
252
|
mlrun/package/__init__.py,sha256=v7VDyK9kDOOuDvFo4oiGV2fx-vM1KL7fdN9pGLakhUQ,7008
|
|
@@ -271,7 +271,7 @@ mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13
|
|
|
271
271
|
mlrun/projects/__init__.py,sha256=0Krf0WIKfnZa71WthYOg0SoaTodGg3sV_hK3f_OlTPI,1220
|
|
272
272
|
mlrun/projects/operations.py,sha256=TzPbTYBgmYrjxTKP_wOtBJYFFFwDCQtaVvF1Snr0TfM,20029
|
|
273
273
|
mlrun/projects/pipelines.py,sha256=wud7ezeEmhIJvfYE_wzQbA4ygEfGXHtbOtoOpan6poY,48556
|
|
274
|
-
mlrun/projects/project.py,sha256=
|
|
274
|
+
mlrun/projects/project.py,sha256=d6jUmjV-fkXOfQQPdp_5vgAsjVithJxBCnK07pgRies,236618
|
|
275
275
|
mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
|
|
276
276
|
mlrun/runtimes/base.py,sha256=EL14Kmc1vWEjnBPJwLj5hHC6CtRAQHJLmohCD3sFEHo,37855
|
|
277
277
|
mlrun/runtimes/daskjob.py,sha256=JwuGvOiPsxEDHHMMUS4Oie4hLlYYIZwihAl6DjroTY0,19521
|
|
@@ -341,11 +341,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
|
|
|
341
341
|
mlrun/utils/notifications/notification/slack.py,sha256=eQvmctTh6wIG5xVOesLLV9S1-UUCu5UEQ9JIJOor3ts,7183
|
|
342
342
|
mlrun/utils/notifications/notification/webhook.py,sha256=zxh8CAlbPnTazsk6r05X5TKwqUZVOH5KBU2fJbzQlG4,5330
|
|
343
343
|
mlrun/utils/version/__init__.py,sha256=7kkrB7hEZ3cLXoWj1kPoDwo4MaswsI2JVOBpbKgPAgc,614
|
|
344
|
-
mlrun/utils/version/version.json,sha256=
|
|
344
|
+
mlrun/utils/version/version.json,sha256=5Ady9iLdisYS2pWLx9m0MmBvL7vQSDIWw8M2jXrf_LI,89
|
|
345
345
|
mlrun/utils/version/version.py,sha256=eEW0tqIAkU9Xifxv8Z9_qsYnNhn3YH7NRAfM-pPLt1g,1878
|
|
346
|
-
mlrun-1.8.
|
|
347
|
-
mlrun-1.8.
|
|
348
|
-
mlrun-1.8.
|
|
349
|
-
mlrun-1.8.
|
|
350
|
-
mlrun-1.8.
|
|
351
|
-
mlrun-1.8.
|
|
346
|
+
mlrun-1.8.0rc58.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
347
|
+
mlrun-1.8.0rc58.dist-info/METADATA,sha256=hBwa0_dYNXJPkLjVMZwurgrgVJYeXUbm44Sr_GUlCTg,25805
|
|
348
|
+
mlrun-1.8.0rc58.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
|
349
|
+
mlrun-1.8.0rc58.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
350
|
+
mlrun-1.8.0rc58.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
351
|
+
mlrun-1.8.0rc58.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|