supervisely 6.73.229__py3-none-any.whl → 6.73.230__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.
@@ -74,7 +74,7 @@ class TagApi(ModuleApi):
74
74
 
75
75
  :param project_id: :class:`Dataset<supervisely.project.project.Project>` ID in Supervisely.
76
76
  :type project_id: int
77
- :param filters: List of parameters to sort output tags. See: https://dev.supervise.ly/api-docs/#tag/Advanced/paths/~1tags.list/get
77
+ :param filters: List of parameters to sort output tags. See: https://api.docs.supervisely.com/#tag/Advanced/paths/~1tags.list/get
78
78
  :type filters: List[Dict[str, str]], optional
79
79
  :return: List of the tags from the project with given id.
80
80
  :rtype: list
@@ -325,6 +325,7 @@ class ImageApi(RemoveableBulkModuleApi):
325
325
  return_first_response: Optional[bool] = False,
326
326
  project_id: Optional[int] = None,
327
327
  only_labelled: Optional[bool] = False,
328
+ fields: Optional[List[str]] = None,
328
329
  ) -> List[ImageInfo]:
329
330
  """
330
331
  List of Images in the given :class:`Dataset<supervisely.project.project.Dataset>`.
@@ -347,6 +348,8 @@ class ImageApi(RemoveableBulkModuleApi):
347
348
  :type project_id: :class:`int`
348
349
  :param only_labelled: If True, returns only images with labels.
349
350
  :type only_labelled: bool, optional
351
+ :param fields: List of fields to return. If None, returns all fields.
352
+ :type fields: List[str], optional
350
353
  :return: Objects with image information from Supervisely.
351
354
  :rtype: :class:`List[ImageInfo]<ImageInfo>`
352
355
  :Usage example:
@@ -419,7 +422,8 @@ class ImageApi(RemoveableBulkModuleApi):
419
422
  },
420
423
  }
421
424
  ]
422
-
425
+ if fields is not None:
426
+ data[ApiField.FIELDS] = fields
423
427
  return self.get_list_all_pages(
424
428
  "images.list",
425
429
  data=data,
@@ -232,7 +232,7 @@ class PointcloudApi(RemoveableBulkModuleApi):
232
232
 
233
233
  :param dataset_id: :class:`Dataset<supervisely.project.project.Dataset>` ID in Supervisely.
234
234
  :type dataset_id: int
235
- :param filters: List of parameters to sort output Pointclouds. See: https://dev.supervise.ly/api-docs/#tag/Point-Clouds/paths/~1point-clouds.list/get
235
+ :param filters: List of parameters to sort output Pointclouds. See: https://api.docs.supervisely.com/#tag/Point-Clouds/paths/~1point-clouds.list/get
236
236
  :type filters: List[Dict[str, str]], optional
237
237
  :return: List of the point clouds objects from the dataset with given id.
238
238
  :rtype: :class:`List[PointcloudInfo]`
@@ -407,7 +407,7 @@ class PointcloudApi(RemoveableBulkModuleApi):
407
407
  # 'hash': 'vxA+emfDNUkFP9P6oitMB5Q0rMlnskmV2jvcf47OjGU=',
408
408
  # 'link': None,
409
409
  # 'preview': '/previews/q/ext:jpeg/resize:fill:50:0:0/q:50/plain/h5ad-public/images/original/S/j/hJ/PwMg.png',
410
- # 'fullStorageUrl': 'https://dev.supervise.ly/hs4-public/images/original/S/j/hJ/PwMg.png',
410
+ # 'fullStorageUrl': 'https://app.supervisely.com/hs4-public/images/original/S/j/hJ/PwMg.png',
411
411
  # 'name': 'img00'
412
412
  # }
413
413
  """
@@ -339,16 +339,19 @@ class VideoApi(RemoveableBulkModuleApi):
339
339
  dataset_id: int,
340
340
  filters: Optional[List[Dict[str, str]]] = None,
341
341
  raw_video_meta: Optional[bool] = False,
342
+ fields: Optional[List[str]] = None,
342
343
  ) -> List[VideoInfo]:
343
344
  """
344
345
  Get list of information about all videos for a given dataset ID.
345
346
 
346
347
  :param dataset_id: :class:`Dataset<supervisely.project.project.Dataset>` ID in Supervisely.
347
348
  :type dataset_id: int
348
- :param filters: List of parameters to sort output Videos. See: https://dev.supervise.ly/api-docs/#tag/Videos/paths/~1videos.list/get
349
+ :param filters: List of parameters to sort output Videos. See: https://api.docs.supervisely.com/#tag/Videos/paths/~1videos.list/get
349
350
  :type filters: List[Dict[str, str]], optional
350
351
  :param raw_video_meta: Get normalized metadata from server if False.
351
352
  :type raw_video_meta: bool
353
+ :param fields: List of fields to return.
354
+ :type fields: List[str], optional
352
355
  :return: List of information about videos in given dataset.
353
356
  :rtype: :class:`List[VideoInfo]`
354
357
 
@@ -372,15 +375,14 @@ class VideoApi(RemoveableBulkModuleApi):
372
375
  print(filtered_video_infos)
373
376
  # Output: [VideoInfo(id=19371139, ...)]
374
377
  """
375
-
376
- return self.get_list_all_pages(
377
- "videos.list",
378
- {
379
- ApiField.DATASET_ID: dataset_id,
380
- ApiField.FILTER: filters or [],
381
- ApiField.RAW_VIDEO_META: raw_video_meta,
382
- },
383
- )
378
+ data = {
379
+ ApiField.DATASET_ID: dataset_id,
380
+ ApiField.FILTER: filters or [],
381
+ ApiField.RAW_VIDEO_META: raw_video_meta,
382
+ }
383
+ if fields is not None:
384
+ data[ApiField.FIELDS] = fields
385
+ return self.get_list_all_pages("videos.list", data)
384
386
 
385
387
  def get_list_generator(
386
388
  self,
@@ -65,7 +65,7 @@ class VolumeInfo(NamedTuple):
65
65
  'rescaleIntercept': 0
66
66
  },
67
67
  path_original='/h5af-public/images/original/M/e/7R/vsytec8zX0p.nrrd',
68
- full_storage_url='https://dev.supervise.ly/h5un-public/images/original/M/e/7R/zX0p.nrrd',
68
+ full_storage_url='https://app.supervisely.com/h5un-public/images/original/M/e/7R/zX0p.nrrd',
69
69
  tags=[],
70
70
  team_id=435,
71
71
  workspace_id=685,
@@ -260,7 +260,7 @@ class VolumeApi(RemoveableBulkModuleApi):
260
260
 
261
261
  :param dataset_id: :class:`Dataset<supervisely.project.project.Dataset>` ID in Supervisely.
262
262
  :type dataset_id: int
263
- :param filters: List of parameters to sort output Volumes. See: https://dev.supervise.ly/api-docs/#tag/Volumes/paths/~1volumes.list/get
263
+ :param filters: List of parameters to sort output Volumes. See: https://api.docs.supervisely.com/#tag/Volumes/paths/~1volumes.list/get
264
264
  :type filters: List[Dict[str, str]], optional
265
265
  :param sort: Attribute to sort the list by. The default is "id". Valid values are "id", "name", "description", "createdAt", "updatedAt".
266
266
  :type sort: :class:`str`
@@ -349,7 +349,7 @@ class VolumeApi(RemoveableBulkModuleApi):
349
349
  # 'rescaleIntercept': 0
350
350
  # },
351
351
  # path_original='/h5af-public/images/original/M/e/7R/vs0p.nrrd',
352
- # full_storage_url='https://dev.supervise.ly/.../original/M/e/7R/zX0p.nrrd',
352
+ # full_storage_url='https://app.supervisely.com/.../original/M/e/7R/zX0p.nrrd',
353
353
  # tags=[],
354
354
  # team_id=435,
355
355
  # workspace_id=685,
@@ -435,7 +435,7 @@ class VolumeApi(RemoveableBulkModuleApi):
435
435
  # 'rescaleIntercept': 0
436
436
  # },
437
437
  # path_original='/h5af-public/images/original/M/e/7R/zfsfX0p.nrrd',
438
- # full_storage_url='https://dev.supervise.ly/h5un-public/images/original/M/e/7R/zXdd0p.nrrd',
438
+ # full_storage_url='https://app.supervisely.com/h5un-public/images/original/M/e/7R/zXdd0p.nrrd',
439
439
  # tags=[],
440
440
  # team_id=435,
441
441
  # workspace_id=685,
@@ -762,7 +762,7 @@ def _init(
762
762
  await StateJson.from_request(request)
763
763
 
764
764
  if not ("application/json" not in request.headers.get("Content-Type", "")):
765
- # {'command': 'inference_batch_ids', 'context': {}, 'state': {'dataset_id': 49711, 'batch_ids': [3120204], 'settings': None}, 'user_api_key': 'XXX', 'api_token': 'XXX', 'instance_type': None, 'server_address': 'https://dev.supervise.ly'}
765
+ # {'command': 'inference_batch_ids', 'context': {}, 'state': {'dataset_id': 49711, 'batch_ids': [3120204], 'settings': None}, 'user_api_key': 'XXX', 'api_token': 'XXX', 'instance_type': None, 'server_address': 'https://app.supervisely.com'}
766
766
  content = await request.json()
767
767
 
768
768
  request.state.context = content.get("context")
@@ -14,4 +14,4 @@
14
14
  # }
15
15
 
16
16
  # context_root: Download as, Run App (default), Report
17
- # [![Views](https://dev.supervise.ly/public/api/v3/ecosystem.counters?repo=supervisely-ecosystem/roads-test&counter=views&label=custom)](https://supervise.ly)
17
+ # [![Views](https://app.supervisely.com/public/api/v3/ecosystem.counters?repo=supervisely-ecosystem/roads-test&counter=views&label=custom)](https://supervisely.com)
@@ -1386,3 +1386,17 @@ def get_labeling_tool_link(url: str, name: Optional[str] = "open in labeling too
1386
1386
  :rtype: str
1387
1387
  """
1388
1388
  return f'<a href="{url}" rel="noopener noreferrer" target="_blank">{name}<i class="zmdi zmdi-open-in-new" style="margin-left: 5px"></i></a>'
1389
+
1390
+
1391
+ def get_size_from_bytes(data: bytes) -> Tuple[int, int]:
1392
+ """
1393
+ Get size of image from bytes.
1394
+
1395
+ :param data: Bytes of image.
1396
+ :type data: bytes
1397
+ :return: Height and width of image
1398
+ :rtype: :class:`Tuple[int, int]`
1399
+ """
1400
+ image = PILImage.open(io.BytesIO(data))
1401
+ width, height = image.size
1402
+ return width, height
@@ -233,7 +233,7 @@ def get_labeling_tool_url(dataset_id: int, pointcloud_id: int):
233
233
 
234
234
  print(url)
235
235
  # Output:
236
- # https://dev.supervise.ly/app/point-clouds/?datasetId=55875&pointCloudId=19373403
236
+ # https://app.supervisely.com/app/point-clouds/?datasetId=55875&pointCloudId=19373403
237
237
  """
238
238
 
239
239
  res = f"/app/point-clouds/?datasetId={dataset_id}&pointCloudId={pointcloud_id}"
@@ -280,7 +280,7 @@ def get_labeling_tool_link(url, name="open in labeling tool"):
280
280
  print(link)
281
281
  # Output:
282
282
  # <a
283
- # href="https://dev.supervise.ly/app/point-clouds/?datasetId=55875&pointCloudId=19373403"
283
+ # href="https://app.supervisely.com/app/point-clouds/?datasetId=55875&pointCloudId=19373403"
284
284
  # rel="noopener noreferrer"
285
285
  # target="_blank"
286
286
  # >
@@ -37,7 +37,7 @@ def get_labeling_tool_url(dataset_id, pointcloud_id):
37
37
 
38
38
  print(url)
39
39
  # Output:
40
- # https://dev.supervise.ly/app/point-clouds-tracking/?datasetId=55875&pointCloudId=19373403
40
+ # https://app.supervisely.com/app/point-clouds-tracking/?datasetId=55875&pointCloudId=19373403
41
41
  """
42
42
 
43
43
  res = f"/app/point-clouds-tracking/?datasetId={dataset_id}&pointCloudId={pointcloud_id}"
@@ -72,7 +72,7 @@ def get_labeling_tool_link(url, name="open in labeling tool"):
72
72
  api = sly.Api.from_env()
73
73
 
74
74
  # Pass values into the API constructor (optional, not recommended)
75
- # api = sly.Api(server_address="https://app.supervise.ly", token="4r47N...xaTatb")
75
+ # api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
76
76
 
77
77
  pointcloud_id = 19373403
78
78
  pcd_info = api.pointcloud.get_info_by_id(pointcloud_id)
@@ -84,7 +84,7 @@ def get_labeling_tool_link(url, name="open in labeling tool"):
84
84
  print(link)
85
85
  # Output:
86
86
  # <a
87
- # href="https://dev.supervise.ly/app/point-clouds/?datasetId=55875&pointCloudId=19373403"
87
+ # href="https://app.supervisely.com/app/point-clouds/?datasetId=55875&pointCloudId=19373403"
88
88
  # rel="noopener noreferrer"
89
89
  # target="_blank"
90
90
  # >
@@ -4418,7 +4418,12 @@ async def _download_project_async(
4418
4418
  else:
4419
4419
  dataset_fs = project_fs.create_dataset(dataset.name, dataset_path)
4420
4420
 
4421
- all_images = api.image.get_list(dataset_id, force_metadata_for_links=False)
4421
+ force_metadata_for_links = False
4422
+ if save_images is False and only_image_tags is True:
4423
+ force_metadata_for_links = True
4424
+ all_images = api.image.get_list(
4425
+ dataset_id, force_metadata_for_links=force_metadata_for_links
4426
+ )
4422
4427
  images = [image for image in all_images if images_ids is None or image.id in images_ids]
4423
4428
 
4424
4429
  ds_progress = progress_cb
@@ -4499,6 +4504,9 @@ async def _download_project_item_async(
4499
4504
  img_bytes = await api.image.download_bytes_single_async(
4500
4505
  img_info.id, semaphore=semaphore, check_hash=True
4501
4506
  )
4507
+ if None in [img_info.height, img_info.width]:
4508
+ width, height = sly.image.get_size_from_bytes(img_bytes)
4509
+ img_info = img_info._replace(height=height, width=width)
4502
4510
  else:
4503
4511
  img_bytes = None
4504
4512
 
@@ -4506,9 +4514,13 @@ async def _download_project_item_async(
4506
4514
  ann_info = await api.annotation.download_async(
4507
4515
  img_info.id,
4508
4516
  semaphore=semaphore,
4509
- force_metadata_for_links=False,
4517
+ force_metadata_for_links=not save_images,
4510
4518
  )
4511
4519
  ann_json = ann_info.annotation
4520
+ tmp_ann = Annotation.from_json(ann_json, meta)
4521
+ if None in tmp_ann.img_size:
4522
+ tmp_ann = tmp_ann.clone(img_size=(img_info.height, img_info.width))
4523
+ ann_json = tmp_ann.to_json()
4512
4524
  else:
4513
4525
  tags = TagCollection.from_api_response(
4514
4526
  img_info.tags,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.229
3
+ Version: 6.73.230
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -28,7 +28,7 @@ supervisely/api/dataset_api.py,sha256=2-SQBlgEnIN-0uvDbtPlSXr6ztBeZ3WPryhkOtpBmk
28
28
  supervisely/api/file_api.py,sha256=WMg80fxqMKOo3ai-IGON2w-IDAySPk90USoVk29JOdE,82415
29
29
  supervisely/api/github_api.py,sha256=NIexNjEer9H5rf5sw2LEZd7C1WR-tK4t6IZzsgeAAwQ,623
30
30
  supervisely/api/image_annotation_tool_api.py,sha256=YcUo78jRDBJYvIjrd-Y6FJAasLta54nnxhyaGyanovA,5237
31
- supervisely/api/image_api.py,sha256=WFtDTnYFyY6gUX3XRrJkLjEujbhiMhT-R9vk0C6iFpk,162389
31
+ supervisely/api/image_api.py,sha256=X26mRA40-DLU-AGD3iTe5x9VtNgQRbTvFDXrkfwDwe8,162626
32
32
  supervisely/api/import_storage_api.py,sha256=BDCgmR0Hv6OoiRHLCVPKt3iDxSVlQp1WrnKhAK_Zl84,460
33
33
  supervisely/api/issues_api.py,sha256=BqDJXmNoTzwc3xe6_-mA7FDFC5QQ-ahGbXk_HmpkSeQ,17925
34
34
  supervisely/api/labeling_job_api.py,sha256=odnzZjp29yM16Gq-FYkv-OA4WFMNJCLFo4qSikW2A7c,56280
@@ -51,10 +51,10 @@ supervisely/api/entity_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
51
51
  supervisely/api/entity_annotation/entity_annotation_api.py,sha256=K79KdDyepQv4FiNQHBj9V4-zLIemxK9WG1ig1bfBKb8,3083
52
52
  supervisely/api/entity_annotation/figure_api.py,sha256=WgeB6h8ZQsgeORXnEAq2LCCezLIMeVibetFTC1PxQM8,20896
53
53
  supervisely/api/entity_annotation/object_api.py,sha256=gbcNvN_KY6G80Me8fHKQgryc2Co7VU_kfFd1GYILZ4E,8875
54
- supervisely/api/entity_annotation/tag_api.py,sha256=jA6q5XuvJ6qAalM9ktGbscbNM07xw4Qo3odkkstvNKY,10882
54
+ supervisely/api/entity_annotation/tag_api.py,sha256=3PQEpLZaIL_3Ds2QWfyjHZctXA1KqvVVRYbVLw7npHU,10881
55
55
  supervisely/api/pointcloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  supervisely/api/pointcloud/pointcloud_annotation_api.py,sha256=_QABI38FCKBc4_VQ0B7jLOKMoRN9FFSt-w-zlEHd44s,7658
57
- supervisely/api/pointcloud/pointcloud_api.py,sha256=eOgIxwpXrqYwVmCgau27JFEUfze77yfzqOgw0hEZaMI,53275
57
+ supervisely/api/pointcloud/pointcloud_api.py,sha256=pn72znCr5hkAfgniXxfD6Vi8-HqRb1Nrf6l23-HQ7Bc,53277
58
58
  supervisely/api/pointcloud/pointcloud_episode_annotation_api.py,sha256=YGpU7g05XNV9o5daH5mFcUMmPPfgd085yIMNzXOVJqc,7009
59
59
  supervisely/api/pointcloud/pointcloud_episode_api.py,sha256=K_oPJeibj5oRYooeEWuSe6VxlxCYK3D8yLunm7vDeM0,7919
60
60
  supervisely/api/pointcloud/pointcloud_episode_object_api.py,sha256=k2_wV0EVPo9vxSTVe1qOvqVOMSVE6zGDSkfR6TRNsKs,691
@@ -64,14 +64,14 @@ supervisely/api/pointcloud/pointcloud_object_api.py,sha256=bO1USWb9HAywG_CW4CDu1
64
64
  supervisely/api/pointcloud/pointcloud_tag_api.py,sha256=iShtr052nOElxsyMyZEUT2vypEm6kP00gnP13ABX24A,4691
65
65
  supervisely/api/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  supervisely/api/video/video_annotation_api.py,sha256=Um_7UOJtP_E25X6v41mrZfDbJaJuLMGoZm2IULwyg3w,10977
67
- supervisely/api/video/video_api.py,sha256=414SQsC5mr1vdKB4oVOJc14rdOH-tlxDCjFZq3fYowQ,92976
67
+ supervisely/api/video/video_api.py,sha256=dAAftwLAnvLpyu3NopD2Cfk3vyhBiuCifSF3pEM_PVY,93152
68
68
  supervisely/api/video/video_figure_api.py,sha256=quksohjhgrK2l2-PtbbNE99fOW6uWXX59-_4xfc-I-k,6244
69
69
  supervisely/api/video/video_frame_api.py,sha256=4GwSI4xdCNYEUvTqzKc-Ewd44fw5zqkFoD24jrrN_aY,10214
70
70
  supervisely/api/video/video_object_api.py,sha256=IC0NP8EoIT_d3xxDRgz2cA3ixSiuJ5ymy64eS-RfmDM,2227
71
71
  supervisely/api/video/video_tag_api.py,sha256=oJgdJt_0w-5UfXaxZ7jdxK0PetZjax1vOfjm0IMYwe8,12266
72
72
  supervisely/api/volume/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  supervisely/api/volume/volume_annotation_api.py,sha256=6s7p9nlNYHOMbhfFmVBGJizEKkA-yKEAiuHJZcAqEzM,18190
74
- supervisely/api/volume/volume_api.py,sha256=Ty2nK8J7T-rzLY-126k2HP4xROblZsZpjhs2SMX6wpU,55379
74
+ supervisely/api/volume/volume_api.py,sha256=-n3r5qj4I4EtoERKTHFT8PpsKFJ141SvQfamIcHqWK4,55387
75
75
  supervisely/api/volume/volume_figure_api.py,sha256=WwmcMw7o3Nvyv52tzmz64yF-WJI0qzAU-zL2JlD7_w0,26039
76
76
  supervisely/api/volume/volume_object_api.py,sha256=F7pLV2MTlBlyN6fEKdxBSUatIMGWSuu8bWj3Hvcageo,2139
77
77
  supervisely/api/volume/volume_tag_api.py,sha256=yNGgXz44QBSW2VGlNDOVLqLXnH8Q2fFrxDFb_girYXA,3639
@@ -93,11 +93,11 @@ supervisely/app/fastapi/index.html,sha256=4kF8PWYvssCX2iH0jOOq0dCcKxQfndpJbTzUF4
93
93
  supervisely/app/fastapi/no_html_main.html,sha256=NhQP7noyORBx72lFh1CQKgBRupkWjiq6Gaw-9Hkvg7c,37
94
94
  supervisely/app/fastapi/offline.py,sha256=CwMMkJ1frD6wiZS-SEoNDtQ1UJcJe1Ob6ohE3r4CQL8,7414
95
95
  supervisely/app/fastapi/request.py,sha256=NU7rKmxJ1pfkDZ7_yHckRcRAueJRQIqCor11UO2OHr8,766
96
- supervisely/app/fastapi/subapp.py,sha256=kvycQ2NSsitbdWxaSzGPjzNzvplONqi9UbNnfeAWryw,43411
96
+ supervisely/app/fastapi/subapp.py,sha256=PaVYX1VpmXsXMEgdCOhFXj4s8CwyeU25c4GXcZuMzL8,43414
97
97
  supervisely/app/fastapi/templating.py,sha256=3JO4WmQKfPMmb8xhSuV5knWCen3gTgfdqWpIx4RSJlg,2330
98
98
  supervisely/app/fastapi/utils.py,sha256=GZuTWLcVRGVx8TL3jVEYUOZIT2FawbwIe2kAOBLw9ho,398
99
99
  supervisely/app/fastapi/websocket.py,sha256=TlRSPOAhRItTv1HGvdukK1ZvhRjMUxRa-lJlsRR9rJw,1308
100
- supervisely/app/v1/__init__.py,sha256=iWJ_hlzURXkeC6eUy07qLESeY5JcpmHuH9wUafLow9o,842
100
+ supervisely/app/v1/__init__.py,sha256=OdU0PYv6hLwahYoyaLFO8m3cbJSchvPbqxuG1N3T734,848
101
101
  supervisely/app/v1/app_config.md,sha256=-8GKbiQoX25RhEj3EDJ7TxiYuFw5wL2TO3qV5AJLZTs,2536
102
102
  supervisely/app/v1/app_service.py,sha256=KGWns_M3OkQLdtsGpH3rBlA2hmSeqGkA-M5q5sTqxe4,23090
103
103
  supervisely/app/v1/constants.py,sha256=_BG2dsOSz-gAVKN9CN8--a4Tn1-osu1z9Cwy8ywIzH0,183
@@ -679,7 +679,7 @@ supervisely/imaging/_video.py,sha256=JgpHGbDTAqm_y67SDULk8tA7dN4Wq1j5gq7Koi7hw5Q
679
679
  supervisely/imaging/color.py,sha256=4SW3oIb5gnAQUEdJ-AgefatfXlYKHBG9Vy5hxA9eBEI,6991
680
680
  supervisely/imaging/colors.json.gz,sha256=KORWj3sbMFVHv11E4n94cVmbFdEnFO0EzX8k-ENrZLk,555428
681
681
  supervisely/imaging/font.py,sha256=0XcmWhlw7y2PAhrWgcsfInyRWj0WnlFpMSEXXilR8UA,2697
682
- supervisely/imaging/image.py,sha256=RxyQ1R5s-U5GlCJ648F9nNLV1Pbs4slfONflaJjx1gw,41532
682
+ supervisely/imaging/image.py,sha256=1KNc4qRbP9OlI4Yta07Kc2ohAgSBJ_9alF9Jag74w30,41873
683
683
  supervisely/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
684
684
  supervisely/io/docker_utils.py,sha256=hb_HXGM8IYB0PF-nD7NxMwaHgzaxIFxofsUzQ_RCUZI,7935
685
685
  supervisely/io/env.py,sha256=rKLLw1XQqM3s3X3k3ke9Skyy5hPK0LE_xVUBq3Qko0Q,17284
@@ -912,7 +912,7 @@ supervisely/nn/tracker/utils/gmc.py,sha256=3JX8979H3NA-YHNaRQyj9Z-xb9qtyMittPEjG
912
912
  supervisely/nn/tracker/utils/kalman_filter.py,sha256=XquwLRFVfZdJMHPqPUtq-kdtuKLY6zgGHbnPGTXL8qU,17044
913
913
  supervisely/output/__init__.py,sha256=OY-ZkdTkpg3qMkZa763Uk7UrRF1Q-p55qIBPo-tNPho,4585
914
914
  supervisely/pointcloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
915
- supervisely/pointcloud/pointcloud.py,sha256=rID4gWBgxSICX_VKyHzfOicmsgX1pozh_3jzdyKaarg,11030
915
+ supervisely/pointcloud/pointcloud.py,sha256=wWWnueObO7li5PckhRim7WxHytsm2zn1caK3zghQcfg,11036
916
916
  supervisely/pointcloud_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
917
917
  supervisely/pointcloud_annotation/constants.py,sha256=5I_3V4WwAOdxPM9QOyVHv_o561-gjV5d_s5IM1RxWrM,360
918
918
  supervisely/pointcloud_annotation/pointcloud_annotation.py,sha256=XitdjdjOYujSZy0pHB14djViZcloyN6I0A2ZQ0M_bTw,15881
@@ -929,13 +929,13 @@ supervisely/pointcloud_annotation/pointcloud_object_collection.py,sha256=2Q41LTe
929
929
  supervisely/pointcloud_annotation/pointcloud_tag.py,sha256=2HFHZh953pbG5bIHTlT_qMokZn2Ao7xWYZUFt55BMps,14172
930
930
  supervisely/pointcloud_annotation/pointcloud_tag_collection.py,sha256=j_TAN23GkTcSNk5Yfwe2mrnigLlarMtJ3b4Jhu4GaEo,10825
931
931
  supervisely/pointcloud_episodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
932
- supervisely/pointcloud_episodes/pointcloud_episodes.py,sha256=NqUkVdHBSIplB2wvzL6a8z8EuGNpAJuOn1j5UrmSrQw,3421
932
+ supervisely/pointcloud_episodes/pointcloud_episodes.py,sha256=cRXdtw7bMsbsdVQjxfWxFSESrO-LGiqqsZyyExl2Mbg,3430
933
933
  supervisely/project/__init__.py,sha256=hlzdj9Pgy53Q3qdP8LMtGTChvZHQuuShdtui2eRUQeE,2601
934
934
  supervisely/project/data_version.py,sha256=nknaWJSUCwoDyNG9_d1KA-GjzidhV9zd9Cn8cg15DOU,19270
935
935
  supervisely/project/download.py,sha256=qonvHBiKX-leHW9qWJdyBqFNmpI2_t9s54e68h9orq0,23687
936
936
  supervisely/project/pointcloud_episode_project.py,sha256=fcaFAaHVn_VvdiIfHl4IyEFE5-Q3VFGfo7_YoxEma0I,41341
937
937
  supervisely/project/pointcloud_project.py,sha256=Y8Xhi6Hg-KyztwFncezuDfKTt2FILss96EU_LdXzmrA,49172
938
- supervisely/project/project.py,sha256=n9aRA_QxKFdzsbzE4EYSP9H7J-jZZFDT4pFJTrgS0DI,180327
938
+ supervisely/project/project.py,sha256=T2ge_9HXlaDyDziEhr-5lcyUcHskaUIbgwtrWs7PqYo,180929
939
939
  supervisely/project/project_meta.py,sha256=26s8IiHC5Pg8B1AQi6_CrsWteioJP2in00cRNe8QlW0,51423
940
940
  supervisely/project/project_settings.py,sha256=NLThzU_DCynOK6hkHhVdFyezwprn9UqlnrLDe_3qhkY,9347
941
941
  supervisely/project/project_type.py,sha256=_3RqW2CnDBKFOvSIrQT1RJQaiHirs34_jiQS8CkwCpo,530
@@ -997,9 +997,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
997
997
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
998
998
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
999
999
  supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
1000
- supervisely-6.73.229.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1001
- supervisely-6.73.229.dist-info/METADATA,sha256=_nNgiAdMBPvmoAJ0yduDtPQ4ySpQuqeFkzsCD72YLrY,33150
1002
- supervisely-6.73.229.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
1003
- supervisely-6.73.229.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1004
- supervisely-6.73.229.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1005
- supervisely-6.73.229.dist-info/RECORD,,
1000
+ supervisely-6.73.230.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1001
+ supervisely-6.73.230.dist-info/METADATA,sha256=DCXjusChZ2ySuzqPJXs1I9_aZeYNapIQb_LLwx9a8kw,33150
1002
+ supervisely-6.73.230.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
1003
+ supervisely-6.73.230.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1004
+ supervisely-6.73.230.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1005
+ supervisely-6.73.230.dist-info/RECORD,,