layernext-beta 2.0.0b2__tar.gz → 2.0.0b4__tar.gz
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.
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/PKG-INFO +1 -1
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/__init__.py +1 -1
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/__init__.py +89 -59
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/PKG-INFO +1 -1
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/requires.txt +2 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/setup.py +1 -1
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/LICENSE +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/README.md +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/automatic_analysis/__init__.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/automatic_analysis/automatic_analysis_interface.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/automatic_analysis/status_check_inference_collection.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/automatic_analysis/status_check_inference_population.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/automatic_analysis/support.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/annotation.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/aws_s3_client.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/azure_client.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/constants.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/datalakeinterface.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/dataset.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/file_trash.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/file_upload.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/gcs_client.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/ground_truth.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/keys.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/label.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/logger.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/metadata.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/model_run.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/query.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/storage_client.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/storage_interface.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/datalake/storage_upload.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/dataset/__init__.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/dataset/dataset.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/dataset/datasetinterface.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/dataset/logger.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/dataset/sync.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/studio/__init__.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/studio/logger.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/studio/project.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext/studio/studiointerface.py +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/SOURCES.txt +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/dependency_links.txt +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/top_level.txt +0 -0
- {layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/setup.cfg +0 -0
|
@@ -27,7 +27,8 @@ class DatalakeClient:
|
|
|
27
27
|
_datalake_url = f'{layernext_url}/datalake'
|
|
28
28
|
# _datalake_url = f'{layernext_url}:3000'
|
|
29
29
|
# _datalake_url = f'{layernext_url}'
|
|
30
|
-
self.datalake_interface = DatalakeInterface(
|
|
30
|
+
self.datalake_interface = DatalakeInterface(
|
|
31
|
+
encoded_key_secret, _datalake_url)
|
|
31
32
|
|
|
32
33
|
def check_sdk_version_compatibility(self, sdk_version: str):
|
|
33
34
|
"""
|
|
@@ -37,10 +38,11 @@ class DatalakeClient:
|
|
|
37
38
|
if re.compile(r'^(\d+\.)+\d+$').match(sdk_version) is None:
|
|
38
39
|
raise Exception('sdk_version is invalid format')
|
|
39
40
|
|
|
40
|
-
if sdk_version is None or sdk_version == ''
|
|
41
|
+
if sdk_version is None or sdk_version == '':
|
|
41
42
|
raise Exception('sdk_version is None')
|
|
42
|
-
|
|
43
|
-
res = self.datalake_interface.check_sdk_version_compatibility(
|
|
43
|
+
|
|
44
|
+
res = self.datalake_interface.check_sdk_version_compatibility(
|
|
45
|
+
sdk_version)
|
|
44
46
|
|
|
45
47
|
if res["isCompatible"] == False:
|
|
46
48
|
raise Exception(res["message"])
|
|
@@ -70,15 +72,20 @@ class DatalakeClient:
|
|
|
70
72
|
f'annotation_geometry={annotation_geometry}')
|
|
71
73
|
_model = ModelRun(client=self)
|
|
72
74
|
if annotation_geometry == BOX_ANNOTATION:
|
|
73
|
-
_model.upload_modelrun_json(unique_id, model_id, file_path, BOX_ANNOTATION,
|
|
75
|
+
_model.upload_modelrun_json(unique_id, model_id, file_path, BOX_ANNOTATION,
|
|
76
|
+
is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
74
77
|
elif annotation_geometry == POLYGON_ANNOTATION:
|
|
75
|
-
_model.upload_modelrun_json(unique_id, model_id, file_path, POLYGON_ANNOTATION,
|
|
78
|
+
_model.upload_modelrun_json(unique_id, model_id, file_path, POLYGON_ANNOTATION,
|
|
79
|
+
is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
76
80
|
elif annotation_geometry == LINE_ANNOTATION:
|
|
77
|
-
_model.upload_modelrun_json(unique_id, model_id, file_path, LINE_ANNOTATION,
|
|
81
|
+
_model.upload_modelrun_json(unique_id, model_id, file_path, LINE_ANNOTATION,
|
|
82
|
+
is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
78
83
|
elif annotation_geometry is None:
|
|
79
|
-
_model.upload_modelrun_json(unique_id, model_id, file_path, None,
|
|
84
|
+
_model.upload_modelrun_json(unique_id, model_id, file_path, None,
|
|
85
|
+
is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
80
86
|
else:
|
|
81
|
-
datalake_logger.debug(
|
|
87
|
+
datalake_logger.debug(
|
|
88
|
+
f'unsupported annotation_geometry={annotation_geometry}')
|
|
82
89
|
|
|
83
90
|
def upload_groundtruth_from_json(
|
|
84
91
|
self,
|
|
@@ -96,19 +103,25 @@ class DatalakeClient:
|
|
|
96
103
|
f'annotation_geometry={annotation_geometry}')
|
|
97
104
|
_groundTruth = GroundTruth(client=self)
|
|
98
105
|
if annotation_geometry == BOX_ANNOTATION:
|
|
99
|
-
_groundTruth.upload_groundtruth_json(
|
|
106
|
+
_groundTruth.upload_groundtruth_json(
|
|
107
|
+
unique_id, operation_id, file_path, BOX_ANNOTATION, is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
100
108
|
elif annotation_geometry == POLYGON_ANNOTATION:
|
|
101
|
-
_groundTruth.upload_groundtruth_json(
|
|
109
|
+
_groundTruth.upload_groundtruth_json(
|
|
110
|
+
unique_id, operation_id, file_path, POLYGON_ANNOTATION, is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
102
111
|
elif annotation_geometry == LINE_ANNOTATION:
|
|
103
|
-
_groundTruth.upload_groundtruth_json(
|
|
112
|
+
_groundTruth.upload_groundtruth_json(
|
|
113
|
+
unique_id, operation_id, file_path, LINE_ANNOTATION, is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
104
114
|
elif annotation_geometry is None:
|
|
105
|
-
_groundTruth.upload_groundtruth_json(
|
|
115
|
+
_groundTruth.upload_groundtruth_json(
|
|
116
|
+
unique_id, operation_id, file_path, None, is_normalized, dest_project_id, version, bucket_name, upload_type)
|
|
106
117
|
else:
|
|
107
|
-
datalake_logger.debug(
|
|
118
|
+
datalake_logger.debug(
|
|
119
|
+
f'unsupported annotation_geometry={annotation_geometry}')
|
|
108
120
|
|
|
109
121
|
def file_upload(self, path: str, collection_type, collection_name, meta_data_object, application_code, meta_data_override, storage_prefix_path):
|
|
110
122
|
_upload = FileUpload(client=self, application_code=application_code)
|
|
111
|
-
upload_res = _upload.file_upload_initiate(
|
|
123
|
+
upload_res = _upload.file_upload_initiate(
|
|
124
|
+
path, collection_type, collection_name, meta_data_object, meta_data_override, storage_prefix_path)
|
|
112
125
|
return upload_res
|
|
113
126
|
|
|
114
127
|
def get_upload_status(self, collection_name):
|
|
@@ -116,40 +129,43 @@ class DatalakeClient:
|
|
|
116
129
|
return _upload.get_upload_status(collection_name)
|
|
117
130
|
|
|
118
131
|
def remove_collection_annotations(self, collection_id: str, model_run_id: str):
|
|
119
|
-
print(
|
|
132
|
+
print(
|
|
133
|
+
f'annotation delete of collection ={collection_id}', f'model id={model_run_id}')
|
|
120
134
|
_model = Annotation(client=self)
|
|
121
135
|
_model.remove_collection_annotations(collection_id, model_run_id)
|
|
122
136
|
|
|
123
|
-
|
|
124
137
|
"""
|
|
125
138
|
get selection id for query, collection id, filter data
|
|
126
139
|
"""
|
|
140
|
+
|
|
127
141
|
def get_selection_id(self, collection_id, query, filter, object_type, object_list, is_all_selected=True):
|
|
128
142
|
_query = Query(client=self)
|
|
129
|
-
response = _query.get_selection_id(
|
|
143
|
+
response = _query.get_selection_id(
|
|
144
|
+
collection_id, query, filter, object_type, object_list, is_all_selected)
|
|
130
145
|
return response
|
|
131
146
|
|
|
132
|
-
|
|
133
147
|
def get_object_type_by_id(self, object_id):
|
|
134
148
|
response = self.datalake_interface.get_object_type_by_id(object_id)
|
|
135
149
|
return response
|
|
136
150
|
|
|
137
|
-
def get_system_labels(self, group_id
|
|
151
|
+
def get_system_labels(self, group_id=None):
|
|
138
152
|
response = self.datalake_interface.get_all_label_list(group_id)
|
|
139
153
|
return response
|
|
140
154
|
|
|
141
155
|
def attach_labels_to_group(self, group_id, label_keys):
|
|
142
156
|
if group_id == '' or len(label_keys) == 0:
|
|
143
157
|
print('Label group id or label list is empty')
|
|
144
|
-
return {
|
|
145
|
-
response = self.datalake_interface.add_labels_to_group(
|
|
158
|
+
return {"is_success": False}
|
|
159
|
+
response = self.datalake_interface.add_labels_to_group(
|
|
160
|
+
group_id, label_keys)
|
|
146
161
|
return response
|
|
147
162
|
|
|
148
163
|
def detach_labels_from_group(self, group_id, label_keys):
|
|
149
164
|
if group_id == '' or len(label_keys) == 0:
|
|
150
165
|
print('Label group id or label list is empty')
|
|
151
|
-
return {
|
|
152
|
-
response = self.datalake_interface.remove_labels_from_group(
|
|
166
|
+
return {"is_success": False}
|
|
167
|
+
response = self.datalake_interface.remove_labels_from_group(
|
|
168
|
+
group_id, label_keys)
|
|
153
169
|
return response
|
|
154
170
|
|
|
155
171
|
def get_all_label_groups(self):
|
|
@@ -161,16 +177,16 @@ class DatalakeClient:
|
|
|
161
177
|
response = self.datalake_interface.create_system_label(_label_dict)
|
|
162
178
|
if response is not None:
|
|
163
179
|
response = {
|
|
164
|
-
"label_reference"
|
|
180
|
+
"label_reference": response["label"]
|
|
165
181
|
}
|
|
166
182
|
return response
|
|
167
183
|
|
|
168
|
-
|
|
169
184
|
def create_label_group(self, group_name, label_keys):
|
|
170
185
|
if group_name == '' or len(label_keys) == 0:
|
|
171
186
|
print('Label group name or label list is empty')
|
|
172
187
|
return None
|
|
173
|
-
response = self.datalake_interface.create_label_group(
|
|
188
|
+
response = self.datalake_interface.create_label_group(
|
|
189
|
+
group_name, label_keys)
|
|
174
190
|
return response
|
|
175
191
|
|
|
176
192
|
def wait_for_job_complete(self, job_id):
|
|
@@ -182,18 +198,18 @@ class DatalakeClient:
|
|
|
182
198
|
if job_detils["isSuccess"]:
|
|
183
199
|
job_status = job_detils["status"]
|
|
184
200
|
job_progress = job_detils["progress"]
|
|
185
|
-
print(f'Job progress: {job_progress}')
|
|
201
|
+
print(f'Job progress: {round(job_progress,2)}%')
|
|
186
202
|
if job_status == JobStatus.COMPLETED.value:
|
|
187
203
|
res = {
|
|
188
|
-
"is_success"
|
|
189
|
-
"job_status"
|
|
204
|
+
"is_success": True,
|
|
205
|
+
"job_status": "COMPLETED"
|
|
190
206
|
}
|
|
191
207
|
print(res)
|
|
192
208
|
return res
|
|
193
209
|
elif job_status == JobStatus.FAILED.value:
|
|
194
210
|
res = {
|
|
195
|
-
"is_success"
|
|
196
|
-
"job_status"
|
|
211
|
+
"is_success": True,
|
|
212
|
+
"job_status": "COMPLETED"
|
|
197
213
|
}
|
|
198
214
|
print(res)
|
|
199
215
|
return res
|
|
@@ -214,69 +230,77 @@ class DatalakeClient:
|
|
|
214
230
|
}
|
|
215
231
|
print(res)
|
|
216
232
|
return res
|
|
217
|
-
|
|
233
|
+
|
|
218
234
|
"""
|
|
219
235
|
trash selection object
|
|
220
236
|
"""
|
|
237
|
+
|
|
221
238
|
def trash_datalake_object(self, selection_id):
|
|
222
239
|
_trash = FileTrash(client=self)
|
|
223
240
|
return _trash.trash_files(selection_id)
|
|
224
241
|
|
|
225
242
|
def get_file_download_url(self, file_key):
|
|
226
243
|
return self.datalake_interface.get_file_download_url(file_key)
|
|
227
|
-
|
|
244
|
+
|
|
228
245
|
"""
|
|
229
246
|
upload metadata by using json file
|
|
230
247
|
"""
|
|
248
|
+
|
|
231
249
|
def upload_metadata_from_json(
|
|
232
250
|
self,
|
|
233
251
|
collection_id: str,
|
|
234
252
|
file_path: str,
|
|
235
253
|
):
|
|
236
254
|
_metadata = Metadata(client=self)
|
|
237
|
-
response =
|
|
255
|
+
response = _metadata.upload_metadata_json(
|
|
256
|
+
file_path, collection_id=collection_id)
|
|
238
257
|
# print(response.get("message"))
|
|
239
258
|
return response
|
|
240
|
-
|
|
259
|
+
|
|
241
260
|
"""
|
|
242
261
|
upload metadata by using json file with object keys
|
|
243
262
|
@file_path: json file path
|
|
244
263
|
"""
|
|
264
|
+
|
|
245
265
|
def upload_metadata_from_unique_name_json(self, file_path: str):
|
|
246
266
|
_metadata = Metadata(client=self)
|
|
247
|
-
response =
|
|
267
|
+
response = _metadata.upload_metadata_json(file_path)
|
|
248
268
|
# print(response.get("message"))
|
|
249
269
|
return response
|
|
250
|
-
|
|
270
|
+
|
|
251
271
|
"""
|
|
252
272
|
upload metadata by using json file with storage path
|
|
253
273
|
@file_path: json file path
|
|
254
274
|
@bucket_name: bucket name
|
|
255
275
|
"""
|
|
276
|
+
|
|
256
277
|
def upload_metadata_from_storage_path_json(self, file_path: str, bucket_name: str):
|
|
257
278
|
_metadata = Metadata(client=self)
|
|
258
279
|
if bucket_name == None or bucket_name == "":
|
|
259
280
|
bucket_name = "DEFAULT"
|
|
260
|
-
response =
|
|
281
|
+
response = _metadata.upload_metadata_json(
|
|
282
|
+
file_path, bucket_name=bucket_name)
|
|
261
283
|
# print(response.get("message"))
|
|
262
284
|
return response
|
|
263
|
-
|
|
285
|
+
|
|
264
286
|
"""
|
|
265
287
|
upload metadata by using json file with job id
|
|
266
288
|
@file_path: json file path
|
|
267
289
|
@job_id: job id
|
|
268
290
|
"""
|
|
291
|
+
|
|
269
292
|
def upload_metadata_from_job_id(self, job_id: str, file_path: str):
|
|
270
293
|
_metadata = Metadata(client=self)
|
|
271
294
|
if job_id == None or job_id == "":
|
|
272
295
|
raise Exception("job_id is empty. Please provide valid job id")
|
|
273
|
-
response =
|
|
296
|
+
response = _metadata.upload_metadata_json(file_path, job_id=job_id)
|
|
274
297
|
# print(response.get("message"))
|
|
275
298
|
return response
|
|
276
299
|
|
|
277
300
|
"""
|
|
278
301
|
upload metadata by using meta object
|
|
279
302
|
"""
|
|
303
|
+
|
|
280
304
|
def upload_metadata_from_metaObject(
|
|
281
305
|
self,
|
|
282
306
|
collection_name: str,
|
|
@@ -285,10 +309,11 @@ class DatalakeClient:
|
|
|
285
309
|
is_apply_to_all_files: bool
|
|
286
310
|
):
|
|
287
311
|
_metadata = Metadata(client=self)
|
|
288
|
-
response = _metadata.upload_metadata_object(
|
|
312
|
+
response = _metadata.upload_metadata_object(
|
|
313
|
+
collection_name, object_type, metadata_object, is_apply_to_all_files)
|
|
289
314
|
print(response.get("message"))
|
|
290
315
|
return response
|
|
291
|
-
|
|
316
|
+
|
|
292
317
|
"""
|
|
293
318
|
get item list from datalake
|
|
294
319
|
|
|
@@ -311,7 +336,8 @@ class DatalakeClient:
|
|
|
311
336
|
"contentType": item_type_enum,
|
|
312
337
|
"sortBy": sort_filter
|
|
313
338
|
}
|
|
314
|
-
item_list = self.datalake_interface.get_item_list_from_datalake(
|
|
339
|
+
item_list = self.datalake_interface.get_item_list_from_datalake(
|
|
340
|
+
payload)
|
|
315
341
|
|
|
316
342
|
return item_list
|
|
317
343
|
|
|
@@ -350,7 +376,8 @@ class DatalakeClient:
|
|
|
350
376
|
"contentType": item_type_enum,
|
|
351
377
|
"sortBy": sort_filter
|
|
352
378
|
}
|
|
353
|
-
item_list = self.datalake_interface.get_item_list_from_collection(
|
|
379
|
+
item_list = self.datalake_interface.get_item_list_from_collection(
|
|
380
|
+
payload, collection_id)
|
|
354
381
|
|
|
355
382
|
return item_list
|
|
356
383
|
|
|
@@ -359,17 +386,18 @@ class DatalakeClient:
|
|
|
359
386
|
@param unique_name: unique file name
|
|
360
387
|
@param filter: filter to get required meta data
|
|
361
388
|
"""
|
|
362
|
-
|
|
389
|
+
|
|
390
|
+
def get_item_details(self, unique_name: str, filter: dict):
|
|
363
391
|
|
|
364
392
|
if unique_name == None or unique_name == "":
|
|
365
393
|
raise Exception("unique_name is empty")
|
|
366
|
-
|
|
394
|
+
|
|
367
395
|
if filter == None:
|
|
368
396
|
filter = {}
|
|
369
397
|
|
|
370
398
|
payload = {
|
|
371
399
|
"uniqueFileName": unique_name,
|
|
372
|
-
"requiredMetaObj": filter
|
|
400
|
+
"requiredMetaObj": filter
|
|
373
401
|
}
|
|
374
402
|
|
|
375
403
|
res = self.datalake_interface.get_item_details(payload)
|
|
@@ -378,23 +406,24 @@ class DatalakeClient:
|
|
|
378
406
|
raise Exception(res["message"])
|
|
379
407
|
else:
|
|
380
408
|
return res["itemDetails"]
|
|
381
|
-
|
|
409
|
+
|
|
382
410
|
"""
|
|
383
411
|
get metadata by using filter
|
|
384
412
|
@param unique_file_name: unique file name
|
|
385
413
|
@param filter: filter to get required meta data
|
|
386
414
|
"""
|
|
387
|
-
|
|
415
|
+
|
|
416
|
+
def get_collection_details(self, collection_id: str, filter: dict):
|
|
388
417
|
|
|
389
418
|
if collection_id == None or collection_id == "":
|
|
390
419
|
raise Exception("collection_id is empty")
|
|
391
|
-
|
|
420
|
+
|
|
392
421
|
if filter == None:
|
|
393
422
|
filter = {}
|
|
394
423
|
|
|
395
424
|
payload = {
|
|
396
425
|
"collectionId": collection_id,
|
|
397
|
-
"requiredMetaObj": filter
|
|
426
|
+
"requiredMetaObj": filter
|
|
398
427
|
}
|
|
399
428
|
|
|
400
429
|
res = self.datalake_interface.get_collection_details(payload)
|
|
@@ -403,16 +432,17 @@ class DatalakeClient:
|
|
|
403
432
|
raise Exception(res["message"])
|
|
404
433
|
else:
|
|
405
434
|
return res["itemDetails"]
|
|
406
|
-
|
|
435
|
+
|
|
407
436
|
"""
|
|
408
437
|
get collection id by using collection name
|
|
409
438
|
@param collection_name: collection name
|
|
410
439
|
@param collection_type: collection type
|
|
411
440
|
"""
|
|
412
|
-
|
|
441
|
+
|
|
442
|
+
def get_collection_id_by_name(self, collection_name: str, collection_type: MediaType):
|
|
413
443
|
if collection_name == None or collection_name == "":
|
|
414
444
|
raise Exception("collection_name is empty")
|
|
415
|
-
|
|
445
|
+
|
|
416
446
|
if collection_type == None or collection_type == "":
|
|
417
447
|
raise Exception("collection_type is empty")
|
|
418
448
|
|
|
@@ -427,13 +457,14 @@ class DatalakeClient:
|
|
|
427
457
|
raise Exception(res["message"])
|
|
428
458
|
else:
|
|
429
459
|
return res["collectionId"]
|
|
430
|
-
|
|
460
|
+
|
|
431
461
|
"""
|
|
432
462
|
use to create collection head
|
|
433
463
|
@param collection_name: collection name
|
|
434
464
|
@param collection_type: collection type
|
|
435
465
|
@param custom_meta_object: custom meta object
|
|
436
466
|
"""
|
|
467
|
+
|
|
437
468
|
def create_collection_head(self, collection_name: str, collection_type: MediaType, custom_meta_object: dict):
|
|
438
469
|
payload = {
|
|
439
470
|
"collectionName": collection_name,
|
|
@@ -447,15 +478,14 @@ class DatalakeClient:
|
|
|
447
478
|
raise Exception(res["message"])
|
|
448
479
|
else:
|
|
449
480
|
return res
|
|
450
|
-
|
|
451
|
-
|
|
481
|
+
|
|
452
482
|
def insert_embeddings_batch(self, batch_data):
|
|
453
483
|
# if embedding_model_name == None or embedding_model_name == "":
|
|
454
484
|
# raise Exception("embedding_model_name is empty")
|
|
455
485
|
|
|
456
486
|
payload = {
|
|
457
487
|
"embeddingModelName": None,
|
|
458
|
-
"data": batch_data
|
|
488
|
+
"data": batch_data
|
|
459
489
|
}
|
|
460
490
|
|
|
461
491
|
res = self.datalake_interface.insert_embeddings_batch(payload)
|
|
@@ -38,7 +38,7 @@ setup(
|
|
|
38
38
|
long_description=long_description,
|
|
39
39
|
packages=find_packages(
|
|
40
40
|
include=['layernext', 'layernext.datalake', 'layernext.dataset', 'layernext.studio','layernext.automatic_analysis']),
|
|
41
|
-
install_requires=['requests', 'uuid', 'python-dotenv', 'azure-storage-blob'],
|
|
41
|
+
install_requires=['requests', 'uuid', 'python-dotenv', 'azure-storage-blob', 'tqdm', 'PyYAML'],
|
|
42
42
|
keywords=['python', 'datalake', 'datasetsync', 'ai',
|
|
43
43
|
'annotation', 'layernext', 'layernext', 'machine learning'],
|
|
44
44
|
classifiers=[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{layernext-beta-2.0.0b2 → layernext-beta-2.0.0b4}/layernext_beta.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|