supervisely 6.73.280__tar.gz → 6.73.282__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.

Potentially problematic release.


This version of supervisely might be problematic. Click here for more details.

Files changed (1096) hide show
  1. {supervisely-6.73.280/supervisely.egg-info → supervisely-6.73.282}/PKG-INFO +1 -1
  2. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/image_api.py +261 -24
  3. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/module_api.py +4 -0
  4. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/cuboid_2d.py +182 -10
  5. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/project.py +39 -4
  6. {supervisely-6.73.280 → supervisely-6.73.282/supervisely.egg-info}/PKG-INFO +1 -1
  7. {supervisely-6.73.280 → supervisely-6.73.282}/LICENSE +0 -0
  8. {supervisely-6.73.280 → supervisely-6.73.282}/README.md +0 -0
  9. {supervisely-6.73.280 → supervisely-6.73.282}/pyproject.toml +0 -0
  10. {supervisely-6.73.280 → supervisely-6.73.282}/setup.cfg +0 -0
  11. {supervisely-6.73.280 → supervisely-6.73.282}/setup.py +0 -0
  12. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/README.md +0 -0
  13. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/__init__.py +0 -0
  14. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/_utils.py +0 -0
  15. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/__init__.py +0 -0
  16. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/annotation.py +0 -0
  17. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/annotation_transforms.py +0 -0
  18. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/json_geometries_map.py +0 -0
  19. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/label.py +0 -0
  20. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/obj_class.py +0 -0
  21. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/obj_class_collection.py +0 -0
  22. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/obj_class_mapper.py +0 -0
  23. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/renamer.py +0 -0
  24. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/tag.py +0 -0
  25. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/tag_collection.py +0 -0
  26. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/tag_meta.py +0 -0
  27. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/tag_meta_collection.py +0 -0
  28. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/annotation/tag_meta_mapper.py +0 -0
  29. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/__init__.py +0 -0
  30. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/advanced_api.py +0 -0
  31. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/agent_api.py +0 -0
  32. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/annotation_api.py +0 -0
  33. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/api.py +0 -0
  34. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/app_api.py +0 -0
  35. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/dataset_api.py +0 -0
  36. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/entity_annotation/__init__.py +0 -0
  37. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/entity_annotation/entity_annotation_api.py +0 -0
  38. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/entity_annotation/figure_api.py +0 -0
  39. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/entity_annotation/object_api.py +0 -0
  40. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/entity_annotation/tag_api.py +0 -0
  41. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/file_api.py +0 -0
  42. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/github_api.py +0 -0
  43. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/image_annotation_tool_api.py +0 -0
  44. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/import_storage_api.py +0 -0
  45. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/issues_api.py +0 -0
  46. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/labeling_job_api.py +0 -0
  47. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/neural_network_api.py +0 -0
  48. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/object_class_api.py +0 -0
  49. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/plugin_api.py +0 -0
  50. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/__init__.py +0 -0
  51. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_annotation_api.py +0 -0
  52. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_api.py +0 -0
  53. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_episode_annotation_api.py +0 -0
  54. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_episode_api.py +0 -0
  55. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_episode_object_api.py +0 -0
  56. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_episode_tag_api.py +0 -0
  57. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_figure_api.py +0 -0
  58. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_object_api.py +0 -0
  59. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/pointcloud/pointcloud_tag_api.py +0 -0
  60. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/project_api.py +0 -0
  61. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/project_class_api.py +0 -0
  62. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/remote_storage_api.py +0 -0
  63. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/report_api.py +0 -0
  64. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/role_api.py +0 -0
  65. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/storage_api.py +0 -0
  66. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/task_api.py +0 -0
  67. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/team_api.py +0 -0
  68. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/user_api.py +0 -0
  69. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/__init__.py +0 -0
  70. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_annotation_api.py +0 -0
  71. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_api.py +0 -0
  72. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_figure_api.py +0 -0
  73. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_frame_api.py +0 -0
  74. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_object_api.py +0 -0
  75. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video/video_tag_api.py +0 -0
  76. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/video_annotation_tool_api.py +0 -0
  77. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/__init__.py +0 -0
  78. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/volume_annotation_api.py +0 -0
  79. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/volume_api.py +0 -0
  80. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/volume_figure_api.py +0 -0
  81. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/volume_object_api.py +0 -0
  82. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/volume/volume_tag_api.py +0 -0
  83. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/api/workspace_api.py +0 -0
  84. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/__init__.py +0 -0
  85. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/content.py +0 -0
  86. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/development/__init__.py +0 -0
  87. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/development/development.py +0 -0
  88. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/development/sly-net.sh +0 -0
  89. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/exceptions.py +0 -0
  90. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/export_template.py +0 -0
  91. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/__init__.py +0 -0
  92. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/custom_static_files.py +0 -0
  93. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/dialog_window.html +0 -0
  94. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/index.html +0 -0
  95. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/no_html_main.html +0 -0
  96. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/offline.py +0 -0
  97. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/request.py +0 -0
  98. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/subapp.py +0 -0
  99. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/templating.py +0 -0
  100. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/utils.py +0 -0
  101. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/fastapi/websocket.py +0 -0
  102. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/import_template.py +0 -0
  103. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/jinja2.py +0 -0
  104. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/singleton.py +0 -0
  105. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/__init__.py +0 -0
  106. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/app_config.md +0 -0
  107. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/app_service.py +0 -0
  108. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/constants.py +0 -0
  109. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/sly-icon-example.html +0 -0
  110. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/__init__.py +0 -0
  111. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/chart.py +0 -0
  112. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/compare_gallery.py +0 -0
  113. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/empty_grid_gallery.py +0 -0
  114. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/grid_gallery.py +0 -0
  115. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/predictions_dynamics_gallery.py +0 -0
  116. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/progress_bar.py +0 -0
  117. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/v1/widgets/single_image_gallery.py +0 -0
  118. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/__init__.py +0 -0
  119. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/agent_selector/__init__.py +0 -0
  120. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/agent_selector/agent_selector.py +0 -0
  121. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/agent_selector/template.html +0 -0
  122. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/apexchart/__init__.py +0 -0
  123. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/apexchart/apexchart.py +0 -0
  124. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/apexchart/template.html +0 -0
  125. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/augmentations/__init__.py +0 -0
  126. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/augmentations/augmentations.py +0 -0
  127. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/augmentations/template.html +0 -0
  128. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/badge/__init__.py +0 -0
  129. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/badge/badge.py +0 -0
  130. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/badge/template.html +0 -0
  131. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/binded_input_number/__init__.py +0 -0
  132. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/binded_input_number/binded_input_number.py +0 -0
  133. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/binded_input_number/template.html +0 -0
  134. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/bokeh/__init__.py +0 -0
  135. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/bokeh/bokeh.py +0 -0
  136. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/bokeh/template.html +0 -0
  137. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/button/__init__.py +0 -0
  138. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/button/button.py +0 -0
  139. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/button/style.css +0 -0
  140. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/button/template.html +0 -0
  141. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/card/__init__.py +0 -0
  142. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/card/card.py +0 -0
  143. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/card/style.css +0 -0
  144. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/card/template.html +0 -0
  145. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/carousel/__init__.py +0 -0
  146. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/carousel/carousel.py +0 -0
  147. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/carousel/template.html +0 -0
  148. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/cascader/__init__.py +0 -0
  149. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/cascader/cascader.py +0 -0
  150. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/cascader/template.html +0 -0
  151. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox/__init__.py +0 -0
  152. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox/checkbox.py +0 -0
  153. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox/template.html +0 -0
  154. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox_field/__init__.py +0 -0
  155. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox_field/checkbox_field.py +0 -0
  156. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/checkbox_field/template.html +0 -0
  157. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/circle_progress/__init__.py +0 -0
  158. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/circle_progress/circle_progress.py +0 -0
  159. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/circle_progress/template.html +0 -0
  160. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/class_balance/__init__.py +0 -0
  161. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/class_balance/class_balance.py +0 -0
  162. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/class_balance/template.html +0 -0
  163. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_color_mapping/__init__.py +0 -0
  164. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_color_mapping/classes_color_mapping.py +0 -0
  165. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_color_mapping/style.css +0 -0
  166. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_color_mapping/template.html +0 -0
  167. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_preview/__init__.py +0 -0
  168. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_preview/classes_list_preview.py +0 -0
  169. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_preview/style.css +0 -0
  170. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_preview/template.html +0 -0
  171. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_selector/__init__.py +0 -0
  172. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_selector/classes_list_selector.py +0 -0
  173. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_selector/style.css +0 -0
  174. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_list_selector/template.html +0 -0
  175. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping/__init__.py +0 -0
  176. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping/classes_mapping.py +0 -0
  177. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping/template.html +0 -0
  178. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping_preview/__init__.py +0 -0
  179. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping_preview/classes_mapping_preview.py +0 -0
  180. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping_preview/style.css +0 -0
  181. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_mapping_preview/template.html +0 -0
  182. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_table/__init__.py +0 -0
  183. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_table/classes_table.py +0 -0
  184. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_table/style.css +0 -0
  185. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classes_table/template.html +0 -0
  186. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classic_table/__init__.py +0 -0
  187. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classic_table/classic_table.py +0 -0
  188. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/classic_table/template.html +0 -0
  189. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/collapse/__init__.py +0 -0
  190. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/collapse/collapse.py +0 -0
  191. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/collapse/template.html +0 -0
  192. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/color_picker/__init__.py +0 -0
  193. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/color_picker/color_picker.py +0 -0
  194. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/color_picker/style.css +0 -0
  195. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/color_picker/template.html +0 -0
  196. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/compare_annotations/__init__.py +0 -0
  197. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/compare_annotations/compare_annotations.py +0 -0
  198. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/confusion_matrix/__init__.py +0 -0
  199. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/confusion_matrix/confusion_matrix.py +0 -0
  200. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/confusion_matrix/template.html +0 -0
  201. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/__init__.py +0 -0
  202. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/container.py +0 -0
  203. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/old_container.py +0 -0
  204. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/old_template.html +0 -0
  205. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/style.css +0 -0
  206. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/container/template.html +0 -0
  207. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/copy_to_clipboard/__init__.py +0 -0
  208. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/copy_to_clipboard/copy_to_clipboard.py +0 -0
  209. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/copy_to_clipboard/template.html +0 -0
  210. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/custom_models_selector/__init__.py +0 -0
  211. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/custom_models_selector/custom_models_selector.py +0 -0
  212. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/custom_models_selector/style.css +0 -0
  213. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/custom_models_selector/template.html +0 -0
  214. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dataset_thumbnail/__init__.py +0 -0
  215. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dataset_thumbnail/dataset_thumbnail.py +0 -0
  216. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dataset_thumbnail/template.html +0 -0
  217. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/date_picker/__init__.py +0 -0
  218. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/date_picker/date_picker.py +0 -0
  219. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/date_picker/template.html +0 -0
  220. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/datetime_picker/__init__.py +0 -0
  221. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/datetime_picker/datetime_picker.py +0 -0
  222. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/datetime_picker/template.html +0 -0
  223. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/destination_project/__init__.py +0 -0
  224. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/destination_project/destination_project.py +0 -0
  225. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/destination_project/template.html +0 -0
  226. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dialog/__init__.py +0 -0
  227. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dialog/dialog.py +0 -0
  228. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dialog/template.html +0 -0
  229. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/done_label/__init__.py +0 -0
  230. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/done_label/done_label.py +0 -0
  231. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/done_label/template.html +0 -0
  232. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/draggable/__init__.py +0 -0
  233. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/draggable/draggable.py +0 -0
  234. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/draggable/style.css +0 -0
  235. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/draggable/template.html +0 -0
  236. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dropdown/__init__.py +0 -0
  237. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dropdown/dropdown.py +0 -0
  238. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/dropdown/template.html +0 -0
  239. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/editor/__init__.py +0 -0
  240. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/editor/editor.py +0 -0
  241. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/editor/template.html +0 -0
  242. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_button/__init__.py +0 -0
  243. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_button/element_button.py +0 -0
  244. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_button/style.css +0 -0
  245. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_button/template.html +0 -0
  246. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tag/__init__.py +0 -0
  247. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tag/element_tag.py +0 -0
  248. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tag/template.html +0 -0
  249. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tags_list/__init__.py +0 -0
  250. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tags_list/element_tags_list.py +0 -0
  251. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/element_tags_list/template.html +0 -0
  252. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/empty/__init__.py +0 -0
  253. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/empty/empty.py +0 -0
  254. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/empty/template.html +0 -0
  255. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/experiment_selector/__init__.py +0 -0
  256. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/experiment_selector/experiment_selector.py +0 -0
  257. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/experiment_selector/style.css +0 -0
  258. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/experiment_selector/template.html +0 -0
  259. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/fast_table/__init__.py +0 -0
  260. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/fast_table/fast_table.py +0 -0
  261. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/fast_table/script.js +0 -0
  262. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/fast_table/style.css +0 -0
  263. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/fast_table/template.html +0 -0
  264. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/field/__init__.py +0 -0
  265. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/field/field.py +0 -0
  266. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/field/style.css +0 -0
  267. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/field/template.html +0 -0
  268. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_storage_upload/__init__.py +0 -0
  269. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_storage_upload/file_storage_upload.py +0 -0
  270. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_storage_upload/template.html +0 -0
  271. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_thumbnail/__init__.py +0 -0
  272. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_thumbnail/file_thumbnail.py +0 -0
  273. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_thumbnail/template.html +0 -0
  274. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_viewer/__init__.py +0 -0
  275. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_viewer/file_viewer.py +0 -0
  276. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/file_viewer/template.html +0 -0
  277. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/flexbox/__init__.py +0 -0
  278. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/flexbox/flexbox.py +0 -0
  279. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/flexbox/template.html +0 -0
  280. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/folder_thumbnail/__init__.py +0 -0
  281. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/folder_thumbnail/folder_thumbnail.py +0 -0
  282. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/folder_thumbnail/template.html +0 -0
  283. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid/__init__.py +0 -0
  284. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid/grid.py +0 -0
  285. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid/template.html +0 -0
  286. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_chart/__init__.py +0 -0
  287. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_chart/grid_chart.py +0 -0
  288. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_chart/template.html +0 -0
  289. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery/__init__.py +0 -0
  290. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery/grid_gallery.py +0 -0
  291. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery/style.css +0 -0
  292. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery/template.html +0 -0
  293. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery_v2/__init__.py +0 -0
  294. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery_v2/grid_gallery_v2.py +0 -0
  295. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_gallery_v2/template.html +0 -0
  296. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_plot/__init__.py +0 -0
  297. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_plot/grid_plot.py +0 -0
  298. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/grid_plot/template.html +0 -0
  299. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/heatmap_chart/__init__.py +0 -0
  300. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/heatmap_chart/heatmap_chart.py +0 -0
  301. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/icons/__init__.py +0 -0
  302. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/icons/icons.py +0 -0
  303. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/icons/template.html +0 -0
  304. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/identity/__init__.py +0 -0
  305. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/identity/identity.py +0 -0
  306. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/identity/template.html +0 -0
  307. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/iframe/__init__.py +0 -0
  308. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/iframe/iframe.py +0 -0
  309. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/iframe/template.html +0 -0
  310. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image/__init__.py +0 -0
  311. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image/image.py +0 -0
  312. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image/template.html +0 -0
  313. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_annotation_preview/__init__.py +0 -0
  314. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_annotation_preview/image_annotation_preview.py +0 -0
  315. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_annotation_preview/script.js +0 -0
  316. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_annotation_preview/style.css +0 -0
  317. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_annotation_preview/template.html +0 -0
  318. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_pair_sequence/__init__.py +0 -0
  319. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_pair_sequence/image_pair_sequence.py +0 -0
  320. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_pair_sequence/template.html +0 -0
  321. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_region_selector/__init__.py +0 -0
  322. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_region_selector/image_region_selector.py +0 -0
  323. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_region_selector/script.js +0 -0
  324. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_region_selector/styles.css +0 -0
  325. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_region_selector/template.html +0 -0
  326. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_slider/__init__.py +0 -0
  327. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_slider/image_slider.py +0 -0
  328. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/image_slider/template.html +0 -0
  329. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input/__init__.py +0 -0
  330. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input/input.py +0 -0
  331. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input/template.html +0 -0
  332. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_number/__init__.py +0 -0
  333. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_number/input_number.py +0 -0
  334. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_number/template.html +0 -0
  335. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_tag/__init__.py +0 -0
  336. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_tag/input_tag.py +0 -0
  337. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/input_tag/template.html +0 -0
  338. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/labeled_image/__init__.py +0 -0
  339. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/labeled_image/labeled_image.py +0 -0
  340. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/line_chart/__init__.py +0 -0
  341. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/line_chart/line_chart.py +0 -0
  342. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/line_plot/__init__.py +0 -0
  343. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/line_plot/line_plot.py +0 -0
  344. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/line_plot/template.html +0 -0
  345. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/markdown/__init__.py +0 -0
  346. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/markdown/markdown.py +0 -0
  347. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/markdown/style.css +0 -0
  348. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/markdown/template.html +0 -0
  349. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_datasets/__init__.py +0 -0
  350. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_datasets/match_datasets.py +0 -0
  351. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_datasets/template.html +0 -0
  352. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_tags_or_classes/__init__.py +0 -0
  353. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_tags_or_classes/match_tags_or_classes.py +0 -0
  354. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/match_tags_or_classes/template.html +0 -0
  355. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_preview/__init__.py +0 -0
  356. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_preview/members_list_preview.py +0 -0
  357. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_preview/template.html +0 -0
  358. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_selector/__init__.py +0 -0
  359. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_selector/members_list_selector.py +0 -0
  360. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_selector/style.css +0 -0
  361. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/members_list_selector/template.html +0 -0
  362. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/menu/__init__.py +0 -0
  363. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/menu/menu.py +0 -0
  364. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/menu/template.html +0 -0
  365. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/model_info/__init__.py +0 -0
  366. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/model_info/model_info.py +0 -0
  367. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/model_info/template.html +0 -0
  368. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/nodes_flow/__init__.py +0 -0
  369. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/nodes_flow/nodes_flow.py +0 -0
  370. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/nodes_flow/option_components.py +0 -0
  371. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/nodes_flow/template.html +0 -0
  372. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/notification_box/__init__.py +0 -0
  373. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/notification_box/notification_box.py +0 -0
  374. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/notification_box/style.css +0 -0
  375. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/notification_box/template.html +0 -0
  376. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_class_view/__init__.py +0 -0
  377. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_class_view/object_class_view.py +0 -0
  378. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_class_view/style.css +0 -0
  379. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_class_view/template.html +0 -0
  380. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_classes_list/__init__.py +0 -0
  381. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_classes_list/object_classes_list.py +0 -0
  382. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/object_classes_list/template.html +0 -0
  383. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/one_of/__init__.py +0 -0
  384. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/one_of/one_of.py +0 -0
  385. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/one_of/template.html +0 -0
  386. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pagination/__init__.py +0 -0
  387. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pagination/pagination.py +0 -0
  388. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pagination/template.html +0 -0
  389. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pie_chart/__init__.py +0 -0
  390. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pie_chart/pie_chart.py +0 -0
  391. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pretrained_models_selector/__init__.py +0 -0
  392. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pretrained_models_selector/pretrained_models_selector.py +0 -0
  393. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pretrained_models_selector/style.css +0 -0
  394. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/pretrained_models_selector/template.html +0 -0
  395. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_selector/__init__.py +0 -0
  396. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_selector/project_selector.py +0 -0
  397. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_selector/style.css +0 -0
  398. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_selector/template.html +0 -0
  399. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_thumbnail/__init__.py +0 -0
  400. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_thumbnail/project_thumbnail.py +0 -0
  401. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_thumbnail/style.css +0 -0
  402. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/project_thumbnail/template.html +0 -0
  403. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_group/__init__.py +0 -0
  404. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_group/radio_group.py +0 -0
  405. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_group/template.html +0 -0
  406. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_table/__init__.py +0 -0
  407. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_table/radio_table.py +0 -0
  408. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_table/style.css +0 -0
  409. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_table/template.html +0 -0
  410. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_tabs/__init__.py +0 -0
  411. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_tabs/radio_tabs.py +0 -0
  412. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_tabs/style.css +0 -0
  413. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/radio_tabs/template.html +0 -0
  414. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/random_splits_table/__init__.py +0 -0
  415. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/random_splits_table/random_splits_table.py +0 -0
  416. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/random_splits_table/template.html +0 -0
  417. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/rate/__init__.py +0 -0
  418. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/rate/rate.py +0 -0
  419. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/rate/template.html +0 -0
  420. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/reloadable_area/__init__.py +0 -0
  421. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/reloadable_area/reloadable_area.py +0 -0
  422. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/reloadable_area/script.js +0 -0
  423. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/reloadable_area/template.html +0 -0
  424. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/report_thumbnail/__init__.py +0 -0
  425. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/report_thumbnail/report_thumbnail.py +0 -0
  426. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/report_thumbnail/template.html +0 -0
  427. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/scatter_chart/__init__.py +0 -0
  428. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/scatter_chart/scatter_chart.py +0 -0
  429. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select/__init__.py +0 -0
  430. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select/select.py +0 -0
  431. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select/template.html +0 -0
  432. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_app_session/__init__.py +0 -0
  433. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_app_session/select_app_session.py +0 -0
  434. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_app_session/template.html +0 -0
  435. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_cuda/__init__.py +0 -0
  436. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_cuda/select_cuda.py +0 -0
  437. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_cuda/template.html +0 -0
  438. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset/__init__.py +0 -0
  439. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset/select_dataset.py +0 -0
  440. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset/template.html +0 -0
  441. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset_tree/__init__.py +0 -0
  442. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset_tree/select_dataset_tree.py +0 -0
  443. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_dataset_tree/template.html +0 -0
  444. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_item/__init__.py +0 -0
  445. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_item/select_item.py +0 -0
  446. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_item/template.html +0 -0
  447. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_project/__init__.py +0 -0
  448. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_project/select_project.py +0 -0
  449. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_project/template.html +0 -0
  450. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_sly_utils.py +0 -0
  451. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_tag_meta/__init__.py +0 -0
  452. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_tag_meta/select_tag_meta.py +0 -0
  453. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_tag_meta/template.html +0 -0
  454. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_team/__init__.py +0 -0
  455. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_team/select_team.py +0 -0
  456. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_team/template.html +0 -0
  457. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_workspace/__init__.py +0 -0
  458. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_workspace/select_workspace.py +0 -0
  459. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/select_workspace/template.html +0 -0
  460. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sidebar/__init__.py +0 -0
  461. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sidebar/sidebar.py +0 -0
  462. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sidebar/style.css +0 -0
  463. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sidebar/template.html +0 -0
  464. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/slider/__init__.py +0 -0
  465. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/slider/slider.py +0 -0
  466. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/slider/template.html +0 -0
  467. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sly_tqdm/README.md +0 -0
  468. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sly_tqdm/__init__.py +0 -0
  469. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sly_tqdm/sly_tqdm.py +0 -0
  470. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sly_tqdm/style.css +0 -0
  471. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/sly_tqdm/template.html +0 -0
  472. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/stepper/__init__.py +0 -0
  473. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/stepper/stepper.py +0 -0
  474. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/stepper/template.html +0 -0
  475. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/switch/__init__.py +0 -0
  476. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/switch/switch.py +0 -0
  477. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/switch/template.html +0 -0
  478. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/table/__init__.py +0 -0
  479. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/table/table.py +0 -0
  480. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/table/template.html +0 -0
  481. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs/__init__.py +0 -0
  482. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs/tabs.py +0 -0
  483. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs/template.html +0 -0
  484. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs_dynamic/__init__.py +0 -0
  485. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs_dynamic/tabs_dynamic.py +0 -0
  486. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tabs_dynamic/template.html +0 -0
  487. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_meta_view/__init__.py +0 -0
  488. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_meta_view/style.css +0 -0
  489. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_meta_view/tag_meta_view.py +0 -0
  490. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_meta_view/template.html +0 -0
  491. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_metas_list/__init__.py +0 -0
  492. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_metas_list/tag_metas_list.py +0 -0
  493. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tag_metas_list/template.html +0 -0
  494. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_preview/__init__.py +0 -0
  495. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_preview/tags_list_preview.py +0 -0
  496. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_preview/template.html +0 -0
  497. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_selector/__init__.py +0 -0
  498. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_selector/style.css +0 -0
  499. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_selector/tags_list_selector.py +0 -0
  500. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_list_selector/template.html +0 -0
  501. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_table/__init__.py +0 -0
  502. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_table/tags_table.py +0 -0
  503. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tags_table/template.html +0 -0
  504. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/task_logs/__init__.py +0 -0
  505. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/task_logs/task_logs.py +0 -0
  506. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/task_logs/template.html +0 -0
  507. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/team_files_selector/__init__.py +0 -0
  508. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/team_files_selector/team_files_selector.py +0 -0
  509. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/team_files_selector/template.html +0 -0
  510. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/text/__init__.py +0 -0
  511. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/text/template.html +0 -0
  512. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/text/text.py +0 -0
  513. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/textarea/__init__.py +0 -0
  514. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/textarea/template.html +0 -0
  515. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/textarea/textarea.py +0 -0
  516. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/time_picker/__init__.py +0 -0
  517. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/time_picker/template.html +0 -0
  518. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/time_picker/time_picker.py +0 -0
  519. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/timeline/__init__.py +0 -0
  520. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/timeline/template.html +0 -0
  521. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/timeline/timeline.py +0 -0
  522. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tooltip/__init__.py +0 -0
  523. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tooltip/template.html +0 -0
  524. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tooltip/tooltip.py +0 -0
  525. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/train_val_splits/__init__.py +0 -0
  526. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/train_val_splits/template.html +0 -0
  527. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/train_val_splits/train_val_splits.py +0 -0
  528. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/transfer/__init__.py +0 -0
  529. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/transfer/template.html +0 -0
  530. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/transfer/transfer.py +0 -0
  531. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tree_select/__init__.py +0 -0
  532. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tree_select/template.html +0 -0
  533. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/tree_select/tree_select.py +0 -0
  534. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/treemap_chart/__init__.py +0 -0
  535. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/treemap_chart/treemap_chart.py +0 -0
  536. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video/__init__.py +0 -0
  537. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video/template.html +0 -0
  538. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video/video.py +0 -0
  539. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_player/__init__.py +0 -0
  540. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_player/script.js +0 -0
  541. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_player/template.html +0 -0
  542. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_player/video_player.py +0 -0
  543. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_thumbnail/__init__.py +0 -0
  544. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_thumbnail/template.html +0 -0
  545. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/video_thumbnail/video_thumbnail.py +0 -0
  546. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets/widget.py +0 -0
  547. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/app/widgets_context.py +0 -0
  548. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/aug/__init__.py +0 -0
  549. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/aug/aug.py +0 -0
  550. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/aug/imgaug_utils.py +0 -0
  551. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/__init__.py +0 -0
  552. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/cli.py +0 -0
  553. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/project/__init__.py +0 -0
  554. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/project/project_download.py +0 -0
  555. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/project/project_get.py +0 -0
  556. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/project/project_upload.py +0 -0
  557. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/release/__init__.py +0 -0
  558. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/release/release.py +0 -0
  559. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/release/run.py +0 -0
  560. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/task/__init__.py +0 -0
  561. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/task/task_set.py +0 -0
  562. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/teamfiles/__init__.py +0 -0
  563. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/teamfiles/teamfiles_download.py +0 -0
  564. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/teamfiles/teamfiles_remove.py +0 -0
  565. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/cli/teamfiles/teamfiles_upload.py +0 -0
  566. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/collection/__init__.py +0 -0
  567. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/collection/key_indexed_collection.py +0 -0
  568. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/collection/str_enum.py +0 -0
  569. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/__init__.py +0 -0
  570. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/base_converter.py +0 -0
  571. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/converter.py +0 -0
  572. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/__init__.py +0 -0
  573. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/cityscapes/__init__.py +0 -0
  574. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/cityscapes/cityscapes_converter.py +0 -0
  575. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/cityscapes/cityscapes_helper.py +0 -0
  576. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/coco/__init__.py +0 -0
  577. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/coco/coco_anntotation_converter.py +0 -0
  578. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/coco/coco_converter.py +0 -0
  579. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/coco/coco_helper.py +0 -0
  580. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/csv/__init__.py +0 -0
  581. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/csv/csv_converter.py +0 -0
  582. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/csv/csv_helper.py +0 -0
  583. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/high_color/__init__.py +0 -0
  584. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/high_color/high_color_depth.py +0 -0
  585. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/high_color/high_color_helper.py +0 -0
  586. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/image_converter.py +0 -0
  587. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/image_helper.py +0 -0
  588. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_me/__init__.py +0 -0
  589. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_me/label_me_converter.py +0 -0
  590. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_me/label_me_helper.py +0 -0
  591. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_studio/__init__.py +0 -0
  592. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_studio/label_studio_converter.py +0 -0
  593. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/label_studio/label_studio_helper.py +0 -0
  594. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/masks/__init__.py +0 -0
  595. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/masks/image_with_masks_helper.py +0 -0
  596. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/masks/images_with_masks_converter.py +0 -0
  597. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/medical2d/__init__.py +0 -0
  598. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/medical2d/medical2d_converter.py +0 -0
  599. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/medical2d/medical2d_helper.py +0 -0
  600. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/multi_view/__init__.py +0 -0
  601. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/multi_view/multi_view.py +0 -0
  602. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/multispectral/__init__.py +0 -0
  603. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/multispectral/multispectral_converter.py +0 -0
  604. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pascal_voc/__init__.py +0 -0
  605. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pascal_voc/pascal_voc_converter.py +0 -0
  606. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pascal_voc/pascal_voc_helper.py +0 -0
  607. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pdf/__init__.py +0 -0
  608. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pdf/pdf_converter.py +0 -0
  609. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/pdf/pdf_helper.py +0 -0
  610. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/sly/__init__.py +0 -0
  611. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/sly/fast_sly_image_converter.py +0 -0
  612. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/sly/sly_image_converter.py +0 -0
  613. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/sly/sly_image_helper.py +0 -0
  614. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/yolo/__init__.py +0 -0
  615. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/yolo/yolo_converter.py +0 -0
  616. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/image/yolo/yolo_helper.py +0 -0
  617. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/__init__.py +0 -0
  618. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/bag/__init__.py +0 -0
  619. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/bag/bag_converter.py +0 -0
  620. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/bag/bag_helper.py +0 -0
  621. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/kitti_3d/__init__.py +0 -0
  622. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/kitti_3d/kitti_3d_converter.py +0 -0
  623. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/kitti_3d/kitti_3d_helper.py +0 -0
  624. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/las/__init__.py +0 -0
  625. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/las/las_converter.py +0 -0
  626. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/las/las_helper.py +0 -0
  627. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/lyft/__init__.py +0 -0
  628. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/lyft/lyft_converter.py +0 -0
  629. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/lyft/lyft_helper.py +0 -0
  630. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/nuscenes_conv/__init__.py +0 -0
  631. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/nuscenes_conv/nuscenes_converter.py +0 -0
  632. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/ply/__init__.py +0 -0
  633. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/ply/ply_converter.py +0 -0
  634. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/ply/ply_helper.py +0 -0
  635. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/pointcloud_converter.py +0 -0
  636. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/sly/__init__.py +0 -0
  637. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py +0 -0
  638. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud/sly/sly_pointcloud_helper.py +0 -0
  639. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/__init__.py +0 -0
  640. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/bag/__init__.py +0 -0
  641. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/bag/bag_converter.py +0 -0
  642. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/lyft/__init__.py +0 -0
  643. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/lyft/lyft_converter.py +0 -0
  644. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/nuscenes_conv/__init__.py +0 -0
  645. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_converter.py +0 -0
  646. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_helper.py +0 -0
  647. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py +0 -0
  648. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/sly/__init__.py +0 -0
  649. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py +0 -0
  650. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_helper.py +0 -0
  651. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/__init__.py +0 -0
  652. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/davis/__init__.py +0 -0
  653. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/davis/davis_converter.py +0 -0
  654. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/mot/__init__.py +0 -0
  655. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/mot/mot_converter.py +0 -0
  656. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/sly/__init__.py +0 -0
  657. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/sly/sly_video_converter.py +0 -0
  658. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/sly/sly_video_helper.py +0 -0
  659. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/video/video_converter.py +0 -0
  660. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/__init__.py +0 -0
  661. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/dicom/__init__.py +0 -0
  662. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/dicom/dicom_converter.py +0 -0
  663. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/dicom/dicom_helper.py +0 -0
  664. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/sly/__init__.py +0 -0
  665. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/sly/sly_volume_converter.py +0 -0
  666. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/sly/sly_volume_helper.py +0 -0
  667. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/convert/volume/volume_converter.py +0 -0
  668. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/decorators/__init__.py +0 -0
  669. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/decorators/inference.py +0 -0
  670. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/decorators/profile.py +0 -0
  671. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/delme_fastapi_helpers/__init__.py +0 -0
  672. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/export/__init__.py +0 -0
  673. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/export/pascal_voc.py +0 -0
  674. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/function_wrapper.py +0 -0
  675. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/__init__.py +0 -0
  676. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/alpha_mask.py +0 -0
  677. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/any_geometry.py +0 -0
  678. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/bitmap.py +0 -0
  679. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/bitmap_base.py +0 -0
  680. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/closed_surface_mesh.py +0 -0
  681. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/constants.py +0 -0
  682. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/conversions.py +0 -0
  683. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/cuboid.py +0 -0
  684. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/cuboid_3d.py +0 -0
  685. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/geometry.py +0 -0
  686. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/graph.py +0 -0
  687. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/helpers.py +0 -0
  688. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/image_rotator.py +0 -0
  689. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/main_tests.py +0 -0
  690. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/mask_3d.py +0 -0
  691. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/multichannel_bitmap.py +0 -0
  692. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/point.py +0 -0
  693. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/point_3d.py +0 -0
  694. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/point_location.py +0 -0
  695. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/pointcloud.py +0 -0
  696. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/polygon.py +0 -0
  697. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/polyline.py +0 -0
  698. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/rectangle.py +0 -0
  699. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/sliding_windows.py +0 -0
  700. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/sliding_windows_fuzzy.py +0 -0
  701. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/validation.py +0 -0
  702. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/geometry/vector_geometry.py +0 -0
  703. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/__init__.py +0 -0
  704. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/_video.py +0 -0
  705. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/color.py +0 -0
  706. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/colors.json.gz +0 -0
  707. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/font.py +0 -0
  708. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/imaging/image.py +0 -0
  709. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/__init__.py +0 -0
  710. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/docker_utils.py +0 -0
  711. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/env.py +0 -0
  712. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/exception_handlers.py +0 -0
  713. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/fs.py +0 -0
  714. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/fs_cache.py +0 -0
  715. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/github_utils.py +0 -0
  716. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/json.py +0 -0
  717. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/multipart_stream_decoder.py +0 -0
  718. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/io/network_exceptions.py +0 -0
  719. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/labeling_jobs/__init__.py +0 -0
  720. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/labeling_jobs/constants.py +0 -0
  721. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/labeling_jobs/utils.py +0 -0
  722. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/__init__.py +0 -0
  723. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/classification_metrics.py +0 -0
  724. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/common.py +0 -0
  725. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/confusion_matrix_metric.py +0 -0
  726. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/iou_metric.py +0 -0
  727. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/map_metric.py +0 -0
  728. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/matching.py +0 -0
  729. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/metric_base.py +0 -0
  730. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/metrics_tests.py +0 -0
  731. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/pixel_accuracy.py +0 -0
  732. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/precision_recall_metric.py +0 -0
  733. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/metric/projects_applier.py +0 -0
  734. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/__init__.py +0 -0
  735. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/__init__.py +0 -0
  736. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/artifacts.py +0 -0
  737. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/detectron2.py +0 -0
  738. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/hrda.py +0 -0
  739. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/mmclassification.py +0 -0
  740. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/mmdetection.py +0 -0
  741. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/mmsegmentation.py +0 -0
  742. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/ritm.py +0 -0
  743. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/rtdetr.py +0 -0
  744. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/unet.py +0 -0
  745. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/utils.py +0 -0
  746. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/yolov5.py +0 -0
  747. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/artifacts/yolov8.py +0 -0
  748. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/__init__.py +0 -0
  749. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/base_benchmark.py +0 -0
  750. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/base_evaluator.py +0 -0
  751. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/base_visualizer.py +0 -0
  752. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/__init__.py +0 -0
  753. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/base_visualizer.py +0 -0
  754. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/__init__.py +0 -0
  755. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py +0 -0
  756. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/__init__.py +0 -0
  757. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/avg_precision_by_class.py +0 -0
  758. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py +0 -0
  759. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predictions.py +0 -0
  760. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py +0 -0
  761. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py +0 -0
  762. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py +0 -0
  763. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py +0 -0
  764. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py +0 -0
  765. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py +0 -0
  766. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/detection_visualization/visualizer.py +0 -0
  767. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/model_comparison.py +0 -0
  768. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/__init__.py +0 -0
  769. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/text_templates.py +0 -0
  770. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/__init__.py +0 -0
  771. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/classwise_error_analysis.py +0 -0
  772. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/explore_predictions.py +0 -0
  773. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/frequently_confused.py +0 -0
  774. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/iou_eou.py +0 -0
  775. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/overview.py +0 -0
  776. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/renormalized_error_ou.py +0 -0
  777. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/speedtest.py +0 -0
  778. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/comparison/semantic_segmentation/visualizer.py +0 -0
  779. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/cv_tasks.py +0 -0
  780. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/__init__.py +0 -0
  781. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/benchmark.py +0 -0
  782. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/evaluation_params.yaml +0 -0
  783. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/evaluator.py +0 -0
  784. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/text_templates.py +0 -0
  785. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/instance_segmentation/visualizer.py +0 -0
  786. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/__init__.py +0 -0
  787. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/base_vis_metric.py +0 -0
  788. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/benchmark.py +0 -0
  789. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/evaluation_params.yaml +0 -0
  790. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/evaluator.py +0 -0
  791. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/metric_provider.py +0 -0
  792. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/text_templates.py +0 -0
  793. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py +0 -0
  794. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_distribution.py +0 -0
  795. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_score.py +0 -0
  796. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/confusion_matrix.py +0 -0
  797. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/explore_predictions.py +0 -0
  798. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/f1_score_at_different_iou.py +0 -0
  799. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/frequently_confused.py +0 -0
  800. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/iou_distribution.py +0 -0
  801. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/key_metrics.py +0 -0
  802. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/model_predictions.py +0 -0
  803. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts.py +0 -0
  804. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts_per_class.py +0 -0
  805. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/overview.py +0 -0
  806. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve.py +0 -0
  807. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve_by_class.py +0 -0
  808. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/precision.py +0 -0
  809. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/precision_avg_per_class.py +0 -0
  810. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/recall.py +0 -0
  811. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/recall_vs_precision.py +0 -0
  812. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/reliability_diagram.py +0 -0
  813. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/vis_metrics/speedtest.py +0 -0
  814. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/object_detection/visualizer.py +0 -0
  815. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/__init__.py +0 -0
  816. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/base_vis_metric.py +0 -0
  817. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/benchmark.py +0 -0
  818. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/evaluation_params.yaml +0 -0
  819. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/evaluator.py +0 -0
  820. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/metric_provider.py +0 -0
  821. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/text_templates.py +0 -0
  822. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/__init__.py +0 -0
  823. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/acknowledgement.py +0 -0
  824. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/classwise_error_analysis.py +0 -0
  825. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/confusion_matrix.py +0 -0
  826. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/explore_predictions.py +0 -0
  827. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/frequently_confused.py +0 -0
  828. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/iou_eou.py +0 -0
  829. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/key_metrics.py +0 -0
  830. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/model_predictions.py +0 -0
  831. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/overview.py +0 -0
  832. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/renormalized_error_ou.py +0 -0
  833. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/speedtest.py +0 -0
  834. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/vis_texts.py +0 -0
  835. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/semantic_segmentation/visualizer.py +0 -0
  836. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/__init__.py +0 -0
  837. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/__init__.py +0 -0
  838. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/calculate_metrics.py +0 -0
  839. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/metric_provider.py +0 -0
  840. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/metrics.py +0 -0
  841. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/sly2coco.py +0 -0
  842. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/detection/utlis.py +0 -0
  843. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/semantic_segmentation/__init__.py +0 -0
  844. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/semantic_segmentation/calculate_metrics.py +0 -0
  845. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/semantic_segmentation/evaluator.py +0 -0
  846. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/semantic_segmentation/loader.py +0 -0
  847. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/utils/semantic_segmentation/utils.py +0 -0
  848. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/__init__.py +0 -0
  849. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/evaluation_result.py +0 -0
  850. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/renderer.py +0 -0
  851. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/report_template.html +0 -0
  852. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/vis_click_data.py +0 -0
  853. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/__init__.py +0 -0
  854. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/chart/__init__.py +0 -0
  855. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/chart/chart.py +0 -0
  856. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/chart/template.html +0 -0
  857. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/collapse/__init__.py +0 -0
  858. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/collapse/collapse.py +0 -0
  859. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/container/__init__.py +0 -0
  860. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/container/container.py +0 -0
  861. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/gallery/__init__.py +0 -0
  862. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py +0 -0
  863. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/gallery/template.html +0 -0
  864. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/markdown/__init__.py +0 -0
  865. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py +0 -0
  866. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/notification/__init__.py +0 -0
  867. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/notification/notification.py +0 -0
  868. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/radio_group/__init__.py +0 -0
  869. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/radio_group/radio_group.py +0 -0
  870. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/sidebar/__init__.py +0 -0
  871. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py +0 -0
  872. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/table/__init__.py +0 -0
  873. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/table/table.py +0 -0
  874. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/benchmark/visualization/widgets/widget.py +0 -0
  875. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/experiments.py +0 -0
  876. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/__init__.py +0 -0
  877. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/cache.py +0 -0
  878. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/gui/__init__.py +0 -0
  879. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/gui/gui.py +0 -0
  880. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/gui/serving_gui.py +0 -0
  881. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/gui/serving_gui_template.py +0 -0
  882. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/inference.py +0 -0
  883. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/__init__.py +0 -0
  884. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/__init__.py +0 -0
  885. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/classes_ui.py +0 -0
  886. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/deploy_ui.py +0 -0
  887. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/main_ui.py +0 -0
  888. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/preview.py +0 -0
  889. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/dashboard/preview_image.py +0 -0
  890. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/instance_segmentation/instance_segmentation.py +0 -0
  891. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/interactive_segmentation/__init__.py +0 -0
  892. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/interactive_segmentation/functional.py +0 -0
  893. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/interactive_segmentation/interactive_segmentation.py +0 -0
  894. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/object_detection/__init__.py +0 -0
  895. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/object_detection/object_detection.py +0 -0
  896. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/object_detection_3d/__init__.py +0 -0
  897. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/object_detection_3d/object_detection_3d.py +0 -0
  898. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/pose_estimation/__init__.py +0 -0
  899. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/pose_estimation/pose_estimation.py +0 -0
  900. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/prompt_based_object_detection/__init__.py +0 -0
  901. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/prompt_based_object_detection/propmt_based_object_detection.py +0 -0
  902. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/promptable_segmentation/__init__.py +0 -0
  903. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/promptable_segmentation/promptable_segmentation.py +0 -0
  904. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/salient_object_segmentation/__init__.py +0 -0
  905. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/salient_object_segmentation/salient_object_segmentation.py +0 -0
  906. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/semantic_segmentation/__init__.py +0 -0
  907. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/semantic_segmentation/semantic_segmentation.py +0 -0
  908. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/session.py +0 -0
  909. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/__init__.py +0 -0
  910. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/bbox_tracking.py +0 -0
  911. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/functional.py +0 -0
  912. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/mask_tracking.py +0 -0
  913. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/object_tracking_3d.py +0 -0
  914. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/point_tracking.py +0 -0
  915. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/tracker3d_interface.py +0 -0
  916. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/tracking/tracker_interface.py +0 -0
  917. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/inference/video_inference.py +0 -0
  918. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/__init__.py +0 -0
  919. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/config.py +0 -0
  920. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/dataset.py +0 -0
  921. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/__init__.py +0 -0
  922. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/class_indexing.py +0 -0
  923. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/constants.py +0 -0
  924. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/deploy.py +0 -0
  925. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/inference_batch.py +0 -0
  926. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/inference_batch_multiprocess.py +0 -0
  927. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/inference_modes.py +0 -0
  928. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/inference_single_image.py +0 -0
  929. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/legacy/__init__.py +0 -0
  930. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/legacy/inference_config.py +0 -0
  931. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/pytorch/__init__.py +0 -0
  932. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/pytorch/constants.py +0 -0
  933. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/pytorch/inference_applier.py +0 -0
  934. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/pytorch/trainer.py +0 -0
  935. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/hosted/trainer.py +0 -0
  936. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/inference/__init__.py +0 -0
  937. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/inference/rest_client.py +0 -0
  938. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/inference/rest_constants.py +0 -0
  939. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/inference/rest_server.py +0 -0
  940. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/__init__.py +0 -0
  941. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/cuda.py +0 -0
  942. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/dataset.py +0 -0
  943. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/inference.py +0 -0
  944. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/metrics.py +0 -0
  945. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/pytorch/weights.py +0 -0
  946. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/raw_to_labels.py +0 -0
  947. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/training/__init__.py +0 -0
  948. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/legacy/training/eval_planner.py +0 -0
  949. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/prediction_dto.py +0 -0
  950. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/task_type.py +0 -0
  951. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/__init__.py +0 -0
  952. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/__init__.py +0 -0
  953. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/basetrack.py +0 -0
  954. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/bot_sort.py +0 -0
  955. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/fast_reid_interface.py +0 -0
  956. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/matching.py +0 -0
  957. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/bot_sort/sly_tracker.py +0 -0
  958. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/__init__.py +0 -0
  959. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/__init__.py +0 -0
  960. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/detection.py +0 -0
  961. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/iou_matching.py +0 -0
  962. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/kalman_filter.py +0 -0
  963. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/linear_assignment.py +0 -0
  964. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/nn_matching.py +0 -0
  965. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/track.py +0 -0
  966. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort/tracker.py +0 -0
  967. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/deep_sort.py +0 -0
  968. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/generate_clip_detections.py +0 -0
  969. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/preprocessing.py +0 -0
  970. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/deep_sort/sly_tracker.py +0 -0
  971. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/tracker.py +0 -0
  972. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/utils/__init__.py +0 -0
  973. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/utils/gmc.py +0 -0
  974. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/tracker/utils/kalman_filter.py +0 -0
  975. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/__init__.py +0 -0
  976. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/__init__.py +0 -0
  977. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/classes_selector.py +0 -0
  978. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/gui.py +0 -0
  979. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/hyperparameters_selector.py +0 -0
  980. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/input_selector.py +0 -0
  981. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/model_selector.py +0 -0
  982. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/train_val_splits_selector.py +0 -0
  983. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/training_artifacts.py +0 -0
  984. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/training_logs.py +0 -0
  985. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/training_process.py +0 -0
  986. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/gui/utils.py +0 -0
  987. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/loggers/__init__.py +0 -0
  988. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/loggers/base_train_logger.py +0 -0
  989. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/loggers/tensorboard_logger.py +0 -0
  990. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/training/train_app.py +0 -0
  991. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/nn/utils.py +0 -0
  992. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/output/__init__.py +0 -0
  993. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud/__init__.py +0 -0
  994. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud/pointcloud.py +0 -0
  995. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/__init__.py +0 -0
  996. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/constants.py +0 -0
  997. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_annotation.py +0 -0
  998. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_annotation.py +0 -0
  999. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_frame.py +0 -0
  1000. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_frame_collection.py +0 -0
  1001. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_object.py +0 -0
  1002. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_object_collection.py +0 -0
  1003. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_tag.py +0 -0
  1004. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_episode_tag_collection.py +0 -0
  1005. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_figure.py +0 -0
  1006. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_object.py +0 -0
  1007. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_object_collection.py +0 -0
  1008. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_tag.py +0 -0
  1009. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_annotation/pointcloud_tag_collection.py +0 -0
  1010. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_episodes/__init__.py +0 -0
  1011. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pointcloud_episodes/pointcloud_episodes.py +0 -0
  1012. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/__init__.py +0 -0
  1013. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/data_version.py +0 -0
  1014. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/download.py +0 -0
  1015. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/pointcloud_episode_project.py +0 -0
  1016. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/pointcloud_project.py +0 -0
  1017. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/project_meta.py +0 -0
  1018. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/project_settings.py +0 -0
  1019. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/project_type.py +0 -0
  1020. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/readme_template.md +0 -0
  1021. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/upload.py +0 -0
  1022. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/video_project.py +0 -0
  1023. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/project/volume_project.py +0 -0
  1024. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pyscripts_utils/__init__.py +0 -0
  1025. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/pyscripts_utils/utils.py +0 -0
  1026. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/report/__init__.py +0 -0
  1027. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/report/table.py +0 -0
  1028. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/script/__init__.py +0 -0
  1029. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/script/utils.py +0 -0
  1030. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/sly_logger.py +0 -0
  1031. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/task/__init__.py +0 -0
  1032. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/task/paths.py +0 -0
  1033. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/task/progress.py +0 -0
  1034. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/task/task_logger.py +0 -0
  1035. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/team_files/__init__.py +0 -0
  1036. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/team_files/team_files_path.py +0 -0
  1037. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/tiny_timer.py +0 -0
  1038. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/user/__init__.py +0 -0
  1039. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/user/user.py +0 -0
  1040. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video/__init__.py +0 -0
  1041. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video/import_utils.py +0 -0
  1042. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video/video.py +0 -0
  1043. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/__init__.py +0 -0
  1044. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/constants.py +0 -0
  1045. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/frame.py +0 -0
  1046. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/frame_collection.py +0 -0
  1047. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/key_id_map.py +0 -0
  1048. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_annotation.py +0 -0
  1049. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_figure.py +0 -0
  1050. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_object.py +0 -0
  1051. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_object_collection.py +0 -0
  1052. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_tag.py +0 -0
  1053. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/video_annotation/video_tag_collection.py +0 -0
  1054. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume/__init__.py +0 -0
  1055. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume/nrrd_encoder.py +0 -0
  1056. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume/nrrd_loader.py +0 -0
  1057. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume/stl_converter.py +0 -0
  1058. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume/volume.py +0 -0
  1059. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/__init__.py +0 -0
  1060. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/constants.py +0 -0
  1061. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/plane.py +0 -0
  1062. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/slice.py +0 -0
  1063. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_annotation.py +0 -0
  1064. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_figure.py +0 -0
  1065. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_object.py +0 -0
  1066. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_object_collection.py +0 -0
  1067. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_tag.py +0 -0
  1068. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/volume_annotation/volume_tag_collection.py +0 -0
  1069. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/__init__.py +0 -0
  1070. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/agent_api.py +0 -0
  1071. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/agent_rpc.py +0 -0
  1072. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/chunking.py +0 -0
  1073. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/interfaces.py +0 -0
  1074. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/retriers.py +0 -0
  1075. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_api/rpc_servicer.py +0 -0
  1076. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_proto/__init__.py +0 -0
  1077. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_proto/worker_api_pb2.py +0 -0
  1078. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely/worker_proto/worker_api_pb2_grpc.py +0 -0
  1079. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely.egg-info/SOURCES.txt +0 -0
  1080. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely.egg-info/dependency_links.txt +0 -0
  1081. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely.egg-info/entry_points.txt +0 -0
  1082. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely.egg-info/requires.txt +0 -0
  1083. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely.egg-info/top_level.txt +0 -0
  1084. {supervisely-6.73.280 → supervisely-6.73.282}/supervisely_lib/__init__.py +0 -0
  1085. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test-api-file-list.py +0 -0
  1086. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_api_video.py +0 -0
  1087. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_file_api.py +0 -0
  1088. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_image_api.py +0 -0
  1089. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_pcd_api.py +0 -0
  1090. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_project.py +0 -0
  1091. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_project_video.py +0 -0
  1092. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_video_api.py +0 -0
  1093. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_async_volume_api.py +0 -0
  1094. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_output.py +0 -0
  1095. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_setup.py +0 -0
  1096. {supervisely-6.73.280 → supervisely-6.73.282}/tests/test_video_rotations.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.280
3
+ Version: 6.73.282
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -5,12 +5,14 @@
5
5
  from __future__ import annotations
6
6
 
7
7
  import asyncio
8
+ import copy
8
9
  import io
9
10
  import json
10
11
  import re
11
12
  import urllib.parse
12
13
  from collections import defaultdict
13
14
  from concurrent.futures import ThreadPoolExecutor
15
+ from contextlib import contextmanager
14
16
  from datetime import datetime
15
17
  from functools import partial
16
18
  from math import ceil
@@ -103,7 +105,8 @@ class ImageInfo(NamedTuple):
103
105
  meta={},
104
106
  path_original='/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpg',
105
107
  full_storage_url='http://app.supervise.ly/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpg'),
106
- tags=[]
108
+ tags=[],
109
+ created_by='admin'
107
110
  )
108
111
  """
109
112
 
@@ -148,7 +151,13 @@ class ImageInfo(NamedTuple):
148
151
  #: :class:`str`: Time of last image update. e.g. "2019-02-22T14:59:53.381Z".
149
152
  updated_at: str
150
153
 
151
- #: :class:`dict`: Custom additional image info.
154
+ #: :class:`dict`: Custom additional image info that contain image technical and/or user-generated data.
155
+ #: To set custom sort parameter for image, you can do the follwoing:
156
+ #: 1. With the uploading use `add_custom_sort` context manager to set the key name of meta object that will be used for custom sorting.
157
+ #: 2. Before uploading add value to meta dict with method `update_custom_sort`
158
+ #: 3. Before uploading add key-value pair with key `customSort` to meta dict, image info file or meta file.
159
+ #: 4. After uploading `set_custom_sort` method to set custom sort value for image.
160
+ #: e.g. {'my-key':'a', 'my-key: "b", "customSort": "c"}.
152
161
  meta: dict
153
162
 
154
163
  #: :class:`str`: Relative storage URL to image. e.g.
@@ -249,12 +258,62 @@ class ImageApi(RemoveableBulkModuleApi):
249
258
  """
250
259
  return "ImageInfo"
251
260
 
261
+ def _add_custom_sort(self, meta: dict, name: Optional[str] = None) -> dict:
262
+ """
263
+ Add `customSort` key with value to meta dict based on the `sort_by` attribute of `ImageApi` object:
264
+ - `sort_by` attribute is set by `add_custom_sort` context manager and available for the duration of the context.
265
+ - `sort_by` attribute is used to set the key name of meta object that will "link" its value to the custom sorting.
266
+
267
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
268
+ :type meta: dict
269
+ :param name: Name of the image. Used for improved debug logging.
270
+ :type name: str, optional
271
+ :return: Updated meta.
272
+ :rtype: dict
273
+ """
274
+ sort_value = meta.get(self.sort_by, None)
275
+ if sort_value:
276
+ meta[ApiField.CUSTOM_SORT] = str(sort_value)
277
+ message = f"Custom sorting applied with key '{self.sort_by}' and value '{sort_value}'."
278
+ else:
279
+ message = f"Custom sorting will not be applied. Key '{self.sort_by}' not found in meta."
280
+ if name:
281
+ message = f"Image '{name}': {message}"
282
+ logger.debug(message)
283
+ return meta
284
+
285
+ @contextmanager
286
+ def add_custom_sort(self, key: str):
287
+ """
288
+ Use this context manager to set the key name of meta object that will be used for custom sorting.
289
+ This context manager allows you to set the `sort_by` attribute of ImageApi object for the duration of the context, then delete it.
290
+ If nested functions support this functionality, each image they process will automatically receive a custom sorting parameter based on the available meta object.
291
+
292
+ :param key: It is a key name of meta object that will be used for sorting.
293
+ :type key: str
294
+ """
295
+ # pylint: disable=access-member-before-definition
296
+ if hasattr(self, "sort_by") and self.sort_by != key:
297
+ raise AttributeError(
298
+ f"Attribute 'sort_by' already exists and has different value: {self.sort_by}"
299
+ )
300
+ # pylint: enable=access-member-before-definition
301
+ self.sort_by = key
302
+ self.sort_by_context_counter = getattr(self, "sort_by_context_counter", 0) + 1
303
+ try:
304
+ yield
305
+ finally:
306
+ self.sort_by_context_counter -= 1
307
+ if self.sort_by_context_counter == 0:
308
+ del self.sort_by
309
+ del self.sort_by_context_counter
310
+
252
311
  def get_list_generator(
253
312
  self,
254
313
  dataset_id: int = None,
255
314
  filters: Optional[List[Dict[str, str]]] = None,
256
- sort: Optional[str] = "id",
257
- sort_order: Optional[str] = "asc",
315
+ sort: Optional[str] = "id", #! Does not work with pagination mode 'token'
316
+ sort_order: Optional[str] = "asc", #! Does not work with pagination mode 'token'
258
317
  limit: Optional[int] = None,
259
318
  force_metadata_for_links: Optional[bool] = False,
260
319
  batch_size: Optional[int] = None,
@@ -267,7 +326,7 @@ class ImageApi(RemoveableBulkModuleApi):
267
326
  :type dataset_id: :class:`int`
268
327
  :param filters: List of params to sort output Images.
269
328
  :type filters: :class:`List[Dict]`, optional
270
- :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt'}
329
+ :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt', `customSort`}
271
330
  :type sort: :class:`str`, optional
272
331
  :param sort_order: Sort order. One of {'asc' (default), 'desc'}
273
332
  :type sort_order: :class:`str`, optional
@@ -339,7 +398,7 @@ class ImageApi(RemoveableBulkModuleApi):
339
398
  :type dataset_id: :class:`int`
340
399
  :param filters: List of params to sort output Images.
341
400
  :type filters: :class:`List[Dict]`, optional
342
- :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt'}
401
+ :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt', `customSort`}
343
402
  :type sort: :class:`str`, optional
344
403
  :param sort_order: Sort order. One of {'asc' (default), 'desc'}
345
404
  :type sort_order: :class:`str`, optional
@@ -455,7 +514,7 @@ class ImageApi(RemoveableBulkModuleApi):
455
514
  :type dataset_id: :class:`int`
456
515
  :param filters: List of params to sort output Images.
457
516
  :type filters: :class:`List[Dict]`, optional
458
- :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt'}.
517
+ :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt', 'customSort'}.
459
518
  :type sort: :class:`str`, optional
460
519
  :param sort_order: Sort order. One of {'asc' (default), 'desc'}
461
520
  :type sort_order: :class:`str`, optional
@@ -1157,13 +1216,17 @@ class ImageApi(RemoveableBulkModuleApi):
1157
1216
  """
1158
1217
  Uploads Image with given name from given local path to Dataset.
1159
1218
 
1219
+ If you include `meta` during the upload, you can add a custom sort parameter for image.
1220
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1221
+ Refer to the example section for more details.
1222
+
1160
1223
  :param dataset_id: Dataset ID in Supervisely.
1161
1224
  :type dataset_id: int
1162
1225
  :param name: Image name with extension.
1163
1226
  :type name: str
1164
1227
  :param path: Local Image path.
1165
1228
  :type path: str
1166
- :param meta: Image metadata.
1229
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
1167
1230
  :type meta: dict, optional
1168
1231
  :param validate_meta: If True, validates provided meta with saved JSON schema.
1169
1232
  :type validate_meta: bool, optional
@@ -1184,6 +1247,12 @@ class ImageApi(RemoveableBulkModuleApi):
1184
1247
  api = sly.Api.from_env()
1185
1248
 
1186
1249
  img_info = api.image.upload_path(dataset_id, name="7777.jpeg", path="/home/admin/Downloads/7777.jpeg")
1250
+
1251
+ # Add custom sort parameter for image
1252
+ img_meta = {'my-key':'a'}
1253
+ with api.image.add_custom_sort(key="my-key"):
1254
+ img_info = api.image.upload_path(dataset_id, name="7777.jpeg", path="/home/admin/Downloads/7777.jpeg", meta=img_meta)
1255
+
1187
1256
  """
1188
1257
  metas = None if meta is None else [meta]
1189
1258
  return self.upload_paths(
@@ -1211,6 +1280,10 @@ class ImageApi(RemoveableBulkModuleApi):
1211
1280
  """
1212
1281
  Uploads Images with given names from given local path to Dataset.
1213
1282
 
1283
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
1284
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1285
+ Refer to the example section for more details.
1286
+
1214
1287
  :param dataset_id: Dataset ID in Supervisely.
1215
1288
  :type dataset_id: int
1216
1289
  :param names: List of Images names with extension.
@@ -1219,7 +1292,7 @@ class ImageApi(RemoveableBulkModuleApi):
1219
1292
  :type paths: List[str]
1220
1293
  :param progress_cb: Function for tracking the progress of uploading.
1221
1294
  :type progress_cb: tqdm or callable, optional
1222
- :param metas: Images metadata.
1295
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
1223
1296
  :type metas: List[dict], optional
1224
1297
  :param conflict_resolution: The strategy to resolve upload conflicts. 'Replace' option will replace the existing images in the dataset with the new images. The images that are being deleted are logged. 'Skip' option will ignore the upload of new images that would result in a conflict. An original image's ImageInfo list will be returned instead. 'Rename' option will rename the new images to prevent any conflict.
1225
1298
  :type conflict_resolution: Optional[Literal["rename", "skip", "replace"]]
@@ -1243,7 +1316,12 @@ class ImageApi(RemoveableBulkModuleApi):
1243
1316
  img_names = ["7777.jpeg", "8888.jpeg", "9999.jpeg"]
1244
1317
  image_paths = ["/home/admin/Downloads/img/770918.jpeg", "/home/admin/Downloads/img/770919.jpeg", "/home/admin/Downloads/img/770920.jpeg"]
1245
1318
 
1246
- img_infos = api.image.upload_path(dataset_id, names=img_names, paths=img_paths)
1319
+ img_infos = api.image.upload_paths(dataset_id, names=img_names, paths=img_paths)
1320
+
1321
+ # Add custom sort parameter for images
1322
+ img_metas = [{'my-key':'a'}, {'my-key':'b'}, {'my-key':'c'}]
1323
+ with api.image.add_custom_sort(key="my-key"):
1324
+ img_infos = api.image.upload_paths(dataset_id, names=img_names, paths=img_paths, metas=img_metas)
1247
1325
  """
1248
1326
 
1249
1327
  def path_to_bytes_stream(path):
@@ -1270,13 +1348,17 @@ class ImageApi(RemoveableBulkModuleApi):
1270
1348
  """
1271
1349
  Upload given Image in numpy format with given name to Dataset.
1272
1350
 
1351
+ If you include `meta` during the upload, you can add a custom sort parameter for image.
1352
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1353
+ Refer to the example section for more details.
1354
+
1273
1355
  :param dataset_id: Dataset ID in Supervisely.
1274
1356
  :type dataset_id: int
1275
1357
  :param name: Image name with extension.
1276
1358
  :type name: str
1277
1359
  :param img: image in RGB format(numpy matrix)
1278
1360
  :type img: np.ndarray
1279
- :param meta: Image metadata.
1361
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
1280
1362
  :type meta: dict, optional
1281
1363
  :return: Information about Image. See :class:`info_sequence<info_sequence>`
1282
1364
  :rtype: :class:`ImageInfo`
@@ -1292,6 +1374,11 @@ class ImageApi(RemoveableBulkModuleApi):
1292
1374
 
1293
1375
  img_np = sly.image.read("/home/admin/Downloads/7777.jpeg")
1294
1376
  img_info = api.image.upload_np(dataset_id, name="7777.jpeg", img=img_np)
1377
+
1378
+ # Add custom sort parameter for image
1379
+ img_meta = {'my-key':'a'}
1380
+ with api.image.add_custom_sort(key="my-key"):
1381
+ img_info = api.image.upload_np(dataset_id, name="7777.jpeg", img=img_np, meta=img_meta)
1295
1382
  """
1296
1383
  metas = None if meta is None else [meta]
1297
1384
  return self.upload_nps(dataset_id, [name], [img], metas=metas)[0]
@@ -1308,6 +1395,10 @@ class ImageApi(RemoveableBulkModuleApi):
1308
1395
  """
1309
1396
  Upload given Images in numpy format with given names to Dataset.
1310
1397
 
1398
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
1399
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1400
+ Refer to the example section for more details.
1401
+
1311
1402
  :param dataset_id: Dataset ID in Supervisely.
1312
1403
  :type dataset_id: int
1313
1404
  :param names: Images names with extension.
@@ -1316,7 +1407,7 @@ class ImageApi(RemoveableBulkModuleApi):
1316
1407
  :type imgs: List[np.ndarray]
1317
1408
  :param progress_cb: Function for tracking the progress of uploading.
1318
1409
  :type progress_cb: tqdm or callable, optional
1319
- :param metas: Images metadata.
1410
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
1320
1411
  :type metas: List[dict], optional
1321
1412
  :param conflict_resolution: The strategy to resolve upload conflicts. 'Replace' option will replace the existing images in the dataset with the new images. The images that are being deleted are logged. 'Skip' option will ignore the upload of new images that would result in a conflict. An original image's ImageInfo list will be returned instead. 'Rename' option will rename the new images to prevent any conflict.
1322
1413
  :type conflict_resolution: Optional[Literal["rename", "skip", "replace"]]
@@ -1340,6 +1431,11 @@ class ImageApi(RemoveableBulkModuleApi):
1340
1431
  img_nps = [img_np_1, img_np_2, img_np_3]
1341
1432
 
1342
1433
  img_infos = api.image.upload_nps(dataset_id, names=img_names, imgs=img_nps)
1434
+
1435
+ # Add custom sort parameter for images
1436
+ img_metas = [{'my-key':'a'}, {'my-key':'b'}, {'my-key':'c'}]
1437
+ with api.image.add_custom_sort(key="my-key"):
1438
+ img_infos = api.image.upload_nps(dataset_id, names=img_names, imgs=img_nps, metas=img_metas)
1343
1439
  """
1344
1440
 
1345
1441
  def img_to_bytes_stream(item):
@@ -1372,13 +1468,17 @@ class ImageApi(RemoveableBulkModuleApi):
1372
1468
  """
1373
1469
  Uploads Image from given link to Dataset.
1374
1470
 
1471
+ If you include `meta` during the upload, you can add a custom sort parameter for image.
1472
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1473
+ Refer to the example section for more details.
1474
+
1375
1475
  :param dataset_id: Dataset ID in Supervisely.
1376
1476
  :type dataset_id: int
1377
1477
  :param name: Image name with extension.
1378
1478
  :type name: str
1379
1479
  :param link: Link to Image.
1380
1480
  :type link: str
1381
- :param meta: Image metadata.
1481
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
1382
1482
  :type meta: dict, optional
1383
1483
  :param force_metadata_for_links: Calculate metadata for link. If False, metadata will be empty.
1384
1484
  :type force_metadata_for_links: bool, optional
@@ -1398,6 +1498,11 @@ class ImageApi(RemoveableBulkModuleApi):
1398
1498
  img_link = 'https://m.media-amazon.com/images/M/MV5BMTYwOTEwNjAzMl5BMl5BanBnXkFtZTcwODc5MTUwMw@@._V1_.jpg'
1399
1499
 
1400
1500
  img_info = api.image.upload_link(dataset_id, img_name, img_link)
1501
+
1502
+ # Add custom sort parameter for image
1503
+ img_meta = {"my-key": "a"}
1504
+ with api.image.add_custom_sort(key="my-key"):
1505
+ img_info = api.image.upload_link(dataset_id, img_name, img_link, meta=img_meta)
1401
1506
  """
1402
1507
  metas = None if meta is None else [meta]
1403
1508
  return self.upload_links(
@@ -1423,6 +1528,10 @@ class ImageApi(RemoveableBulkModuleApi):
1423
1528
  """
1424
1529
  Uploads Images from given links to Dataset.
1425
1530
 
1531
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
1532
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1533
+ Refer to the example section for more details.
1534
+
1426
1535
  :param dataset_id: Dataset ID in Supervisely.
1427
1536
  :type dataset_id: int
1428
1537
  :param names: Images names with extension.
@@ -1431,7 +1540,7 @@ class ImageApi(RemoveableBulkModuleApi):
1431
1540
  :type links: List[str]
1432
1541
  :param progress_cb: Function for tracking the progress of uploading.
1433
1542
  :type progress_cb: tqdm or callable, optional
1434
- :param metas: Images metadata.
1543
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
1435
1544
  :type metas: List[dict], optional
1436
1545
  :param force_metadata_for_links: Calculate metadata for links. If False, metadata will be empty.
1437
1546
  :type force_metadata_for_links: bool, optional
@@ -1457,6 +1566,11 @@ class ImageApi(RemoveableBulkModuleApi):
1457
1566
  'https://m.media-amazon.com/images/M/MV5BNjQ3NWNlNmQtMTE5ZS00MDdmLTlkZjUtZTBlM2UxMGFiMTU3XkEyXkFqcGdeQXVyNjUwNzk3NDc@._V1_.jpg']
1458
1567
 
1459
1568
  img_infos = api.image.upload_links(dataset_id, img_names, img_links)
1569
+
1570
+ # Add custom sort parameter for images
1571
+ img_metas = [{'my-key':'a'}, {'my-key':'b'}, {'my-key':'c'}]
1572
+ with api.image.add_custom_sort(key="my-key"):
1573
+ img_infos = api.image.upload_links(dataset_id, names=img_names, links=img_links, metas=img_metas)
1460
1574
  """
1461
1575
  return self._upload_bulk_add(
1462
1576
  lambda item: (ApiField.LINK, item),
@@ -1477,13 +1591,17 @@ class ImageApi(RemoveableBulkModuleApi):
1477
1591
  """
1478
1592
  Upload Image from given hash to Dataset.
1479
1593
 
1594
+ If you include `meta` during the upload, you can add a custom sort parameter for image.
1595
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1596
+ Refer to the example section for more details.
1597
+
1480
1598
  :param dataset_id: Dataset ID in Supervisely.
1481
1599
  :type dataset_id: int
1482
1600
  :param name: Image name with extension.
1483
1601
  :type name: str
1484
1602
  :param hash: Image hash.
1485
1603
  :type hash: str
1486
- :param meta: Image metadata.
1604
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
1487
1605
  :type meta: dict, optional
1488
1606
  :return: Information about Image. See :class:`info_sequence<info_sequence>`
1489
1607
  :rtype: :class:`ImageInfo`
@@ -1525,6 +1643,14 @@ class ImageApi(RemoveableBulkModuleApi):
1525
1643
  # "/h5un6l2bnaz1vj8a9qgms4-public/images/original/P/a/kn/W2mzMQg435d6wG0.jpg",
1526
1644
  # "https://app.supervise.ly/h5un6l2bnaz1vj8a9qgms4-public/images/original/P/a/kn/W2mzMQg435hiHJAPgMU.jpg"
1527
1645
  # ]
1646
+
1647
+ # Add custom sort parameter for image
1648
+ new_dataset_id = 452985
1649
+ im_info = api.image.get_info_by_id(193940090)
1650
+ print(im_info.meta)
1651
+ # Output: {'my-key':'a'}
1652
+ with api.image.add_custom_sort(key="my-key"):
1653
+ img_info = api.image.upload_hash(new_dataset_id, name=im_info.name, hash=im_info.hash, meta=im_info.meta)
1528
1654
  """
1529
1655
  metas = None if meta is None else [meta]
1530
1656
  return self.upload_hashes(dataset_id, [name], [hash], metas=metas)[0]
@@ -1546,6 +1672,10 @@ class ImageApi(RemoveableBulkModuleApi):
1546
1672
  """
1547
1673
  Upload images from given hashes to Dataset.
1548
1674
 
1675
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
1676
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1677
+ Refer to the example section for more details.
1678
+
1549
1679
  :param dataset_id: Dataset ID in Supervisely.
1550
1680
  :type dataset_id: int
1551
1681
  :param names: Images names with extension.
@@ -1554,7 +1684,7 @@ class ImageApi(RemoveableBulkModuleApi):
1554
1684
  :type hashes: List[str]
1555
1685
  :param progress_cb: Function for tracking the progress of uploading.
1556
1686
  :type progress_cb: tqdm or callable, optional
1557
- :param metas: Images metadata.
1687
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
1558
1688
  :type metas: List[dict], optional
1559
1689
  :param batch_size: Number of images to upload in one batch.
1560
1690
  :type batch_size: int, optional
@@ -1598,6 +1728,12 @@ class ImageApi(RemoveableBulkModuleApi):
1598
1728
  # Output:
1599
1729
  # {"message": "progress", "event_type": "EventType.PROGRESS", "subtask": "Images downloaded: ", "current": 0, "total": 10, "timestamp": "2021-03-16T11:59:07.444Z", "level": "info"}
1600
1730
  # {"message": "progress", "event_type": "EventType.PROGRESS", "subtask": "Images downloaded: ", "current": 10, "total": 10, "timestamp": "2021-03-16T11:59:07.644Z", "level": "info"}
1731
+
1732
+ # Add custom sort parameter for images
1733
+ new_dataset_id = 452985
1734
+ new_metas = [{'my-key':'a'}, {'my-key':'b'}, {'my-key':'c'}]
1735
+ with api.image.add_custom_sort(key="my-key"):
1736
+ img_infos = api.image.upload_hashes(new_dataset_id, names=names, hashes=hashes, metas=new_metas)
1601
1737
  """
1602
1738
  return self._upload_bulk_add(
1603
1739
  lambda item: (ApiField.HASH, item),
@@ -1620,13 +1756,17 @@ class ImageApi(RemoveableBulkModuleApi):
1620
1756
  """
1621
1757
  Upload Image by ID to Dataset.
1622
1758
 
1759
+ If you include `meta` during the upload, you can add a custom sort parameter for image.
1760
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1761
+ Refer to the example section for more details.
1762
+
1623
1763
  :param dataset_id: Destination Dataset ID in Supervisely.
1624
1764
  :type dataset_id: int
1625
1765
  :param name: Image name with extension.
1626
1766
  :type name: str
1627
1767
  :param id: Source image ID in Supervisely.
1628
1768
  :type id: int
1629
- :param meta: Image metadata.
1769
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
1630
1770
  :type meta: dict, optional
1631
1771
  :return: Information about Image. See :class:`info_sequence<info_sequence>`
1632
1772
  :rtype: :class:`ImageInfo`
@@ -1668,6 +1808,14 @@ class ImageApi(RemoveableBulkModuleApi):
1668
1808
  # "/h5un6l2bnaz1vj8a9qgms4-public/images/original/P/a/kn/W2mzMQg435d6wG0AJGJTOsL1FqMUNOPqu4VdzFAN36LqtGwBIE4AmLOQ1BAxuIyB0bHJAPgMU.jpg",
1669
1809
  # "https://app.supervise.ly/h5un6l2bnaz1vj8a9qgms4-public/images/original/P/a/kn/iEaDEkejnfnb1Tz56ka0hiHJAPgMU.jpg"
1670
1810
  # ]
1811
+
1812
+ # Add custom sort parameter for image
1813
+ new_dataset_id = 452985
1814
+ im_info = api.image.get_info_by_id(193940090)
1815
+ print(im_info.meta)
1816
+ # Output: {"my-key": "a"}
1817
+ with api.image.add_custom_sort(key="my-key"):
1818
+ img_info = api.image.upload_id(new_dataset_id, name=im_info.name, id=im_info.id, meta=im_info.meta)
1671
1819
  """
1672
1820
  metas = None if meta is None else [meta]
1673
1821
  return self.upload_ids(dataset_id, [name], [id], metas=metas)[0]
@@ -1688,6 +1836,10 @@ class ImageApi(RemoveableBulkModuleApi):
1688
1836
  """
1689
1837
  Upload Images by IDs to Dataset.
1690
1838
 
1839
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
1840
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
1841
+ Refer to the example section for more details.
1842
+
1691
1843
  :param dataset_id: Destination Dataset ID in Supervisely.
1692
1844
  :type dataset_id: int
1693
1845
  :param names: Source images names with extension.
@@ -1696,7 +1848,7 @@ class ImageApi(RemoveableBulkModuleApi):
1696
1848
  :type ids: List[int]
1697
1849
  :param progress_cb: Function for tracking the progress of uploading.
1698
1850
  :type progress_cb: tqdm or callable, optional
1699
- :param metas: Images metadata.
1851
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
1700
1852
  :type metas: List[dict], optional
1701
1853
  :param batch_size: Number of images to upload in one batch.
1702
1854
  :type batch_size: int, optional
@@ -1739,6 +1891,12 @@ class ImageApi(RemoveableBulkModuleApi):
1739
1891
  # Output:
1740
1892
  # {"message": "progress", "event_type": "EventType.PROGRESS", "subtask": "Images downloaded: ", "current": 0, "total": 10, "timestamp": "2021-03-16T12:31:36.550Z", "level": "info"}
1741
1893
  # {"message": "progress", "event_type": "EventType.PROGRESS", "subtask": "Images downloaded: ", "current": 10, "total": 10, "timestamp": "2021-03-16T12:31:37.119Z", "level": "info"}
1894
+
1895
+ # Add custom sort parameter for images
1896
+ new_dataset_id = 452985
1897
+ new_metas = [{'my-key':'a'}, {'my-key':'b'}, {'my-key':'c'}]
1898
+ with api.image.add_custom_sort(key="my-key"):
1899
+ img_infos = api.image.upload_ids(new_dataset_id, names=names, ids=ids, metas=new_metas)
1742
1900
  """
1743
1901
  if metas is None:
1744
1902
  metas = [{}] * len(names)
@@ -1868,6 +2026,8 @@ class ImageApi(RemoveableBulkModuleApi):
1868
2026
  for name, item, meta in zip(names, items, metas):
1869
2027
  item_tuple = func_item_to_kv(item)
1870
2028
  image_data = {ApiField.TITLE: name, item_tuple[0]: item_tuple[1]}
2029
+ if hasattr(self, "sort_by") and self.sort_by is not None:
2030
+ meta = self._add_custom_sort(meta, name)
1871
2031
  if len(meta) != 0 and type(meta) == dict:
1872
2032
  image_data[ApiField.META] = meta
1873
2033
  images.append(image_data)
@@ -2743,7 +2903,7 @@ class ImageApi(RemoveableBulkModuleApi):
2743
2903
 
2744
2904
  :param id: Image ID in Supervisely.
2745
2905
  :type id: int
2746
- :param meta: Image metadata.
2906
+ :param meta: Custom additional image info that contain image technical and/or user-generated data.
2747
2907
  :type meta: dict
2748
2908
  :raises: :class:`TypeError` if meta type is not dict
2749
2909
  :return: Image information in dict format with new meta
@@ -2794,7 +2954,7 @@ class ImageApi(RemoveableBulkModuleApi):
2794
2954
  :type name: str, optional
2795
2955
  :param description: New Image description.
2796
2956
  :type description: str, optional
2797
- :param meta: New Image metadata.
2957
+ :param meta: New Image metadata. Custom additional image info that contain image technical and/or user-generated data.
2798
2958
  :type meta: dict, optional
2799
2959
  :return_json: If True, return response in JSON format, otherwise convert it ImageInfo object.
2800
2960
  This parameter is only added for backward compatibility for update_meta method.
@@ -3137,6 +3297,10 @@ class ImageApi(RemoveableBulkModuleApi):
3137
3297
  Uploads images to Supervisely and adds a tag to them.
3138
3298
  At least one of `paths` or `links` must be provided.
3139
3299
 
3300
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
3301
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
3302
+ Refer to the example section for more details.
3303
+
3140
3304
  :param dataset_id: Dataset ID in Supervisely.
3141
3305
  :type dataset_id: int
3142
3306
  :param tag_name: Tag name in Supervisely.
@@ -3147,7 +3311,7 @@ class ImageApi(RemoveableBulkModuleApi):
3147
3311
  :type group_name: str
3148
3312
  :param paths: List of paths to images.
3149
3313
  :type paths: List[str]
3150
- :param metas: List of dictionaries which adds a customizable meta for every image provided in `paths` parameter.
3314
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
3151
3315
  :type metas: Optional[List[Dict]]
3152
3316
  :param progress_cb: Function for tracking upload progress.
3153
3317
  :type progress_cb: Optional[Union[tqdm, Callable]]
@@ -3190,6 +3354,10 @@ class ImageApi(RemoveableBulkModuleApi):
3190
3354
 
3191
3355
  image_infos = api.image.upload_multiview_images(dataset_id, group_name, paths)
3192
3356
 
3357
+ # Add custom sort parameter for images
3358
+ metas = [{'my-key':'a'}, {'my-key':'b'}]
3359
+ with api.image.add_custom_sort(key="my-key"):
3360
+ image_infos = api.image.upload_multiview_images(dataset_id, group_name, paths, metas)
3193
3361
  """
3194
3362
 
3195
3363
  if paths is None and links is None:
@@ -3389,13 +3557,17 @@ class ImageApi(RemoveableBulkModuleApi):
3389
3557
  """
3390
3558
  Upload medical 2D images (DICOM) to Supervisely and group them by specified or default tag.
3391
3559
 
3560
+ If you include `metas` during the upload, you can add a custom sort parameter for images.
3561
+ To achieve this, use the context manager :func:`api.image.add_custom_sort` with the desired key name from the meta dictionary to be used for sorting.
3562
+ Refer to the example section for more details.
3563
+
3392
3564
  :param dataset_id: Dataset ID in Supervisely.
3393
3565
  :type dataset_id: int
3394
3566
  :param paths: List of paths to images.
3395
3567
  :type paths: List[str]
3396
3568
  :param group_tag_name: Group name. All images will be assigned by tag with this group name. If `group_tag_name` is None, the images will be grouped by one of the default tags.
3397
3569
  :type group_tag_name: str, optional
3398
- :param metas: List of dictionaries which adds a customizable meta for every image provided in `paths` parameter.
3570
+ :param metas: Custom additional image infos that contain images technical and/or user-generated data as list of separate dicts.
3399
3571
  :type metas: List[Dict], optional
3400
3572
  :param progress_cb: Function for tracking upload progress.
3401
3573
  :type progress_cb: tqdm or callable, optional
@@ -3431,6 +3603,10 @@ class ImageApi(RemoveableBulkModuleApi):
3431
3603
  pbar = tqdm(desc="Uploading images", total=len(paths))
3432
3604
  image_infos = api.image.upload_medical_images(dataset_id, paths, group_tag_name, metas)
3433
3605
 
3606
+ # Add custom sort parameter for images
3607
+ metas = [{'my-key':'a'}, {'my-key':'b'}]
3608
+ with api.image.add_custom_sort(key="my-key"):
3609
+ image_infos = api.image.upload_medical_images(dataset_id, paths, group_tag_name, metas)
3434
3610
  """
3435
3611
 
3436
3612
  if metas is None:
@@ -3703,6 +3879,51 @@ class ImageApi(RemoveableBulkModuleApi):
3703
3879
  r = self._api.post("images.update.links", data)
3704
3880
  return r.json()
3705
3881
 
3882
+ def set_custom_sort(
3883
+ self,
3884
+ id: int,
3885
+ sort_value: str,
3886
+ ) -> Dict[str, Any]:
3887
+ """
3888
+ Sets custom sort value for image with given ID.
3889
+
3890
+ :param id: Image ID in Supervisely.
3891
+ :type id: int
3892
+ :param sort_value: Sort value.
3893
+ :type sort_value: str
3894
+ :return: json-encoded content of a response.
3895
+ :rtype: Dict[str, Any]
3896
+ """
3897
+ return self.set_custom_sort_bulk([id], [sort_value])
3898
+
3899
+ def set_custom_sort_bulk(
3900
+ self,
3901
+ ids: List[int],
3902
+ sort_values: List[str],
3903
+ ) -> Dict[str, Any]:
3904
+ """
3905
+ Sets custom sort values for images with given IDs.
3906
+
3907
+ :param ids: Image IDs in Supervisely.
3908
+ :type ids: List[int]
3909
+ :param sort_values: List of custom sort values that will be set for images. It is stored as a key `customSort` value in the image `meta`.
3910
+ :type sort_values: List[str]
3911
+ :return: json-encoded content of a response.
3912
+ :rtype: Dict[str, Any]
3913
+ """
3914
+ if len(ids) != len(sort_values):
3915
+ raise ValueError(
3916
+ f"Length of 'ids' and 'sort_values' is not equal, {len(ids)} != {len(sort_values)}."
3917
+ )
3918
+ data = {
3919
+ ApiField.IMAGES: [
3920
+ {ApiField.ID: id, ApiField.CUSTOM_SORT: sort_value}
3921
+ for id, sort_value in zip(ids, sort_values)
3922
+ ]
3923
+ }
3924
+ response = self._api.post("images.bulk.set-custom-sort", data)
3925
+ return response.json()
3926
+
3706
3927
  async def _download_async(
3707
3928
  self,
3708
3929
  id: int,
@@ -4276,9 +4497,9 @@ class ImageApi(RemoveableBulkModuleApi):
4276
4497
  :type dataset_id: int
4277
4498
  :param filters: Filters for images.
4278
4499
  :type filters: List[Dict[str, str]], optional
4279
- :param sort: Sort images by field.
4500
+ :param sort: Field name to sort. One of {'id' (default), 'name', 'description', 'labelsCount', 'createdAt', 'updatedAt', 'customSort'}.
4280
4501
  :type sort: str, optional
4281
- :param sort_order: Sort order for images.
4502
+ :param sort_order: Sort order for images. One of {'asc' (default), 'desc'}
4282
4503
  :type sort_order: str, optional
4283
4504
  :param force_metadata_for_links: If True, forces metadata for links.
4284
4505
  :type force_metadata_for_links: bool, optional
@@ -4346,3 +4567,19 @@ class ImageApi(RemoveableBulkModuleApi):
4346
4567
 
4347
4568
  async for page in self.get_list_page_generator_async(method, data, total_pages, semaphore):
4348
4569
  yield page
4570
+
4571
+ @staticmethod
4572
+ def update_custom_sort(meta: Dict[str, Any], custom_sort: str) -> Dict[str, Any]:
4573
+ """
4574
+ Updates a copy of the meta dictionary with a new custom sort value.
4575
+
4576
+ :param meta: Image meta dictionary.
4577
+ :type meta: Dict[str, Any]
4578
+ :param custom_sort: Custom sort value.
4579
+ :type custom_sort: str
4580
+ :return: Updated meta dictionary.
4581
+ :rtype: Dict[str, Any]
4582
+ """
4583
+ meta_copy = copy.deepcopy(meta)
4584
+ meta_copy[ApiField.CUSTOM_SORT] = custom_sort
4585
+ return meta_copy
@@ -602,6 +602,10 @@ class ApiField:
602
602
  """"""
603
603
  WITH_SHARED = "withShared"
604
604
  """"""
605
+ EXTRA_FIELDS = "extraFields"
606
+ """"""
607
+ CUSTOM_SORT = "customSort"
608
+ """"""
605
609
 
606
610
 
607
611
  def _get_single_item(items):