dtlpy 1.112.9__py3-none-any.whl → 1.113.10__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.
- dtlpy/__version__.py +1 -1
- dtlpy/entities/compute.py +3 -2
- dtlpy/entities/model.py +11 -3
- dtlpy/entities/paged_entities.py +9 -3
- dtlpy/ml/base_model_adapter.py +0 -2
- dtlpy/repositories/computes.py +12 -3
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/METADATA +1 -1
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/RECORD +15 -15
- {dtlpy-1.112.9.data → dtlpy-1.113.10.data}/scripts/dlp +0 -0
- {dtlpy-1.112.9.data → dtlpy-1.113.10.data}/scripts/dlp.bat +0 -0
- {dtlpy-1.112.9.data → dtlpy-1.113.10.data}/scripts/dlp.py +0 -0
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/LICENSE +0 -0
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/WHEEL +0 -0
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/entry_points.txt +0 -0
- {dtlpy-1.112.9.dist-info → dtlpy-1.113.10.dist-info}/top_level.txt +0 -0
dtlpy/__version__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.113.10'
|
dtlpy/entities/compute.py
CHANGED
|
@@ -12,6 +12,7 @@ class ClusterProvider(str, Enum):
|
|
|
12
12
|
HPC = 'hpc'
|
|
13
13
|
LOCAL = 'local'
|
|
14
14
|
RANCHER_K3S = 'rancher-k3s'
|
|
15
|
+
RANCHER_RKE = 'rancher-rke'
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class ComputeType(str, Enum):
|
|
@@ -327,8 +328,8 @@ class Compute:
|
|
|
327
328
|
self._computes = repositories.Computes(client_api=self._client_api)
|
|
328
329
|
return self._computes
|
|
329
330
|
|
|
330
|
-
def delete(self):
|
|
331
|
-
return self.computes.delete(compute_id=self.id)
|
|
331
|
+
def delete(self, skip_destroy: bool = False):
|
|
332
|
+
return self.computes.delete(compute_id=self.id, skip_destroy=skip_destroy)
|
|
332
333
|
|
|
333
334
|
def update(self):
|
|
334
335
|
return self.computes.update(compute=self)
|
dtlpy/entities/model.py
CHANGED
|
@@ -101,6 +101,7 @@ class Model(entities.BaseEntity):
|
|
|
101
101
|
scope = attr.ib()
|
|
102
102
|
version = attr.ib()
|
|
103
103
|
context = attr.ib()
|
|
104
|
+
status_logs = attr.ib()
|
|
104
105
|
|
|
105
106
|
# name change
|
|
106
107
|
package_id = attr.ib(repr=False)
|
|
@@ -199,7 +200,8 @@ class Model(entities.BaseEntity):
|
|
|
199
200
|
output_type=_json.get('outputType', None),
|
|
200
201
|
module_name=_json.get('moduleName', None),
|
|
201
202
|
updated_by=_json.get('updatedBy', None),
|
|
202
|
-
app=_json.get('app', None)
|
|
203
|
+
app=_json.get('app', None),
|
|
204
|
+
status_logs=_json.get('statusLogs', []),
|
|
203
205
|
)
|
|
204
206
|
inst.is_fetched = is_fetched
|
|
205
207
|
return inst
|
|
@@ -229,7 +231,8 @@ class Model(entities.BaseEntity):
|
|
|
229
231
|
attr.fields(Model).input_type,
|
|
230
232
|
attr.fields(Model).output_type,
|
|
231
233
|
attr.fields(Model).updated_by,
|
|
232
|
-
attr.fields(Model).app
|
|
234
|
+
attr.fields(Model).app,
|
|
235
|
+
attr.fields(Model).status_logs
|
|
233
236
|
))
|
|
234
237
|
_json['packageId'] = self.package_id
|
|
235
238
|
_json['datasetId'] = self.dataset_id
|
|
@@ -253,6 +256,8 @@ class Model(entities.BaseEntity):
|
|
|
253
256
|
_json['updatedBy'] = self.updated_by
|
|
254
257
|
if self.app:
|
|
255
258
|
_json['app'] = self.app
|
|
259
|
+
if self.status_logs:
|
|
260
|
+
_json['statusLogs'] = self.status_logs
|
|
256
261
|
|
|
257
262
|
return _json
|
|
258
263
|
|
|
@@ -295,7 +300,10 @@ class Model(entities.BaseEntity):
|
|
|
295
300
|
def package(self):
|
|
296
301
|
if self._package is None:
|
|
297
302
|
try:
|
|
298
|
-
|
|
303
|
+
if self.app:
|
|
304
|
+
self._package = self.dpks.get_revisions(dpk_id=self.app['dpkId'], version=self.app['dpkVersion'])
|
|
305
|
+
else:
|
|
306
|
+
self._package = self.packages.get(package_id=self.package_id)
|
|
299
307
|
except Exception as e:
|
|
300
308
|
error = e
|
|
301
309
|
try:
|
dtlpy/entities/paged_entities.py
CHANGED
|
@@ -141,8 +141,14 @@ class PagedEntities:
|
|
|
141
141
|
FiltersResource.FEATURE,
|
|
142
142
|
]
|
|
143
143
|
|
|
144
|
+
prepared= req.prepare()
|
|
145
|
+
sort_spec= prepared.get("sort", {})
|
|
146
|
+
sort_dir= next(iter(sort_spec.values()), None)
|
|
147
|
+
order= sort_dir or FiltersOrderByDirection.ASCENDING
|
|
148
|
+
operator_value = (FiltersOperations.LESS_THAN if sort_dir == FiltersOrderByDirection.DESCENDING else FiltersOperations.GREATER_THAN)
|
|
149
|
+
|
|
144
150
|
if enable_hybrid and not self._has_explicit_sort(req):
|
|
145
|
-
req.sort_by(field="id", value=
|
|
151
|
+
req.sort_by(field="id", value=order)
|
|
146
152
|
|
|
147
153
|
if enable_hybrid and self.use_id_based_paging:
|
|
148
154
|
req.page = 0
|
|
@@ -150,7 +156,7 @@ class PagedEntities:
|
|
|
150
156
|
req.add(
|
|
151
157
|
field="id",
|
|
152
158
|
values=self.last_seen_id,
|
|
153
|
-
operator=
|
|
159
|
+
operator=operator_value,
|
|
154
160
|
method=FiltersOperations.AND,
|
|
155
161
|
)
|
|
156
162
|
else:
|
|
@@ -165,7 +171,7 @@ class PagedEntities:
|
|
|
165
171
|
req.add(
|
|
166
172
|
field="id",
|
|
167
173
|
values=after_id or self.last_seen_id,
|
|
168
|
-
operator=
|
|
174
|
+
operator=operator_value,
|
|
169
175
|
method=FiltersOperations.AND,
|
|
170
176
|
)
|
|
171
177
|
self.use_id_based_paging = True
|
dtlpy/ml/base_model_adapter.py
CHANGED
|
@@ -693,8 +693,6 @@ class BaseModelAdapter(utilities.BaseServiceRunner):
|
|
|
693
693
|
if output_path is not None:
|
|
694
694
|
self.save_to_model(local_path=output_path, replace=True)
|
|
695
695
|
logger.info('Execution failed. Setting model.status to failed')
|
|
696
|
-
model.status = 'failed'
|
|
697
|
-
model.update()
|
|
698
696
|
raise
|
|
699
697
|
return model
|
|
700
698
|
|
dtlpy/repositories/computes.py
CHANGED
|
@@ -10,6 +10,7 @@ from typing import List, Optional, Dict
|
|
|
10
10
|
from ..entities import ComputeCluster, ComputeContext, ComputeType
|
|
11
11
|
from ..entities.integration import IntegrationType
|
|
12
12
|
import logging
|
|
13
|
+
from urllib.parse import urlparse, urlencode, parse_qs, urlunparse
|
|
13
14
|
|
|
14
15
|
logger = logging.getLogger(name='dtlpy')
|
|
15
16
|
|
|
@@ -209,17 +210,25 @@ class Computes:
|
|
|
209
210
|
|
|
210
211
|
return compute
|
|
211
212
|
|
|
212
|
-
def delete(self, compute_id: str
|
|
213
|
+
def delete(self, compute_id: str, skip_destroy: bool = False
|
|
214
|
+
):
|
|
213
215
|
"""
|
|
214
216
|
Delete a compute
|
|
215
217
|
|
|
216
218
|
:param compute_id: compute ID
|
|
219
|
+
:param skip_destroy: bool
|
|
217
220
|
"""
|
|
218
|
-
|
|
221
|
+
url_path = self._base_url + '/{}'.format(compute_id)
|
|
222
|
+
params_to_add = {"skipDestroy": "true" if skip_destroy else "false" }
|
|
223
|
+
parsed_url = urlparse(url_path)
|
|
224
|
+
query_dict = parse_qs(parsed_url.query)
|
|
225
|
+
query_dict.update(params_to_add)
|
|
226
|
+
new_query = urlencode(query_dict, doseq=True)
|
|
227
|
+
url_path = urlunparse(parsed_url._replace(query=new_query))
|
|
219
228
|
# request
|
|
220
229
|
success, response = self._client_api.gen_request(
|
|
221
230
|
req_type='delete',
|
|
222
|
-
path=
|
|
231
|
+
path=url_path
|
|
223
232
|
)
|
|
224
233
|
|
|
225
234
|
if not success:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
dtlpy/__init__.py,sha256=-5fpi-yAwFdluh8QZ-sWXwNDCD97Q5BCgIs7pUDl04o,20444
|
|
2
|
-
dtlpy/__version__.py,sha256=
|
|
2
|
+
dtlpy/__version__.py,sha256=AHVPkR4bml10NDAI863smQZmEgiJXZehmC3rrJ_8d9I,21
|
|
3
3
|
dtlpy/exceptions.py,sha256=EQCKs3pwhwZhgMByQN3D3LpWpdxwcKPEEt-bIaDwURM,2871
|
|
4
4
|
dtlpy/new_instance.py,sha256=tUCzBGaSpm9GTjRuwOkFgo3A8vopUQ-baltdJss3XlI,9964
|
|
5
5
|
dtlpy/assets/__init__.py,sha256=D_hAa6NM8Zoy32sF_9b7m0b7I-BQEyBFg8-9Tg2WOeo,976
|
|
@@ -56,7 +56,7 @@ dtlpy/entities/bot.py,sha256=is3NUCnPg56HSjsHIvFcVkymValMqDV0uHRDC1Ib-ds,3819
|
|
|
56
56
|
dtlpy/entities/codebase.py,sha256=pwRkAq2GV0wvmzshg89IAmE-0I2Wsy_-QNOu8OV8uqc,8999
|
|
57
57
|
dtlpy/entities/collection.py,sha256=FPPPfIxOsBG1ujORPJVq8uXyF8vhIqC6N4EiI9SJzl0,1160
|
|
58
58
|
dtlpy/entities/command.py,sha256=5RMQYjOGLRF8JZd7QFAPyE8utsp4eZzLApI2dEAbaqo,5301
|
|
59
|
-
dtlpy/entities/compute.py,sha256=
|
|
59
|
+
dtlpy/entities/compute.py,sha256=OdlCagVR-rh5IeHsUq1EtBq001_kFMwInCJdZNHh8G0,14584
|
|
60
60
|
dtlpy/entities/dataset.py,sha256=GEvBOly1M8uU--apQZ-G-78DJZzFk178LmMhEANyi0A,53838
|
|
61
61
|
dtlpy/entities/directory_tree.py,sha256=Rni6pLSWytR6yeUPgEdCCRfTg_cqLOdUc9uCqz9KT-Q,1186
|
|
62
62
|
dtlpy/entities/dpk.py,sha256=XrK8X8p4Ag6LMjDrDpMstY-h_yTll_sMmKTZT6bLbWE,17923
|
|
@@ -71,7 +71,7 @@ dtlpy/entities/item.py,sha256=WCIPHUmubIe0wva-YMm-LPQdn2S3_-Q151x49C9NEw8,34591
|
|
|
71
71
|
dtlpy/entities/label.py,sha256=ycDYavIgKhz806plIX-64c07_TeHpDa-V7LnfFVe4Rg,3869
|
|
72
72
|
dtlpy/entities/links.py,sha256=FAmEwHtsrqKet3c0UHH9u_gHgG6_OwF1-rl4xK7guME,2516
|
|
73
73
|
dtlpy/entities/message.py,sha256=ApJuaKEqxATpXjNYUjGdYPu3ibQzEMo8-LtJ_4xAcPI,5865
|
|
74
|
-
dtlpy/entities/model.py,sha256=
|
|
74
|
+
dtlpy/entities/model.py,sha256=j7mLY38Tl2jTLfdHFOqcctb655u7drWkGc8l2CWtbyE,27321
|
|
75
75
|
dtlpy/entities/node.py,sha256=RiCqG659Pb1PZNMewR-F7eNbU5tt713fiZY9xW6-Pes,39199
|
|
76
76
|
dtlpy/entities/ontology.py,sha256=924g9c2ZTfr69fWd_ejrVU0C-MAUR8UAhhz6GY-IQME,32100
|
|
77
77
|
dtlpy/entities/organization.py,sha256=Zm-tTHV82PvYyTNetRRXqvmvzBCbXEwS-gAENf7Zny4,9874
|
|
@@ -80,7 +80,7 @@ dtlpy/entities/package_defaults.py,sha256=wTD7Z7rGYjVy8AcUxTFEnkOkviiJaLVZYvduiU
|
|
|
80
80
|
dtlpy/entities/package_function.py,sha256=M42Kvw9A8b6msAkv-wRNAQg_-UC2bejniCjeKDugudc,6314
|
|
81
81
|
dtlpy/entities/package_module.py,sha256=cOkIITATkzzCQpE0sdPiBUisAz8ImlPG2YGZ0K7SypA,5151
|
|
82
82
|
dtlpy/entities/package_slot.py,sha256=XBwCodQe618sQm0bmx46Npo94mEk-zUV7ZX0mDRcsD8,3946
|
|
83
|
-
dtlpy/entities/paged_entities.py,sha256=
|
|
83
|
+
dtlpy/entities/paged_entities.py,sha256=AZNHyN5dhaZvtiYCkZsKZfJkmYHonWDBvM560zuC-TE,8419
|
|
84
84
|
dtlpy/entities/pipeline.py,sha256=JtWGoCUhVszOVkBNK43fbTt446fkND4wH-Y-fN_llww,20851
|
|
85
85
|
dtlpy/entities/pipeline_execution.py,sha256=EQhW4W_G1bIPShYbJSAT--1WNQuvxVQbcQ_MCHIX0KI,9938
|
|
86
86
|
dtlpy/entities/project.py,sha256=ZUx8zA3mr6N145M62R3UDPCCzO1vxfyWO6vjES-bO-g,14653
|
|
@@ -149,7 +149,7 @@ dtlpy/miscellaneous/list_print.py,sha256=fBGTMXFUwDG8DD4W6HyR8BTGtbTckLf4W09quNR
|
|
|
149
149
|
dtlpy/miscellaneous/zipping.py,sha256=JplTc8UDFvO8WaD5vKuumVLN0lU_-GtHoE0doWKtmKg,5383
|
|
150
150
|
dtlpy/ml/__init__.py,sha256=vPkyXpc9kcWWZ_PxyPEOsjKBJdEbowLkZr8FZIb_OBM,799
|
|
151
151
|
dtlpy/ml/base_feature_extractor_adapter.py,sha256=iiEGYAx0Rdn4K46H_FlKrAv3ebTXHSxNVAmio0BxhaI,1178
|
|
152
|
-
dtlpy/ml/base_model_adapter.py,sha256=
|
|
152
|
+
dtlpy/ml/base_model_adapter.py,sha256=Sdrg68BLwHocvk74QUYatUgA6iv8Xhql8muX2PoF2z8,51153
|
|
153
153
|
dtlpy/ml/metrics.py,sha256=BG2E-1Mvjv2e2No9mIJKVmvzqBvLqytKcw3hA7wVUNc,20037
|
|
154
154
|
dtlpy/ml/predictions_utils.py,sha256=He_84U14oS2Ss7T_-Zj5GDiBZwS-GjMPURUh7u7DjF8,12484
|
|
155
155
|
dtlpy/ml/summary_writer.py,sha256=dehDi8zmGC1sAGyy_3cpSWGXoGQSiQd7bL_Thoo8yIs,2784
|
|
@@ -165,7 +165,7 @@ dtlpy/repositories/codebases.py,sha256=pvcZxdrq0-zWysVbdXjUOhnfcF6hJD8v5VclNZ-zh
|
|
|
165
165
|
dtlpy/repositories/collections.py,sha256=z-nkR33rq-MzkEff7DDSBlfsI_lkCDFwQZIlMaIT5rM,13514
|
|
166
166
|
dtlpy/repositories/commands.py,sha256=MgXhXxbAzBa2QJM9Z5EsQZRaZ4fGBM17ALoldxi8xYA,5848
|
|
167
167
|
dtlpy/repositories/compositions.py,sha256=H417BvlQAiWr5NH2eANFke6CfEO5o7DSvapYpf7v5Hk,2150
|
|
168
|
-
dtlpy/repositories/computes.py,sha256=
|
|
168
|
+
dtlpy/repositories/computes.py,sha256=Q4maajELX1p2yyCSsflyZC2eVz7JBHgLsdcldnbG3JM,15125
|
|
169
169
|
dtlpy/repositories/datasets.py,sha256=p0HBbTGrxAQ8h9tJsp1jRasPbwnMAtXQ4_sIef9_590,59358
|
|
170
170
|
dtlpy/repositories/downloader.py,sha256=X5-vspCoTW7_QZuPdaZgOSTvM7jYU0Uf7o5PELZNY9g,45329
|
|
171
171
|
dtlpy/repositories/dpks.py,sha256=dxZpGloZGH6MJG9ZFff5l3GlXw6i-52n9kxL-QiHosQ,18516
|
|
@@ -226,9 +226,9 @@ dtlpy/utilities/reports/report.py,sha256=3nEsNnIWmdPEsd21nN8vMMgaZVcPKn9iawKTTeO
|
|
|
226
226
|
dtlpy/utilities/videos/__init__.py,sha256=SV3w51vfPuGBxaMeNemx6qEMHw_C4lLpWNGXMvdsKSY,734
|
|
227
227
|
dtlpy/utilities/videos/video_player.py,sha256=LCxg0EZ_DeuwcT7U_r7MRC6Q19s0xdFb7x5Gk39PRms,24072
|
|
228
228
|
dtlpy/utilities/videos/videos.py,sha256=Dj916B4TQRIhI7HZVevl3foFrCsPp0eeWwvGbgX3-_A,21875
|
|
229
|
-
dtlpy-1.
|
|
230
|
-
dtlpy-1.
|
|
231
|
-
dtlpy-1.
|
|
229
|
+
dtlpy-1.113.10.data/scripts/dlp,sha256=-F0vSCWuSOOtgERAtsPMPyMmzitjhB7Yeftg_PDlDjw,10
|
|
230
|
+
dtlpy-1.113.10.data/scripts/dlp.bat,sha256=QOvx8Dlx5dUbCTMpwbhOcAIXL1IWmgVRSboQqDhIn3A,37
|
|
231
|
+
dtlpy-1.113.10.data/scripts/dlp.py,sha256=ZpfJvYE1_OTSorEYBphqTOutnHSb5TqOXh0y_mUCTJs,4393
|
|
232
232
|
tests/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
233
233
|
tests/assets/models_flow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
234
234
|
tests/assets/models_flow/failedmain.py,sha256=n8F4eu_u7JPrJ1zedbJPvv9e3lHb3ihoErqrBIcseEc,1847
|
|
@@ -236,9 +236,9 @@ tests/assets/models_flow/main.py,sha256=vnDKyVZaae2RFpvwS22Hzi6Dt2LJerH4yQrmKtaT
|
|
|
236
236
|
tests/assets/models_flow/main_model.py,sha256=Hl_tv7Q6KaRL3yLkpUoLMRqu5-ab1QsUYPL6RPEoamw,2042
|
|
237
237
|
tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
238
238
|
tests/features/environment.py,sha256=ZZNSN8TObnNMkX0IQhSolAs_9I_V9hHFL_IZjG0jrGU,18909
|
|
239
|
-
dtlpy-1.
|
|
240
|
-
dtlpy-1.
|
|
241
|
-
dtlpy-1.
|
|
242
|
-
dtlpy-1.
|
|
243
|
-
dtlpy-1.
|
|
244
|
-
dtlpy-1.
|
|
239
|
+
dtlpy-1.113.10.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
240
|
+
dtlpy-1.113.10.dist-info/METADATA,sha256=vyFPyK_u6Jdx3Fj5scfdLqseFuoQiqFAPk_WXSnYcl8,5470
|
|
241
|
+
dtlpy-1.113.10.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
242
|
+
dtlpy-1.113.10.dist-info/entry_points.txt,sha256=C4PyKthCs_no88HU39eioO68oei64STYXC2ooGZTc4Y,43
|
|
243
|
+
dtlpy-1.113.10.dist-info/top_level.txt,sha256=ZWuLmQGUOtWAdgTf4Fbx884w1o0vBYq9dEc1zLv9Mig,12
|
|
244
|
+
dtlpy-1.113.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|