mlrun 1.3.1rc5__py3-none-any.whl → 1.4.0rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mlrun might be problematic. Click here for more details.
- mlrun/__main__.py +57 -4
- mlrun/api/api/endpoints/marketplace.py +57 -4
- mlrun/api/api/endpoints/runs.py +2 -0
- mlrun/api/api/utils.py +102 -0
- mlrun/api/crud/__init__.py +1 -0
- mlrun/api/crud/marketplace.py +133 -44
- mlrun/api/crud/notifications.py +80 -0
- mlrun/api/crud/runs.py +2 -0
- mlrun/api/crud/secrets.py +1 -0
- mlrun/api/db/base.py +32 -0
- mlrun/api/db/session.py +3 -11
- mlrun/api/db/sqldb/db.py +162 -1
- mlrun/api/db/sqldb/models/models_mysql.py +41 -0
- mlrun/api/db/sqldb/models/models_sqlite.py +35 -0
- mlrun/api/main.py +54 -1
- mlrun/api/migrations_mysql/versions/c905d15bd91d_notifications.py +70 -0
- mlrun/api/migrations_sqlite/versions/959ae00528ad_notifications.py +61 -0
- mlrun/api/schemas/__init__.py +1 -0
- mlrun/api/schemas/marketplace.py +18 -8
- mlrun/api/{db/filedb/__init__.py → schemas/notification.py} +17 -1
- mlrun/api/utils/singletons/db.py +8 -14
- mlrun/builder.py +37 -26
- mlrun/config.py +12 -2
- mlrun/data_types/spark.py +9 -2
- mlrun/datastore/base.py +10 -1
- mlrun/datastore/sources.py +1 -1
- mlrun/db/__init__.py +6 -4
- mlrun/db/base.py +1 -2
- mlrun/db/httpdb.py +32 -6
- mlrun/db/nopdb.py +463 -0
- mlrun/db/sqldb.py +47 -7
- mlrun/execution.py +3 -0
- mlrun/feature_store/api.py +26 -12
- mlrun/feature_store/common.py +1 -1
- mlrun/feature_store/steps.py +110 -13
- mlrun/k8s_utils.py +10 -0
- mlrun/model.py +43 -0
- mlrun/projects/operations.py +5 -2
- mlrun/projects/pipelines.py +4 -3
- mlrun/projects/project.py +50 -10
- mlrun/run.py +5 -4
- mlrun/runtimes/__init__.py +2 -6
- mlrun/runtimes/base.py +82 -31
- mlrun/runtimes/function.py +22 -0
- mlrun/runtimes/kubejob.py +10 -8
- mlrun/runtimes/serving.py +1 -1
- mlrun/runtimes/sparkjob/__init__.py +0 -1
- mlrun/runtimes/sparkjob/abstract.py +0 -2
- mlrun/serving/states.py +2 -2
- mlrun/utils/helpers.py +1 -1
- mlrun/utils/notifications/notification/__init__.py +1 -1
- mlrun/utils/notifications/notification/base.py +14 -13
- mlrun/utils/notifications/notification/console.py +6 -3
- mlrun/utils/notifications/notification/git.py +19 -12
- mlrun/utils/notifications/notification/ipython.py +6 -3
- mlrun/utils/notifications/notification/slack.py +13 -12
- mlrun/utils/notifications/notification_pusher.py +185 -37
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/METADATA +6 -2
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/RECORD +64 -63
- mlrun/api/db/filedb/db.py +0 -518
- mlrun/db/filedb.py +0 -899
- mlrun/runtimes/sparkjob/spark2job.py +0 -59
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/LICENSE +0 -0
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/WHEEL +0 -0
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/entry_points.txt +0 -0
- {mlrun-1.3.1rc5.dist-info → mlrun-1.4.0rc2.dist-info}/top_level.txt +0 -0
|
@@ -13,20 +13,30 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import ast
|
|
16
|
+
import asyncio
|
|
17
|
+
import datetime
|
|
16
18
|
import os
|
|
17
19
|
import typing
|
|
18
20
|
|
|
21
|
+
from fastapi.concurrency import run_in_threadpool
|
|
22
|
+
|
|
23
|
+
import mlrun.api.db.base
|
|
24
|
+
import mlrun.api.db.session
|
|
25
|
+
import mlrun.api.schemas
|
|
26
|
+
import mlrun.api.utils.singletons.k8s
|
|
27
|
+
import mlrun.config
|
|
19
28
|
import mlrun.lists
|
|
20
29
|
import mlrun.model
|
|
21
30
|
import mlrun.utils.helpers
|
|
31
|
+
from mlrun.utils import logger
|
|
22
32
|
|
|
23
|
-
from .notification import NotificationBase,
|
|
33
|
+
from .notification import NotificationBase, NotificationTypes
|
|
24
34
|
|
|
25
35
|
|
|
26
36
|
class NotificationPusher(object):
|
|
27
37
|
|
|
28
38
|
messages = {
|
|
29
|
-
"
|
|
39
|
+
"completed": "Run completed",
|
|
30
40
|
"error": "Run failed",
|
|
31
41
|
}
|
|
32
42
|
|
|
@@ -36,55 +46,163 @@ class NotificationPusher(object):
|
|
|
36
46
|
self._notifications = {}
|
|
37
47
|
|
|
38
48
|
for run in self._runs:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
if isinstance(run, dict):
|
|
50
|
+
run = mlrun.model.RunObject.from_dict(run)
|
|
51
|
+
|
|
52
|
+
for notification in run.spec.notifications:
|
|
53
|
+
if self._should_notify(run, notification):
|
|
54
|
+
self._notification_data.append((run, notification))
|
|
55
|
+
|
|
56
|
+
def push(
|
|
57
|
+
self,
|
|
58
|
+
db: mlrun.api.db.base.DBInterface = None,
|
|
59
|
+
):
|
|
60
|
+
"""
|
|
61
|
+
Asynchronously push notifications for all runs in the initialized runs list (if they should be pushed).
|
|
62
|
+
When running from a sync environment, the notifications will be pushed asynchronously however the function will
|
|
63
|
+
wait for all notifications to be pushed before returning.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
if not len(self._notification_data):
|
|
67
|
+
return
|
|
68
|
+
|
|
69
|
+
async def _push():
|
|
70
|
+
tasks = []
|
|
71
|
+
for notification_data in self._notification_data:
|
|
72
|
+
tasks.append(
|
|
73
|
+
self._push_notification(
|
|
74
|
+
self._load_notification(*notification_data),
|
|
75
|
+
notification_data[0],
|
|
76
|
+
notification_data[1],
|
|
77
|
+
db,
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
await asyncio.gather(*tasks)
|
|
81
|
+
|
|
82
|
+
logger.debug(
|
|
83
|
+
"Pushing notifications", notifications_amount=len(self._notification_data)
|
|
84
|
+
)
|
|
85
|
+
main_event_loop = asyncio.get_event_loop()
|
|
86
|
+
if main_event_loop.is_running():
|
|
87
|
+
|
|
88
|
+
# If running from the api or from jupyter notebook, we are already in an event loop.
|
|
89
|
+
# We add the async push function to the loop and run it.
|
|
90
|
+
asyncio.run_coroutine_threadsafe(_push(), main_event_loop)
|
|
91
|
+
else:
|
|
92
|
+
|
|
93
|
+
# If running mlrun SDK locally (not from jupyter), there isn't necessarily an event loop.
|
|
94
|
+
# We create a new event loop and run the async push function in it.
|
|
95
|
+
main_event_loop.run_until_complete(_push())
|
|
48
96
|
|
|
49
97
|
@staticmethod
|
|
50
98
|
def _should_notify(
|
|
51
|
-
run:
|
|
99
|
+
run: mlrun.model.RunObject,
|
|
100
|
+
notification: mlrun.model.Notification,
|
|
52
101
|
) -> bool:
|
|
53
|
-
when_states =
|
|
54
|
-
condition =
|
|
55
|
-
run_state = run.
|
|
102
|
+
when_states = notification.when
|
|
103
|
+
condition = notification.condition
|
|
104
|
+
run_state = run.state()
|
|
105
|
+
|
|
106
|
+
# if the notification isn't pending, don't push it
|
|
107
|
+
if (
|
|
108
|
+
notification.status
|
|
109
|
+
and notification.status != mlrun.api.schemas.NotificationStatus.PENDING
|
|
110
|
+
):
|
|
111
|
+
return False
|
|
56
112
|
|
|
57
113
|
# if at least one condition is met, notify
|
|
58
114
|
for when_state in when_states:
|
|
59
115
|
if (
|
|
60
|
-
when_state == "
|
|
61
|
-
and run_state == "success"
|
|
116
|
+
when_state == run_state == "completed"
|
|
62
117
|
and (not condition or ast.literal_eval(condition))
|
|
63
|
-
) or
|
|
118
|
+
) or when_state == run_state == "error":
|
|
64
119
|
return True
|
|
65
120
|
|
|
66
121
|
return False
|
|
67
122
|
|
|
68
|
-
def _load_notification(
|
|
69
|
-
|
|
123
|
+
def _load_notification(
|
|
124
|
+
self, run: mlrun.model.RunObject, notification: mlrun.model.Notification
|
|
125
|
+
) -> NotificationBase:
|
|
126
|
+
name = notification.name
|
|
70
127
|
notification_type = NotificationTypes(
|
|
71
|
-
|
|
128
|
+
notification.kind or NotificationTypes.console
|
|
72
129
|
)
|
|
73
|
-
|
|
130
|
+
notification_key = f"{run.metadata.uid}-{name or notification_type}"
|
|
131
|
+
if notification_key not in self._notifications:
|
|
74
132
|
self._notifications[
|
|
75
|
-
|
|
76
|
-
] = notification_type.get_notification()(params)
|
|
133
|
+
notification_key
|
|
134
|
+
] = notification_type.get_notification()(name, notification.params)
|
|
77
135
|
else:
|
|
78
|
-
self._notifications[
|
|
136
|
+
self._notifications[notification_key].load_notification(notification.params)
|
|
79
137
|
|
|
80
|
-
|
|
138
|
+
logger.debug(
|
|
139
|
+
"Loaded notification", notification=self._notifications[notification_key]
|
|
140
|
+
)
|
|
141
|
+
return self._notifications[notification_key]
|
|
142
|
+
|
|
143
|
+
async def _push_notification(
|
|
144
|
+
self,
|
|
145
|
+
notification: NotificationBase,
|
|
146
|
+
run: mlrun.model.RunObject,
|
|
147
|
+
notification_object: mlrun.model.Notification,
|
|
148
|
+
db: mlrun.api.db.base.DBInterface,
|
|
149
|
+
):
|
|
150
|
+
message = self.messages.get(run.state(), "")
|
|
151
|
+
severity = (
|
|
152
|
+
notification_object.severity or mlrun.api.schemas.NotificationSeverity.INFO
|
|
153
|
+
)
|
|
154
|
+
logger.debug(
|
|
155
|
+
"Pushing notification",
|
|
156
|
+
notification=notification_object.to_dict(),
|
|
157
|
+
run_uid=run.metadata.uid,
|
|
158
|
+
)
|
|
159
|
+
try:
|
|
160
|
+
if asyncio.iscoroutinefunction(notification.push):
|
|
161
|
+
await notification.push(message, severity, [run.to_dict()])
|
|
162
|
+
else:
|
|
163
|
+
notification.push(message, severity, [run.to_dict()])
|
|
164
|
+
|
|
165
|
+
if mlrun.config.is_running_as_api():
|
|
166
|
+
await self._update_notification_status(
|
|
167
|
+
db,
|
|
168
|
+
run.metadata.uid,
|
|
169
|
+
run.metadata.project,
|
|
170
|
+
notification_object,
|
|
171
|
+
status=mlrun.api.schemas.NotificationStatus.SENT,
|
|
172
|
+
sent_time=datetime.datetime.now(tz=datetime.timezone.utc),
|
|
173
|
+
)
|
|
174
|
+
except Exception as exc:
|
|
175
|
+
if mlrun.config.is_running_as_api():
|
|
176
|
+
await self._update_notification_status(
|
|
177
|
+
db,
|
|
178
|
+
run.metadata.uid,
|
|
179
|
+
run.metadata.project,
|
|
180
|
+
notification_object,
|
|
181
|
+
status=mlrun.api.schemas.NotificationStatus.ERROR,
|
|
182
|
+
)
|
|
183
|
+
raise exc
|
|
81
184
|
|
|
82
|
-
|
|
83
|
-
|
|
185
|
+
@staticmethod
|
|
186
|
+
async def _update_notification_status(
|
|
187
|
+
db: mlrun.api.db.base.DBInterface,
|
|
188
|
+
run_uid: str,
|
|
189
|
+
project: str,
|
|
190
|
+
notification: mlrun.model.Notification,
|
|
191
|
+
status: str = None,
|
|
192
|
+
sent_time: datetime.datetime = None,
|
|
84
193
|
):
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
notification.
|
|
194
|
+
db_session = mlrun.api.db.session.create_session()
|
|
195
|
+
notification.status = status or notification.status
|
|
196
|
+
notification.sent_time = sent_time or notification.sent_time
|
|
197
|
+
|
|
198
|
+
# store directly in db, no need to use crud as the secrets are already loaded
|
|
199
|
+
await run_in_threadpool(
|
|
200
|
+
db.store_run_notifications,
|
|
201
|
+
db_session,
|
|
202
|
+
[notification],
|
|
203
|
+
run_uid,
|
|
204
|
+
project,
|
|
205
|
+
)
|
|
88
206
|
|
|
89
207
|
|
|
90
208
|
class CustomNotificationPusher(object):
|
|
@@ -97,13 +215,43 @@ class CustomNotificationPusher(object):
|
|
|
97
215
|
def push(
|
|
98
216
|
self,
|
|
99
217
|
message: str,
|
|
100
|
-
severity: typing.Union[
|
|
218
|
+
severity: typing.Union[
|
|
219
|
+
mlrun.api.schemas.NotificationSeverity, str
|
|
220
|
+
] = mlrun.api.schemas.NotificationSeverity.INFO,
|
|
221
|
+
runs: typing.Union[mlrun.lists.RunList, list] = None,
|
|
222
|
+
custom_html: str = None,
|
|
223
|
+
):
|
|
224
|
+
async def _push():
|
|
225
|
+
tasks = []
|
|
226
|
+
for notification_type, notification in self._notifications.items():
|
|
227
|
+
if self.should_push_notification(notification_type):
|
|
228
|
+
tasks.append(
|
|
229
|
+
self._push_notification(
|
|
230
|
+
notification, message, severity, runs, custom_html
|
|
231
|
+
)
|
|
232
|
+
)
|
|
233
|
+
await asyncio.gather(*tasks)
|
|
234
|
+
|
|
235
|
+
main_event_loop = asyncio.get_event_loop()
|
|
236
|
+
if main_event_loop.is_running():
|
|
237
|
+
asyncio.run_coroutine_threadsafe(_push(), main_event_loop)
|
|
238
|
+
else:
|
|
239
|
+
main_event_loop.run_until_complete(_push())
|
|
240
|
+
|
|
241
|
+
@staticmethod
|
|
242
|
+
async def _push_notification(
|
|
243
|
+
notification: NotificationBase,
|
|
244
|
+
message: str,
|
|
245
|
+
severity: typing.Union[
|
|
246
|
+
mlrun.api.schemas.NotificationSeverity, str
|
|
247
|
+
] = mlrun.api.schemas.NotificationSeverity.INFO,
|
|
101
248
|
runs: typing.Union[mlrun.lists.RunList, list] = None,
|
|
102
249
|
custom_html: str = None,
|
|
103
250
|
):
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
251
|
+
if asyncio.iscoroutinefunction(notification.push):
|
|
252
|
+
await notification.push(message, severity, runs, custom_html)
|
|
253
|
+
else:
|
|
254
|
+
notification.push(message, severity, runs, custom_html)
|
|
107
255
|
|
|
108
256
|
def add_notification(
|
|
109
257
|
self, notification_type: str, params: typing.Dict[str, str] = None
|
|
@@ -115,12 +263,12 @@ class CustomNotificationPusher(object):
|
|
|
115
263
|
notification_type
|
|
116
264
|
).get_notification()(params)
|
|
117
265
|
|
|
118
|
-
def
|
|
266
|
+
def should_push_notification(self, notification_type):
|
|
119
267
|
notification = self._notifications.get(notification_type)
|
|
120
268
|
if not notification or not notification.active:
|
|
121
269
|
return False
|
|
122
270
|
|
|
123
|
-
# get notification's inverse dependencies, and only
|
|
271
|
+
# get notification's inverse dependencies, and only push the notification if
|
|
124
272
|
# none of its inverse dependencies are being sent
|
|
125
273
|
inverse_dependencies = NotificationTypes(
|
|
126
274
|
notification_type
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0rc2
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -34,7 +34,7 @@ Requires-Dist: ipython (<9.0,>=7.0)
|
|
|
34
34
|
Requires-Dist: nuclio-jupyter (~=0.9.9)
|
|
35
35
|
Requires-Dist: numpy (<1.23.0,>=1.16.5)
|
|
36
36
|
Requires-Dist: pandas (<1.5.0,~=1.2)
|
|
37
|
-
Requires-Dist: pyarrow (<
|
|
37
|
+
Requires-Dist: pyarrow (<12,>=10.0)
|
|
38
38
|
Requires-Dist: pyyaml (~=5.1)
|
|
39
39
|
Requires-Dist: requests (~=2.22)
|
|
40
40
|
Requires-Dist: sqlalchemy (~=1.4)
|
|
@@ -63,6 +63,7 @@ Requires-Dist: deprecated (~=1.2)
|
|
|
63
63
|
Provides-Extra: all
|
|
64
64
|
Requires-Dist: adlfs (~=2021.8.1) ; extra == 'all'
|
|
65
65
|
Requires-Dist: aiobotocore (~=1.4.0) ; extra == 'all'
|
|
66
|
+
Requires-Dist: avro (~=1.11) ; extra == 'all'
|
|
66
67
|
Requires-Dist: azure-core (~=1.24) ; extra == 'all'
|
|
67
68
|
Requires-Dist: azure-identity (~=1.5) ; extra == 'all'
|
|
68
69
|
Requires-Dist: azure-keyvault-secrets (~=4.2) ; extra == 'all'
|
|
@@ -102,6 +103,7 @@ Requires-Dist: bokeh (>=2.4.2,~=2.4) ; extra == 'bokeh'
|
|
|
102
103
|
Provides-Extra: complete
|
|
103
104
|
Requires-Dist: adlfs (~=2021.8.1) ; extra == 'complete'
|
|
104
105
|
Requires-Dist: aiobotocore (~=1.4.0) ; extra == 'complete'
|
|
106
|
+
Requires-Dist: avro (~=1.11) ; extra == 'complete'
|
|
105
107
|
Requires-Dist: azure-core (~=1.24) ; extra == 'complete'
|
|
106
108
|
Requires-Dist: azure-identity (~=1.5) ; extra == 'complete'
|
|
107
109
|
Requires-Dist: azure-keyvault-secrets (~=4.2) ; extra == 'complete'
|
|
@@ -121,6 +123,7 @@ Provides-Extra: complete-api
|
|
|
121
123
|
Requires-Dist: adlfs (~=2021.8.1) ; extra == 'complete-api'
|
|
122
124
|
Requires-Dist: aiobotocore (~=1.4.0) ; extra == 'complete-api'
|
|
123
125
|
Requires-Dist: apscheduler (~=3.6) ; extra == 'complete-api'
|
|
126
|
+
Requires-Dist: avro (~=1.11) ; extra == 'complete-api'
|
|
124
127
|
Requires-Dist: azure-core (~=1.24) ; extra == 'complete-api'
|
|
125
128
|
Requires-Dist: azure-identity (~=1.5) ; extra == 'complete-api'
|
|
126
129
|
Requires-Dist: azure-keyvault-secrets (~=4.2) ; extra == 'complete-api'
|
|
@@ -152,6 +155,7 @@ Provides-Extra: graphviz
|
|
|
152
155
|
Requires-Dist: graphviz (~=0.20.0) ; extra == 'graphviz'
|
|
153
156
|
Provides-Extra: kafka
|
|
154
157
|
Requires-Dist: kafka-python (~=2.0) ; extra == 'kafka'
|
|
158
|
+
Requires-Dist: avro (~=1.11) ; extra == 'kafka'
|
|
155
159
|
Provides-Extra: plotly
|
|
156
160
|
Requires-Dist: plotly (<5.12.0,~=5.4) ; extra == 'plotly'
|
|
157
161
|
Provides-Extra: redis
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
mlrun/__init__.py,sha256=cCTbgyTFsXvEdaq1Cvwz8s8FE75YGIJKX58um-fnfFs,8727
|
|
2
|
-
mlrun/__main__.py,sha256=
|
|
3
|
-
mlrun/builder.py,sha256=
|
|
4
|
-
mlrun/config.py,sha256=
|
|
2
|
+
mlrun/__main__.py,sha256=7AXWZ6AYLQ1xGIHgrSnPORYU8ZERr3pHGsRdJpCxpHA,49967
|
|
3
|
+
mlrun/builder.py,sha256=5YKq67e3nHlVtxW0Z9f6j86qnrhclHEvy8OxmlDVyJ4,24965
|
|
4
|
+
mlrun/config.py,sha256=83S9K8pNvlIknMtpTNaVW0LGbFJ37qLtrF4CJHi6dtg,50570
|
|
5
5
|
mlrun/errors.py,sha256=XEb1pxwy5Lzr9q0VT4z_SjP74jy37HFSmdd2hddWgvY,6780
|
|
6
|
-
mlrun/execution.py,sha256=
|
|
6
|
+
mlrun/execution.py,sha256=RMuw1D78GOWxDk3aQfFtFRZZ5maM4T7BiXaApoQA_6E,39096
|
|
7
7
|
mlrun/features.py,sha256=pDUvV6HlkxZnUwW3lg7oq3vBwdcJQBprvdyGPNv57X8,15624
|
|
8
|
-
mlrun/k8s_utils.py,sha256=
|
|
8
|
+
mlrun/k8s_utils.py,sha256=fGObRopN5-7iS1TzIUzMVggN5-yb5wieLTDdesbhm-8,31688
|
|
9
9
|
mlrun/kfpops.py,sha256=fCq9kqsIO5six8AmHkiRLngyDclRymd7V6U5YXnX_ek,29645
|
|
10
10
|
mlrun/lists.py,sha256=yOKwpS71Fua08sV825Anth8aaR9H5bHZyV544YbnXj4,8360
|
|
11
|
-
mlrun/model.py,sha256=
|
|
11
|
+
mlrun/model.py,sha256=kxctSqX1Uqpy_YFd0kzMPppo5PamiM5o0sSd1JnADgk,53402
|
|
12
12
|
mlrun/render.py,sha256=983QAYawKTFlwXLpUwGC1gWEjUQUFxl1lo8bPQuXIA0,11828
|
|
13
|
-
mlrun/run.py,sha256=
|
|
13
|
+
mlrun/run.py,sha256=ccokIwQ1yodQxVBieNl3x9GxDx-Ztsi3O6m0Lh9KCYs,64451
|
|
14
14
|
mlrun/secrets.py,sha256=yboWaNO33RCXmopLL2bGCkDUbHuwJ7IgJaFv1lkoN_I,7731
|
|
15
15
|
mlrun/api/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
16
16
|
mlrun/api/alembic.ini,sha256=oeSJRHwBbF3c3-N_RJilcZD-diq3F-oPv21gDIkrZGs,2105
|
|
17
17
|
mlrun/api/constants.py,sha256=fyTQXJe4sx4GK8vZxklivgJgaSyOftk_NezGKA1J-mo,685
|
|
18
18
|
mlrun/api/initial_data.py,sha256=Zj9Oan9Qeg45AOv8Dfg3Gvsymuz5cFR7zgLskuxUTFs,23530
|
|
19
|
-
mlrun/api/main.py,sha256=
|
|
19
|
+
mlrun/api/main.py,sha256=1VtkWdILYXSY32i8DjO1Ost7_DrQN1tLO0CLTP9NWbo,26180
|
|
20
20
|
mlrun/api/middlewares.py,sha256=VTW5VV7AGOigXf-ru2V3XSZzw_bMBr8j0uH2aMIGGfk,5235
|
|
21
21
|
mlrun/api/api/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
22
22
|
mlrun/api/api/api.py,sha256=suDQI8HL_zjtqaY7fBdm49SP73zJN2imdBiOh1hA4fQ,4267
|
|
23
23
|
mlrun/api/api/deps.py,sha256=KTllUn0OHT-gGfnWPcz47QQwiHtxeHZBLEWMMbYWPBc,3143
|
|
24
|
-
mlrun/api/api/utils.py,sha256=
|
|
24
|
+
mlrun/api/api/utils.py,sha256=ia6xAEdGHwL2Z6t8jhI0_qFX4BeHz-qFxlnoe6vqR5s,36224
|
|
25
25
|
mlrun/api/api/endpoints/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
26
26
|
mlrun/api/api/endpoints/artifacts.py,sha256=oGy-key8BmAUNWvCiOqAcatjV0pVd_0atcn8ZGftgjM,9458
|
|
27
27
|
mlrun/api/api/endpoints/auth.py,sha256=8-vv61tPX_RFabJPPyXAWbSb8i3apcpbqJSs0GXINYM,1190
|
|
@@ -35,12 +35,12 @@ mlrun/api/api/endpoints/functions.py,sha256=dOTy57CyTSqFI7mOB7utl8JUG7pR9idQn18h
|
|
|
35
35
|
mlrun/api/api/endpoints/grafana_proxy.py,sha256=NFgIpoxIXAmI_3bKXTNvC0Z0wEu7WcqsBH3zqfhbyZo,5798
|
|
36
36
|
mlrun/api/api/endpoints/healthz.py,sha256=3UHtyOFBgUooSmpWGiErav3_yJh1ZrgGrtPEmBZGWrM,1335
|
|
37
37
|
mlrun/api/api/endpoints/logs.py,sha256=1a73ZwNNMDZaaYRqFbL3XZ6OrK3dKCpQI7HC-QJxI78,2429
|
|
38
|
-
mlrun/api/api/endpoints/marketplace.py,sha256=
|
|
38
|
+
mlrun/api/api/endpoints/marketplace.py,sha256=FdgtlvewBVGJ6F5IFlffU6Q8eoVIgcxe82rjbnVRX34,10035
|
|
39
39
|
mlrun/api/api/endpoints/model_endpoints.py,sha256=vlKqhQUJZISBWujGT3BQLWQD0aVyihrMcl8Fb-W8PXo,15724
|
|
40
40
|
mlrun/api/api/endpoints/operations.py,sha256=Fxtp2jY3dlgzYG-2vm1AqNnpxQ-7WaJuibyKX569stg,3700
|
|
41
41
|
mlrun/api/api/endpoints/pipelines.py,sha256=wV3ZvX7LPgb6bBsryXHXkwiiX_oxpK-Cwskj88W3KyE,9099
|
|
42
42
|
mlrun/api/api/endpoints/projects.py,sha256=lFHvfDeeKdNIZ-DhmGKRSqQOuQuOWLu8a0uNay2tyDA,11392
|
|
43
|
-
mlrun/api/api/endpoints/runs.py,sha256=
|
|
43
|
+
mlrun/api/api/endpoints/runs.py,sha256=WyMFtZKU79BhkYwcOyejXyK9D_YX7U7bc7fZwRBUxm0,9076
|
|
44
44
|
mlrun/api/api/endpoints/runtime_resources.py,sha256=Eer8nrP8Hh0y-pXkYr0dOXL7wjw4leE9Q-cxOMdIw08,8988
|
|
45
45
|
mlrun/api/api/endpoints/schedules.py,sha256=Yw3tZNnjfZBgwS-Rsx-i8i8dzi-UNsbfNNvja8eN41I,10579
|
|
46
46
|
mlrun/api/api/endpoints/secrets.py,sha256=l6IzLPMEJr_e7wrTNxLQIn-x8LGBlxeV7diYSAD55t4,6057
|
|
@@ -49,36 +49,35 @@ mlrun/api/api/endpoints/tags.py,sha256=bnsWCKoOUnVHL42qqUzbXvs8gdmfT-8kcGwiT1svJ
|
|
|
49
49
|
mlrun/api/api/endpoints/internal/__init__.py,sha256=Lq7QbwU5hFGCq6hzU28fA5t1soMesi7DVo99T21blU8,1203
|
|
50
50
|
mlrun/api/api/endpoints/internal/config.py,sha256=kXnraXbXv029QZMMEjwvhsUWof69wTvFBLcRyB32JFc,1043
|
|
51
51
|
mlrun/api/api/endpoints/internal/memory_reports.py,sha256=k9cA6NhvAPfA-CYRubpjSrhsHJ7Ig_wTFMIMTEZxS4E,1709
|
|
52
|
-
mlrun/api/crud/__init__.py,sha256=
|
|
52
|
+
mlrun/api/crud/__init__.py,sha256=2ea5kCz3AGmRX2uRHCv2oRRIWX4LL0j7RPn8BVKjcTA,1225
|
|
53
53
|
mlrun/api/crud/artifacts.py,sha256=p-CJZKokYwy2ej0K2vEp5EEy5xM-FD7ytSWMHBd7J9Y,5433
|
|
54
54
|
mlrun/api/crud/client_spec.py,sha256=VapHAcFSKCmBq7AarJkpwoHns6fXLJ-VCEQcBuBczmU,7341
|
|
55
55
|
mlrun/api/crud/clusterization_spec.py,sha256=wf9uiLb3DRwegDGlRu-dgfahoyp51bxtAuB8TEnklfc,1049
|
|
56
56
|
mlrun/api/crud/feature_store.py,sha256=SAWhliY9UJAQbaJYKb7CmXTuVbovq3fDl-_5-RMxfxI,18449
|
|
57
57
|
mlrun/api/crud/functions.py,sha256=pqCTL7rsHawfynV6DfqRrWKhnWxw1MNHJhLY_og6cJo,3550
|
|
58
58
|
mlrun/api/crud/logs.py,sha256=r5JWMAtmxA9kIQ0RCi-DZG7njyh9GbmHL-2w_hu-r9M,9578
|
|
59
|
-
mlrun/api/crud/marketplace.py,sha256=
|
|
59
|
+
mlrun/api/crud/marketplace.py,sha256=zS0rQexzKNA2Lhjfao2H_-O4fpzLqSD827x46E8qh8o,11769
|
|
60
|
+
mlrun/api/crud/notifications.py,sha256=aEIx2ByVQzHxdmjePiYXxzUpZA1yZ8YXhR-nvIbet3o,2751
|
|
60
61
|
mlrun/api/crud/pipelines.py,sha256=aW0RDWAyzK0vnCzyuVLEHDsW-MY-Cy5RvvuqbUhh6ow,13982
|
|
61
62
|
mlrun/api/crud/projects.py,sha256=uLLSMZD0Z8BLkm2naHdNyZK1XyF51IAGVqWN6ydI_9Y,13326
|
|
62
|
-
mlrun/api/crud/runs.py,sha256=
|
|
63
|
+
mlrun/api/crud/runs.py,sha256=Vi6RshVl9RWYef8xPdPcpnx-Vw8SzSXanqlERrtXUpQ,6005
|
|
63
64
|
mlrun/api/crud/runtime_resources.py,sha256=XJRxzrh0NKKBqQq-wXAXFTxWkEMqAX_t3buJsVYOfT8,5539
|
|
64
|
-
mlrun/api/crud/secrets.py,sha256=
|
|
65
|
+
mlrun/api/crud/secrets.py,sha256=SvaOsSFfnk4OKGr-hXTv34XRoR7SOpdLbCxElgW9dVo,19921
|
|
65
66
|
mlrun/api/crud/tags.py,sha256=TKi6u--McIdmcFEXNrbwgsX5wAaENil7FVwi8mnKqok,3265
|
|
66
67
|
mlrun/api/crud/model_monitoring/__init__.py,sha256=CAW_Xhm94IVid0yos0tLQUd_UdCRYz-_2s_rAloZEZw,722
|
|
67
68
|
mlrun/api/crud/model_monitoring/grafana.py,sha256=uyZOa7KsqCkDWdfcWnV8xg2vlrzmPOQX_rbQq2X9bZ0,14943
|
|
68
69
|
mlrun/api/crud/model_monitoring/model_endpoints.py,sha256=VOpm83yvmgycy-pKzin3CcixgDVOFpitqJHE80RLICQ,40998
|
|
69
70
|
mlrun/api/db/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
70
|
-
mlrun/api/db/base.py,sha256=
|
|
71
|
+
mlrun/api/db/base.py,sha256=Cxseet80T_PPFxKA29vNGsMP7x1L3Y3FPU1LP38vTCw,14365
|
|
71
72
|
mlrun/api/db/init_db.py,sha256=5WSrojwOh79O3guN_7IEi9wjqzKj3H74DU2xbGtrElk,870
|
|
72
|
-
mlrun/api/db/session.py,sha256=
|
|
73
|
-
mlrun/api/db/filedb/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
74
|
-
mlrun/api/db/filedb/db.py,sha256=iTehkcdD488diqx4oTng8AJcL2fsYKFJ61mdlMlhywg,14555
|
|
73
|
+
mlrun/api/db/session.py,sha256=_5DVL4YyGGFG9sbtHx_Bq2C1aHrZC5V8MS7TJfNeWIk,993
|
|
75
74
|
mlrun/api/db/sqldb/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
76
|
-
mlrun/api/db/sqldb/db.py,sha256=
|
|
75
|
+
mlrun/api/db/sqldb/db.py,sha256=C4NUyVn5e1VR_N4sgfe8WPSD16P62zAsUY7t9jB9Lpg,142645
|
|
77
76
|
mlrun/api/db/sqldb/helpers.py,sha256=j8VK-l_qZ5vLUjGkFK3D3fBgDgPmi-U8hU1MkMIAhC0,2340
|
|
78
77
|
mlrun/api/db/sqldb/session.py,sha256=97QcZc7EOhypk3ZMl0F5k1ogsgK834S3SxCj3UNry-s,2542
|
|
79
78
|
mlrun/api/db/sqldb/models/__init__.py,sha256=0cHZKMpzqkC6u3WGPEYE8zPcahY6KxBrK2pwkzTCCME,1063
|
|
80
|
-
mlrun/api/db/sqldb/models/models_mysql.py,sha256=
|
|
81
|
-
mlrun/api/db/sqldb/models/models_sqlite.py,sha256=
|
|
79
|
+
mlrun/api/db/sqldb/models/models_mysql.py,sha256=ZRerU-oWljKFkzXZ7nTb22y-qWpX_RXxvDH_gFhcbK4,20624
|
|
80
|
+
mlrun/api/db/sqldb/models/models_sqlite.py,sha256=uMUkomR_YOa7d14g2XZcaIGtq1OlQ_fqkbOG9MbcVfE,18286
|
|
82
81
|
mlrun/api/migrations_mysql/env.py,sha256=U5Fu1WLV5vggRYy4sa7d1ItJr1H3-T71BnkOw4ZjWIs,2906
|
|
83
82
|
mlrun/api/migrations_mysql/versions/32bae1b0e29c_increase_timestamp_fields_precision.py,sha256=MF0DwcRcbyRXdWNeWieEWIu5zMpxZ5IQPmF__werbkU,4614
|
|
84
83
|
mlrun/api/migrations_mysql/versions/4903aef6a91d_tag_foreign_key_and_cascades.py,sha256=BthqApYJLuzuHZEJfrOaERD8M-2FRGsZ3e5tRFvMk78,1936
|
|
@@ -87,6 +86,7 @@ mlrun/api/migrations_mysql/versions/88e656800d6a_add_requested_logs_column_and_i
|
|
|
87
86
|
mlrun/api/migrations_mysql/versions/9d16de5f03a7_adding_data_versions_table.py,sha256=1U5dpO6k_SLNZ0MAd5AukDddcxp8eCUTEx-2o3b_U9k,1504
|
|
88
87
|
mlrun/api/migrations_mysql/versions/b86f5b53f3d7_adding_name_and_updated_to_runs_table.py,sha256=lppZKpOBbGoyzP855Q8Y5hWfcqCzCjOlz-FefAqenUQ,1649
|
|
89
88
|
mlrun/api/migrations_mysql/versions/c4af40b0bf61_init.py,sha256=CGh1ihmMJ4GNpDXNoiB9ksSe1P7PyrV3NqWTiq6GTIg,24057
|
|
89
|
+
mlrun/api/migrations_mysql/versions/c905d15bd91d_notifications.py,sha256=IU4QdjJrnqJK-fzf5SL3mtpXduTxieoog_HH9aahq3M,2457
|
|
90
90
|
mlrun/api/migrations_mysql/versions/ee041e8fdaa0_adding_next_run_time_column_to_schedule_.py,sha256=18_SGHfgvNE6TcjsP2_bmqAjL3YI70B0J5-NojmxRr4,1351
|
|
91
91
|
mlrun/api/migrations_sqlite/env.py,sha256=U5Fu1WLV5vggRYy4sa7d1ItJr1H3-T71BnkOw4ZjWIs,2906
|
|
92
92
|
mlrun/api/migrations_sqlite/versions/11f8dd2dc9fe_init.py,sha256=Kp1VTDMqS72UMODn1GboBo-IwUEZ8IWuflxrBTbATj0,11473
|
|
@@ -96,6 +96,7 @@ mlrun/api/migrations_sqlite/versions/6401142f2d7c_adding_next_run_time_column_to
|
|
|
96
96
|
mlrun/api/migrations_sqlite/versions/64d90a1a69bc_adding_background_tasks_table.py,sha256=pJqfbcEjG7I8yacspyFnbBZvVVpJ4mPLXc4VcJ8X1oQ,1767
|
|
97
97
|
mlrun/api/migrations_sqlite/versions/803438ecd005_add_requested_logs_column_to_runs.py,sha256=3Q_PnbBjaD-04YfjH2MW4IUocOWVUfa-a1_Y-snzBHA,1360
|
|
98
98
|
mlrun/api/migrations_sqlite/versions/863114f0c659_refactoring_feature_set.py,sha256=cNFtnxsL4tTnfZiEo3uhATcqmgU6aqh2jEf521G0jH8,1259
|
|
99
|
+
mlrun/api/migrations_sqlite/versions/959ae00528ad_notifications.py,sha256=Lth-_bXTG-8l-vUi_YxwfWdMVC6aJAKVHQnQ609GmsQ,2147
|
|
99
100
|
mlrun/api/migrations_sqlite/versions/accf9fc83d38_adding_data_versions_table.py,sha256=Q7KfNsbnnPWhXUnLMmbGFZIaItOS_Hvr2bY_td-K3vw,1482
|
|
100
101
|
mlrun/api/migrations_sqlite/versions/b68e8e897a28_schedule_labels.py,sha256=1indyv5TlsDK4haAC9xxNznRjXgqjNIjgfFOakgBpNo,1892
|
|
101
102
|
mlrun/api/migrations_sqlite/versions/bcd0c1f9720c_adding_project_labels.py,sha256=JyUhI_H02D0fkBDZr3Hv4-KAiHEOL62z4-YE25ik5Rs,1882
|
|
@@ -106,7 +107,7 @@ mlrun/api/migrations_sqlite/versions/e1dd5983c06b_schedule_concurrency_limit.py,
|
|
|
106
107
|
mlrun/api/migrations_sqlite/versions/e5594ed3ab53_adding_name_and_updated_to_runs_table.py,sha256=lQ0lPq6xZD59iupkbAo0wCV-otE0G9lmjEpqIBZEguA,1831
|
|
107
108
|
mlrun/api/migrations_sqlite/versions/f4249b4ba6fa_adding_feature_vectors.py,sha256=AWkrtG6jWOMJHyLqR8jrmbp95Fk9qB6qhjjYLb1mezo,3936
|
|
108
109
|
mlrun/api/migrations_sqlite/versions/f7b5a1a03629_adding_feature_labels.py,sha256=KrIm5pHwHlJr5e3DdtMcBiEjgbopOniWzDi9T1XTSHQ,2588
|
|
109
|
-
mlrun/api/schemas/__init__.py,sha256=
|
|
110
|
+
mlrun/api/schemas/__init__.py,sha256=XwgaWHdXLIASbqnw7YPEfW43AO6PmHxJbzXaBZY7VzA,4029
|
|
110
111
|
mlrun/api/schemas/artifact.py,sha256=gpAdViV_3TQ-W2KPPNvdOArEfQZdd427YUW9bml9vE4,2070
|
|
111
112
|
mlrun/api/schemas/auth.py,sha256=9MnT6Ckuy8_kAI7edsAqwN9-wp3noh5xZlL40utYXqA,5311
|
|
112
113
|
mlrun/api/schemas/background_task.py,sha256=RayGDZ3_KYCYVx-n7CgMNDQJQp78ajrb5unQW6wFzhU,1563
|
|
@@ -118,9 +119,10 @@ mlrun/api/schemas/frontend_spec.py,sha256=-kYKekdyrUAx-dOhhyvhh54y-KWV3bGfFAxqJQ
|
|
|
118
119
|
mlrun/api/schemas/function.py,sha256=5Iy0aZYwXw9_vLSPBUwhuD_YMuQn95_11oX7DSTFIeo,3991
|
|
119
120
|
mlrun/api/schemas/http.py,sha256=q9l7LBK1pIWlax2gHK9rPQfeugHjBMUrLDWAxdGxUII,715
|
|
120
121
|
mlrun/api/schemas/k8s.py,sha256=R6Ufggp8MqA0lQ68AMsh_qiRcbsovaWKJg1a40XzcZg,1405
|
|
121
|
-
mlrun/api/schemas/marketplace.py,sha256=
|
|
122
|
+
mlrun/api/schemas/marketplace.py,sha256=fpvHrAkmtpJEu4-6UNtnvSQz_Rrb87en5VBMvLZFPok,4592
|
|
122
123
|
mlrun/api/schemas/memory_reports.py,sha256=SlNJ-uya5RywEysm_IZMwF1t4j-zYsjOj8oPYwLRO08,920
|
|
123
124
|
mlrun/api/schemas/model_endpoints.py,sha256=j1U0bqYSv_ytjsQ7ZM0qEk4ebUdk-1Yks3h9dNEJijo,12343
|
|
125
|
+
mlrun/api/schemas/notification.py,sha256=sCVgEsQUWANr4zxXtvTjS2lve8eaTKv3me7dy5zLoDI,894
|
|
124
126
|
mlrun/api/schemas/object.py,sha256=bLMt30Kgch6_4Q_KML68NerU_HuTqW8K-4LUc8KfyVc,1965
|
|
125
127
|
mlrun/api/schemas/pipeline.py,sha256=qT-4NW2vOXmLGxwbGhSPbmDRoeoOhCA2I-j52pop4dU,1194
|
|
126
128
|
mlrun/api/schemas/project.py,sha256=EhGRhSa_Pzzy8cxl_vtu93v2bydX9VHo12rM5rCSeOY,3935
|
|
@@ -164,7 +166,7 @@ mlrun/api/utils/projects/remotes/leader.py,sha256=D0V41b5rcr-w4AgEOCp0THG7ve2v4B
|
|
|
164
166
|
mlrun/api/utils/projects/remotes/nop_follower.py,sha256=lMnq7uZcNbNc4A3ghhTdYzJjSo6V3sYnyqnFTbzpbP0,4601
|
|
165
167
|
mlrun/api/utils/projects/remotes/nop_leader.py,sha256=0sLDBZcGtacQwygS1p7GD--EGFLFWohOGFyXmIiy5x0,3801
|
|
166
168
|
mlrun/api/utils/singletons/__init__.py,sha256=B-yvMk7vTs3QqtlPkM4pnZk_B4QKTGnfNhYr2n4Z30M,571
|
|
167
|
-
mlrun/api/utils/singletons/db.py,sha256=
|
|
169
|
+
mlrun/api/utils/singletons/db.py,sha256=y-v3JdLIHb_GtPvdzKH137jsflTav5TY9CafsSXfkN8,1202
|
|
168
170
|
mlrun/api/utils/singletons/k8s.py,sha256=fxQuohr-iIGKQEAR6V5iZ3dka0438Tfm0xq_j2D5OGo,694
|
|
169
171
|
mlrun/api/utils/singletons/logs_dir.py,sha256=zCALZ1N8IylkfvATfsbWfBtEPvWKl2AEQ2-QF-J0VWs,840
|
|
170
172
|
mlrun/api/utils/singletons/project_member.py,sha256=1xlvJjbY-HvQuUV5rsQg9rMt-Y9MKU77Az5f98v-D28,1279
|
|
@@ -178,17 +180,17 @@ mlrun/artifacts/plots.py,sha256=0Jq5OgDB1srtUlcISF696E_q3S_D-mqeMe6Wyn1S6ZQ,1538
|
|
|
178
180
|
mlrun/data_types/__init__.py,sha256=hBd2-QsTqesw3HUDoIUaUtCR1mWEcRc4V7Z1V8lNP0s,1087
|
|
179
181
|
mlrun/data_types/data_types.py,sha256=xjsnUw144Lbkg4JqYLYym8qQpucYQUjphxay_BIc7VA,4647
|
|
180
182
|
mlrun/data_types/infer.py,sha256=ErGpXigp8bG6hkPJfbJt8cJZxsZvj-bK0dLSiTlUYzk,5813
|
|
181
|
-
mlrun/data_types/spark.py,sha256=
|
|
183
|
+
mlrun/data_types/spark.py,sha256=BVM_FeWh1mKYLu6QILYfZRCOGefQzRJ2t0LeHo-pqwA,9426
|
|
182
184
|
mlrun/datastore/__init__.py,sha256=lEcQKc3_Q2dfK6CTg2hwlTH3IoKQg-xE0WeMOanmxfo,3300
|
|
183
185
|
mlrun/datastore/azure_blob.py,sha256=XFBpXZfwMKvv0rrYVP2J6RDqziNPHW6KqCbsY-VLzto,6946
|
|
184
|
-
mlrun/datastore/base.py,sha256=
|
|
186
|
+
mlrun/datastore/base.py,sha256=5jODaKrJHSeCFQFHVBeREj3k9LaDLgyh5kW20-0ePGw,17575
|
|
185
187
|
mlrun/datastore/datastore.py,sha256=l6CfmIYn7rdPQyRZ8kZu45cfyDZcDXDH5CwLKvsFlI8,7995
|
|
186
188
|
mlrun/datastore/filestore.py,sha256=v9-BTJMgamGN_neoXNkIbNNr56UpgOewMEX70P8MTbc,3791
|
|
187
189
|
mlrun/datastore/google_cloud_storage.py,sha256=9dtZt7Opytrra45urj6ObYa1fxf7UIOHXSoog4G9l7I,5114
|
|
188
190
|
mlrun/datastore/inmem.py,sha256=o6Svv12k5PxJNT24nMgV9FBYEPCzD3OQzuuvU6OeCYY,2627
|
|
189
191
|
mlrun/datastore/redis.py,sha256=pywWgjGJ51pmvKuwX1MI3ILWqh6WtgDs9igOQAhmIhc,4873
|
|
190
192
|
mlrun/datastore/s3.py,sha256=fn1Yg5Rs33ugHlwTKvBfu_jMKqkSZWgHNw0ocQ5nO7A,7035
|
|
191
|
-
mlrun/datastore/sources.py,sha256=
|
|
193
|
+
mlrun/datastore/sources.py,sha256=HqcD7cmI5tL5vsIA31g6lQ9qKv-P_QFN9V5NiNUowxc,34023
|
|
192
194
|
mlrun/datastore/spark_udf.py,sha256=LFICcRzj7Yx03ttgQZImodEXjOZVvkcQd0OKwHuMLCg,1402
|
|
193
195
|
mlrun/datastore/store_resources.py,sha256=u60_0LGXbagkG2UIm2o2pntWioF4kPu7FLMd0tlrR-8,6889
|
|
194
196
|
mlrun/datastore/targets.py,sha256=3pA6jyHPzEHwfoMEDK3SObDAnLakpZU2AcJ30URO0KQ,62054
|
|
@@ -196,18 +198,18 @@ mlrun/datastore/utils.py,sha256=WNKBhgG2w9xAviyieGCB6hTnESEYzCwzgjcjz6uaWC4,1660
|
|
|
196
198
|
mlrun/datastore/v3io.py,sha256=ArEYq78irv5bwlRwcLeVfFJvcwtXEamGsZ2I0sVt7Qg,8097
|
|
197
199
|
mlrun/datastore/wasbfs/__init__.py,sha256=4CK7vZeJmC4Ak9cJjG07cGnk7jlkBlpCxw-ANfbBmzk,1343
|
|
198
200
|
mlrun/datastore/wasbfs/fs.py,sha256=DEZgwrmQSPeR93MNlC9OCwuU9wvTSmIM534p5ccQzAE,6152
|
|
199
|
-
mlrun/db/__init__.py,sha256=
|
|
200
|
-
mlrun/db/base.py,sha256=
|
|
201
|
-
mlrun/db/
|
|
202
|
-
mlrun/db/
|
|
203
|
-
mlrun/db/sqldb.py,sha256=
|
|
201
|
+
mlrun/db/__init__.py,sha256=HA6ahbEFrRd5I81eJQ1xrHmUch6JOy3JeEKMf7KrOTM,2816
|
|
202
|
+
mlrun/db/base.py,sha256=eOWjqPEVq6UnffIw4s9XM_ESakcaVxLJHZzMUI2bOGU,14771
|
|
203
|
+
mlrun/db/httpdb.py,sha256=OOgn0D6lPM1vHuzOM2oVpVTIGwHXD4HIoLCYNOHH1G4,129128
|
|
204
|
+
mlrun/db/nopdb.py,sha256=J_7mlHfF9rSwGK1WL12_f4ciUcrRD3ZZ48AYisaNBmQ,12257
|
|
205
|
+
mlrun/db/sqldb.py,sha256=sk2sJZpAAootYnTCDsUPo5JvPgqVSC6PanSODFelnh8,25370
|
|
204
206
|
mlrun/feature_store/__init__.py,sha256=guoak0hQTMoE4YsWwyoyso0CYE9NSPoP0eUal4crfVA,1501
|
|
205
|
-
mlrun/feature_store/api.py,sha256=
|
|
206
|
-
mlrun/feature_store/common.py,sha256=
|
|
207
|
+
mlrun/feature_store/api.py,sha256=N2Vr1Z_hoQudXbYZ4_WmjjwdYbllfrAP5n1vodqs3_U,43761
|
|
208
|
+
mlrun/feature_store/common.py,sha256=vgBs-jQKffjwOLNnOzrNnaU3yhzQTu-eh3X4yCy2ExQ,12807
|
|
207
209
|
mlrun/feature_store/feature_set.py,sha256=SE6qCVpNCn2aImrVXRWLaE3SmD17iF49SOHj9uzltt4,47059
|
|
208
210
|
mlrun/feature_store/feature_vector.py,sha256=hLOyejUK-itqZRzbqOQEQcijJHsJlypuHD7ZWQ6B5aE,21937
|
|
209
211
|
mlrun/feature_store/ingestion.py,sha256=7qcBfNkDZsD4IXRdRN4OCSPIlpQDVo3WaO8pnAAYY6Q,11813
|
|
210
|
-
mlrun/feature_store/steps.py,sha256=
|
|
212
|
+
mlrun/feature_store/steps.py,sha256=khDqxTusXDtBNfS7ESZh-QEsWu3_8FTR5ep_AY_Nvdo,28635
|
|
211
213
|
mlrun/feature_store/retrieval/__init__.py,sha256=2b2WoPmH4TqcSSJ2OQYSjsDIcUe1KA5DnG7-wkrIayM,1232
|
|
212
214
|
mlrun/feature_store/retrieval/base.py,sha256=38n5qY60V-wvn5vAVSd4qQlfkMMTMchX0c2TdZ8XqqE,25911
|
|
213
215
|
mlrun/feature_store/retrieval/dask_merger.py,sha256=-xRgRPWUblu3KtVhEoL0YXEAcgkZrSUykDe31xnEzRI,4261
|
|
@@ -323,23 +325,23 @@ mlrun/platforms/__init__.py,sha256=NNh9MSxgjdi7QftO3DHp4axQnBeO5IjxD8oR13_jp3A,2
|
|
|
323
325
|
mlrun/platforms/iguazio.py,sha256=gPOXoIRGcUCNmyMOddeHQT9DXW3835kB9AduZm_S0E0,23113
|
|
324
326
|
mlrun/platforms/other.py,sha256=DwqbdbMNlkC2nEl1yJ0jF9WZJzjVu2IVPTC3bQ_W9Y0,11852
|
|
325
327
|
mlrun/projects/__init__.py,sha256=dsXSDyqBhLi8OOfpdjLJpYOwC2fy_Q_Ki95Bk6gVSwc,1153
|
|
326
|
-
mlrun/projects/operations.py,sha256=
|
|
327
|
-
mlrun/projects/pipelines.py,sha256=
|
|
328
|
-
mlrun/projects/project.py,sha256=
|
|
329
|
-
mlrun/runtimes/__init__.py,sha256=
|
|
330
|
-
mlrun/runtimes/base.py,sha256=
|
|
328
|
+
mlrun/projects/operations.py,sha256=rxxpSemZIp4_V6IC2gm2MnUH84aB4Q_7n_Y_BcbjK_c,17485
|
|
329
|
+
mlrun/projects/pipelines.py,sha256=845_9berjVxxGB2OHkuGO2m5xRI-69_cp7Y2aqb5t9U,37899
|
|
330
|
+
mlrun/projects/project.py,sha256=BP0hZ0DoflSkUNwJpp2eRVZvZwYen0DZkgSyw7AvCF0,104532
|
|
331
|
+
mlrun/runtimes/__init__.py,sha256=NpPeD7XxDNxmeOqLSEmb7tUN59cYZlvw-DnJxla_peE,8773
|
|
332
|
+
mlrun/runtimes/base.py,sha256=qYMiFbf3mAifyCnNzrlRAWhCNuds8Eh2SMEly0vJHf8,109502
|
|
331
333
|
mlrun/runtimes/constants.py,sha256=Os_6YpWE8WMhigm1h3RKvn9Uo4LXNaEbA2xNSEDDEao,6689
|
|
332
334
|
mlrun/runtimes/daskjob.py,sha256=Hol5_kzTfJBP4WN6orPlGSlSRDPec1HcBD8id_jSdPA,30403
|
|
333
335
|
mlrun/runtimes/funcdoc.py,sha256=U5Hrkeo7i7CUnZFQ5g7-CyWMvXiQXPGrfsNdgsDAraQ,9190
|
|
334
|
-
mlrun/runtimes/function.py,sha256=
|
|
336
|
+
mlrun/runtimes/function.py,sha256=Px4WakU2rYBDrgl8_GtoeABZIoCjn7HIKNYiv-YEDf4,70153
|
|
335
337
|
mlrun/runtimes/function_reference.py,sha256=ikxeXeFPAn7PpfYR1DPBRFc9MSXXFM34uH5z6iRTz9M,4911
|
|
336
338
|
mlrun/runtimes/generators.py,sha256=WvXzsfZZWqxLV1ncZ-lzFHZH2ITK6ICROgDv2vfQUs4,6530
|
|
337
|
-
mlrun/runtimes/kubejob.py,sha256=
|
|
339
|
+
mlrun/runtimes/kubejob.py,sha256=1ct6ox1cyWYSDk73VQctAEssArOPWpgr5-7Wnvm2R5o,16895
|
|
338
340
|
mlrun/runtimes/local.py,sha256=gsLkfQSbvt1DjDuO6_9tjZC4AxOGBAypR3qJQomPqIY,18005
|
|
339
341
|
mlrun/runtimes/nuclio.py,sha256=ih2iwrJieeEom3iW0yU99QG4_u_Bdv7VWgs1CK4Q1P8,2885
|
|
340
342
|
mlrun/runtimes/pod.py,sha256=sWtw5wkme43VrQVEYDiU67uSC4zBbSyzqXZFYwWYewM,60648
|
|
341
343
|
mlrun/runtimes/remotesparkjob.py,sha256=Lp2EN32GQ1rY_34MEepdUzRTg-AP-OKyUM7xcy0Npb8,7695
|
|
342
|
-
mlrun/runtimes/serving.py,sha256=
|
|
344
|
+
mlrun/runtimes/serving.py,sha256=bgqd97gJmfeLqtKKyPphWg6XeptIJACEZRnPpRx2Bt4,29852
|
|
343
345
|
mlrun/runtimes/utils.py,sha256=r1FGNRETsZykdsy_DNpbyvqxsVcTetYRdHg-aelFt1k,21249
|
|
344
346
|
mlrun/runtimes/mpijob/__init__.py,sha256=E0oiOsSYsRBBR0HV6e_EGaL_j2_dYEJwAcICnF8mOYU,790
|
|
345
347
|
mlrun/runtimes/mpijob/abstract.py,sha256=_6CCDl4FXNpDzg1qTiEQGaqXyblx4gXYquAdKIG0fk0,14782
|
|
@@ -347,9 +349,8 @@ mlrun/runtimes/mpijob/v1.py,sha256=o-ZDw3O0HOzTMZ3lI3gMjGG0NYY0Ux3RqL0Kz9K3eV4,1
|
|
|
347
349
|
mlrun/runtimes/mpijob/v1alpha1.py,sha256=4rMpJk1C_gL6QtOmEFcgcmaCkHcor9mdKvIL46fEKFw,8460
|
|
348
350
|
mlrun/runtimes/package/__init__.py,sha256=EHFvxDWnRkXqjmdv9Mj3O-nCYAFLbRsNgX5zR0ElwAk,673
|
|
349
351
|
mlrun/runtimes/package/context_handler.py,sha256=5br30fRHHhWQJgSWF2zqf0M8XOxVr27ZkOFWVDgf4f0,27044
|
|
350
|
-
mlrun/runtimes/sparkjob/__init__.py,sha256=
|
|
351
|
-
mlrun/runtimes/sparkjob/abstract.py,sha256=
|
|
352
|
-
mlrun/runtimes/sparkjob/spark2job.py,sha256=StWv5hk99pHslkIpOzz5T-szCYN2kkC20ixEdlD3yIA,2033
|
|
352
|
+
mlrun/runtimes/sparkjob/__init__.py,sha256=7damn-nBbM0unppemEuVwZxCAGwXq7EzXECMJ9AaRPY,751
|
|
353
|
+
mlrun/runtimes/sparkjob/abstract.py,sha256=NyHcddXo97s2S3hjHmDUoEDaGd8AjmKltd5PJTVd3BA,35869
|
|
353
354
|
mlrun/runtimes/sparkjob/spark3job.py,sha256=JzwinNIiPXBapSC-gAsbhf81oouxhx41U5oQwoNeYhM,28722
|
|
354
355
|
mlrun/serving/__init__.py,sha256=FOIyvEwEOH6QuJovcDrrP5VSdLeKoqummSlfhNMvFXg,1078
|
|
355
356
|
mlrun/serving/merger.py,sha256=oRX6gJ3LUVeCJcTpJ1nwh4d1tk5FrSZshkXcH-y-dd4,6116
|
|
@@ -357,7 +358,7 @@ mlrun/serving/remote.py,sha256=HJS9bz5_mUuaKGsNbqRKpo-eVHKbc1fIEOEsECPmnko,18038
|
|
|
357
358
|
mlrun/serving/routers.py,sha256=avhQ5cgogYA_TP_6kgzC_U2VQW24-yWWUXJGP449-Qg,55209
|
|
358
359
|
mlrun/serving/server.py,sha256=ePfYiefH3HkNag5qHDzDyoowaNNMbjJ9YKpPS9wX9Xw,19005
|
|
359
360
|
mlrun/serving/serving_wrapper.py,sha256=ivoSlFNuC92plPHRfMzHr-hdN-jGqxneGiufJdgoxVc,836
|
|
360
|
-
mlrun/serving/states.py,sha256=
|
|
361
|
+
mlrun/serving/states.py,sha256=7ykG0Q66OQvRF32nQDQGwkmVYEyHczCvNrQxneVdUdM,53940
|
|
361
362
|
mlrun/serving/utils.py,sha256=1fLfn07R4-RlUcdUgYYwUTFF47NozQmV9BnZVbu4-lU,3468
|
|
362
363
|
mlrun/serving/v1_serving.py,sha256=UF6Ydgyo-DuHZ4DkrEdNMQl5oopVaZqm4EfBMBSvhDY,11814
|
|
363
364
|
mlrun/serving/v2_serving.py,sha256=uIKQnTITJozqk6WrmJhO0hKfjCl8FLYc_IpCEYt5elA,21441
|
|
@@ -366,7 +367,7 @@ mlrun/utils/async_http.py,sha256=AvI4a9D0frI6XxHvqnQ4AzEXopezo90zZHvsOAJJt6g,103
|
|
|
366
367
|
mlrun/utils/azure_vault.py,sha256=atz9fIu1vfgWAND1g6flRQDhrX-xBxZ_6MOWm34Onh0,3456
|
|
367
368
|
mlrun/utils/clones.py,sha256=lKgQeibQ3xQ9LH5bZTZCoYCXoOx_2mYNGD5A-OOxwAQ,6245
|
|
368
369
|
mlrun/utils/db.py,sha256=SqDrvIpGX_qHs0MNx_PWQNRcUhHaKLngoHFKLW3m5j0,1662
|
|
369
|
-
mlrun/utils/helpers.py,sha256=
|
|
370
|
+
mlrun/utils/helpers.py,sha256=r128kqmGIHpDaPnSlnryLUmlqN81x0sPyjFvJs_SJ9o,41425
|
|
370
371
|
mlrun/utils/http.py,sha256=FVgdYV8Np3TKbqszEtXrlgwqNyjScTMLAjJhlsWLifo,7093
|
|
371
372
|
mlrun/utils/logger.py,sha256=O4pH45kdz0cO-e4eKeRxbZUIRLGn2X0BJcjSY9cWB04,5637
|
|
372
373
|
mlrun/utils/model_monitoring.py,sha256=wS6T9KgG-XCB21MNc6edNODEqFBBqzi5bUgSvPpKt-c,7875
|
|
@@ -375,19 +376,19 @@ mlrun/utils/singleton.py,sha256=kV9HhbzdmXo8gGKBPdbHWspRDutlkKX1ZEn96xs_LRs,883
|
|
|
375
376
|
mlrun/utils/v3io_clients.py,sha256=ekxhjfcUnjV8cejQYTQUHnhYOKHA4KekIdSaywydTdM,1319
|
|
376
377
|
mlrun/utils/vault.py,sha256=1zr_3gkXoerYID_4Z5vYkBO9FeCKd43Qm-XlmGBk_Ok,9957
|
|
377
378
|
mlrun/utils/notifications/__init__.py,sha256=CgWLxslSqhTH-tExi_UR4AT-ipjkGUF4gwf9mKcNua8,990
|
|
378
|
-
mlrun/utils/notifications/notification_pusher.py,sha256=
|
|
379
|
-
mlrun/utils/notifications/notification/__init__.py,sha256=
|
|
380
|
-
mlrun/utils/notifications/notification/base.py,sha256=
|
|
381
|
-
mlrun/utils/notifications/notification/console.py,sha256=
|
|
382
|
-
mlrun/utils/notifications/notification/git.py,sha256=
|
|
383
|
-
mlrun/utils/notifications/notification/ipython.py,sha256=
|
|
384
|
-
mlrun/utils/notifications/notification/slack.py,sha256=
|
|
379
|
+
mlrun/utils/notifications/notification_pusher.py,sha256=WdkBRLg_upmcInkwYcjRJkuRexKMaZ_a_47d0yMfhSs,12297
|
|
380
|
+
mlrun/utils/notifications/notification/__init__.py,sha256=iNF31hiEkenkp1VmJ4keyjixS17-gZ0oGuWNO7tlnm4,1803
|
|
381
|
+
mlrun/utils/notifications/notification/base.py,sha256=0q419xnXHH6raEcpR8j1uvBUn1jHcJmIAfjFNt2XkKQ,2162
|
|
382
|
+
mlrun/utils/notifications/notification/console.py,sha256=nzucPPOj3jFceJKZSV4UJLT0mu8V1yVqGUl3MbnlwZc,1962
|
|
383
|
+
mlrun/utils/notifications/notification/git.py,sha256=iXjjBbJMWA741Z6aRNpGGg8FjZC78jzS2uR9UYM0yHY,4733
|
|
384
|
+
mlrun/utils/notifications/notification/ipython.py,sha256=zP1jAE39Dn6rrbQIxi4R4iDhMLFBQ_GJrEtMMj8G80E,2012
|
|
385
|
+
mlrun/utils/notifications/notification/slack.py,sha256=QnXQvAMOe3GUUKnlrNy_fEtUEjdG8n80FDl4hYdqXyc,3736
|
|
385
386
|
mlrun/utils/version/__init__.py,sha256=hwfJgGWYGWFpepVGI1GbuCPqqEFGRbgguJg5sC0v4TU,614
|
|
386
|
-
mlrun/utils/version/version.json,sha256=
|
|
387
|
+
mlrun/utils/version/version.json,sha256=hsn9H7rpi0XmRAbCXb0oM4t1uXJfVkQpYIiKVM_uoSA,88
|
|
387
388
|
mlrun/utils/version/version.py,sha256=O4Q4kwtKlI73oK7oBPuz4SVkUI8BC11E9DJIKHT91kU,1970
|
|
388
|
-
mlrun-1.
|
|
389
|
-
mlrun-1.
|
|
390
|
-
mlrun-1.
|
|
391
|
-
mlrun-1.
|
|
392
|
-
mlrun-1.
|
|
393
|
-
mlrun-1.
|
|
389
|
+
mlrun-1.4.0rc2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
390
|
+
mlrun-1.4.0rc2.dist-info/METADATA,sha256=_at3cBifvsdJaad6mIL46mrg00ix_KEsCKQ8gb4b6ag,17177
|
|
391
|
+
mlrun-1.4.0rc2.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
392
|
+
mlrun-1.4.0rc2.dist-info/entry_points.txt,sha256=ZbXmb36B9JmK7EaleP8MIAbZSOQXQV0iwKR6si0HUWk,47
|
|
393
|
+
mlrun-1.4.0rc2.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
394
|
+
mlrun-1.4.0rc2.dist-info/RECORD,,
|