supervisely 6.73.247__tar.gz → 6.73.249__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 (1067) hide show
  1. {supervisely-6.73.247/supervisely.egg-info → supervisely-6.73.249}/PKG-INFO +1 -1
  2. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/annotation_api.py +130 -1
  3. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/api.py +1 -1
  4. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/entity_annotation/figure_api.py +90 -1
  5. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/image_api.py +186 -1
  6. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/module_api.py +95 -1
  7. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/release/release.py +23 -21
  8. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/semantic_segmentation/utils.py +4 -1
  9. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/kalman_filter.py +4 -2
  10. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/utils/kalman_filter.py +8 -1
  11. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/download.py +39 -19
  12. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/project.py +173 -23
  13. {supervisely-6.73.247 → supervisely-6.73.249/supervisely.egg-info}/PKG-INFO +1 -1
  14. {supervisely-6.73.247 → supervisely-6.73.249}/LICENSE +0 -0
  15. {supervisely-6.73.247 → supervisely-6.73.249}/README.md +0 -0
  16. {supervisely-6.73.247 → supervisely-6.73.249}/pyproject.toml +0 -0
  17. {supervisely-6.73.247 → supervisely-6.73.249}/setup.cfg +0 -0
  18. {supervisely-6.73.247 → supervisely-6.73.249}/setup.py +0 -0
  19. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/README.md +0 -0
  20. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/__init__.py +0 -0
  21. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/_utils.py +0 -0
  22. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/__init__.py +0 -0
  23. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/annotation.py +0 -0
  24. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/annotation_transforms.py +0 -0
  25. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/json_geometries_map.py +0 -0
  26. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/label.py +0 -0
  27. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/obj_class.py +0 -0
  28. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/obj_class_collection.py +0 -0
  29. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/obj_class_mapper.py +0 -0
  30. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/renamer.py +0 -0
  31. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/tag.py +0 -0
  32. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/tag_collection.py +0 -0
  33. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/tag_meta.py +0 -0
  34. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/tag_meta_collection.py +0 -0
  35. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/annotation/tag_meta_mapper.py +0 -0
  36. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/__init__.py +0 -0
  37. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/advanced_api.py +0 -0
  38. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/agent_api.py +0 -0
  39. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/app_api.py +0 -0
  40. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/dataset_api.py +0 -0
  41. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/entity_annotation/__init__.py +0 -0
  42. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/entity_annotation/entity_annotation_api.py +0 -0
  43. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/entity_annotation/object_api.py +0 -0
  44. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/entity_annotation/tag_api.py +0 -0
  45. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/file_api.py +0 -0
  46. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/github_api.py +0 -0
  47. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/image_annotation_tool_api.py +0 -0
  48. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/import_storage_api.py +0 -0
  49. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/issues_api.py +0 -0
  50. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/labeling_job_api.py +0 -0
  51. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/neural_network_api.py +0 -0
  52. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/object_class_api.py +0 -0
  53. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/plugin_api.py +0 -0
  54. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/__init__.py +0 -0
  55. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_annotation_api.py +0 -0
  56. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_api.py +0 -0
  57. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_episode_annotation_api.py +0 -0
  58. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_episode_api.py +0 -0
  59. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_episode_object_api.py +0 -0
  60. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_episode_tag_api.py +0 -0
  61. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_figure_api.py +0 -0
  62. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_object_api.py +0 -0
  63. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/pointcloud/pointcloud_tag_api.py +0 -0
  64. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/project_api.py +0 -0
  65. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/project_class_api.py +0 -0
  66. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/remote_storage_api.py +0 -0
  67. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/report_api.py +0 -0
  68. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/role_api.py +0 -0
  69. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/storage_api.py +0 -0
  70. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/task_api.py +0 -0
  71. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/team_api.py +0 -0
  72. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/user_api.py +0 -0
  73. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/__init__.py +0 -0
  74. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_annotation_api.py +0 -0
  75. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_api.py +0 -0
  76. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_figure_api.py +0 -0
  77. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_frame_api.py +0 -0
  78. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_object_api.py +0 -0
  79. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video/video_tag_api.py +0 -0
  80. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/video_annotation_tool_api.py +0 -0
  81. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/__init__.py +0 -0
  82. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/volume_annotation_api.py +0 -0
  83. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/volume_api.py +0 -0
  84. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/volume_figure_api.py +0 -0
  85. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/volume_object_api.py +0 -0
  86. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/volume/volume_tag_api.py +0 -0
  87. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/api/workspace_api.py +0 -0
  88. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/__init__.py +0 -0
  89. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/content.py +0 -0
  90. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/development/__init__.py +0 -0
  91. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/development/development.py +0 -0
  92. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/development/sly-net.sh +0 -0
  93. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/exceptions.py +0 -0
  94. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/export_template.py +0 -0
  95. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/__init__.py +0 -0
  96. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/custom_static_files.py +0 -0
  97. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/dialog_window.html +0 -0
  98. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/index.html +0 -0
  99. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/no_html_main.html +0 -0
  100. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/offline.py +0 -0
  101. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/request.py +0 -0
  102. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/subapp.py +0 -0
  103. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/templating.py +0 -0
  104. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/utils.py +0 -0
  105. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/fastapi/websocket.py +0 -0
  106. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/import_template.py +0 -0
  107. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/jinja2.py +0 -0
  108. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/singleton.py +0 -0
  109. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/__init__.py +0 -0
  110. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/app_config.md +0 -0
  111. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/app_service.py +0 -0
  112. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/constants.py +0 -0
  113. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/sly-icon-example.html +0 -0
  114. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/__init__.py +0 -0
  115. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/chart.py +0 -0
  116. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/compare_gallery.py +0 -0
  117. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/empty_grid_gallery.py +0 -0
  118. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/grid_gallery.py +0 -0
  119. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/predictions_dynamics_gallery.py +0 -0
  120. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/progress_bar.py +0 -0
  121. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/v1/widgets/single_image_gallery.py +0 -0
  122. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/__init__.py +0 -0
  123. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/agent_selector/__init__.py +0 -0
  124. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/agent_selector/agent_selector.py +0 -0
  125. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/agent_selector/template.html +0 -0
  126. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/apexchart/__init__.py +0 -0
  127. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/apexchart/apexchart.py +0 -0
  128. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/apexchart/template.html +0 -0
  129. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/augmentations/__init__.py +0 -0
  130. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/augmentations/augmentations.py +0 -0
  131. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/augmentations/template.html +0 -0
  132. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/badge/__init__.py +0 -0
  133. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/badge/badge.py +0 -0
  134. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/badge/template.html +0 -0
  135. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/binded_input_number/__init__.py +0 -0
  136. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/binded_input_number/binded_input_number.py +0 -0
  137. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/binded_input_number/template.html +0 -0
  138. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/button/__init__.py +0 -0
  139. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/button/button.py +0 -0
  140. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/button/style.css +0 -0
  141. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/button/template.html +0 -0
  142. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/card/__init__.py +0 -0
  143. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/card/card.py +0 -0
  144. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/card/style.css +0 -0
  145. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/card/template.html +0 -0
  146. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/carousel/__init__.py +0 -0
  147. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/carousel/carousel.py +0 -0
  148. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/carousel/template.html +0 -0
  149. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/cascader/__init__.py +0 -0
  150. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/cascader/cascader.py +0 -0
  151. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/cascader/template.html +0 -0
  152. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox/__init__.py +0 -0
  153. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox/checkbox.py +0 -0
  154. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox/template.html +0 -0
  155. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox_field/__init__.py +0 -0
  156. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox_field/checkbox_field.py +0 -0
  157. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/checkbox_field/template.html +0 -0
  158. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/circle_progress/__init__.py +0 -0
  159. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/circle_progress/circle_progress.py +0 -0
  160. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/circle_progress/template.html +0 -0
  161. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/class_balance/__init__.py +0 -0
  162. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/class_balance/class_balance.py +0 -0
  163. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/class_balance/template.html +0 -0
  164. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_color_mapping/__init__.py +0 -0
  165. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_color_mapping/classes_color_mapping.py +0 -0
  166. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_color_mapping/style.css +0 -0
  167. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_color_mapping/template.html +0 -0
  168. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_preview/__init__.py +0 -0
  169. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_preview/classes_list_preview.py +0 -0
  170. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_preview/style.css +0 -0
  171. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_preview/template.html +0 -0
  172. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_selector/__init__.py +0 -0
  173. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_selector/classes_list_selector.py +0 -0
  174. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_selector/style.css +0 -0
  175. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_list_selector/template.html +0 -0
  176. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping/__init__.py +0 -0
  177. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping/classes_mapping.py +0 -0
  178. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping/template.html +0 -0
  179. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping_preview/__init__.py +0 -0
  180. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping_preview/classes_mapping_preview.py +0 -0
  181. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping_preview/style.css +0 -0
  182. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_mapping_preview/template.html +0 -0
  183. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_table/__init__.py +0 -0
  184. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_table/classes_table.py +0 -0
  185. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_table/style.css +0 -0
  186. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classes_table/template.html +0 -0
  187. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classic_table/__init__.py +0 -0
  188. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classic_table/classic_table.py +0 -0
  189. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/classic_table/template.html +0 -0
  190. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/collapse/__init__.py +0 -0
  191. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/collapse/collapse.py +0 -0
  192. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/collapse/template.html +0 -0
  193. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/color_picker/__init__.py +0 -0
  194. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/color_picker/color_picker.py +0 -0
  195. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/color_picker/style.css +0 -0
  196. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/color_picker/template.html +0 -0
  197. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/compare_annotations/__init__.py +0 -0
  198. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/compare_annotations/compare_annotations.py +0 -0
  199. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/confusion_matrix/__init__.py +0 -0
  200. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/confusion_matrix/confusion_matrix.py +0 -0
  201. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/confusion_matrix/template.html +0 -0
  202. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/__init__.py +0 -0
  203. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/container.py +0 -0
  204. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/old_container.py +0 -0
  205. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/old_template.html +0 -0
  206. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/style.css +0 -0
  207. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/container/template.html +0 -0
  208. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/copy_to_clipboard/__init__.py +0 -0
  209. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/copy_to_clipboard/copy_to_clipboard.py +0 -0
  210. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/copy_to_clipboard/template.html +0 -0
  211. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/custom_models_selector/__init__.py +0 -0
  212. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/custom_models_selector/custom_models_selector.py +0 -0
  213. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/custom_models_selector/style.css +0 -0
  214. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/custom_models_selector/template.html +0 -0
  215. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dataset_thumbnail/__init__.py +0 -0
  216. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dataset_thumbnail/dataset_thumbnail.py +0 -0
  217. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dataset_thumbnail/template.html +0 -0
  218. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/date_picker/__init__.py +0 -0
  219. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/date_picker/date_picker.py +0 -0
  220. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/date_picker/template.html +0 -0
  221. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/datetime_picker/__init__.py +0 -0
  222. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/datetime_picker/datetime_picker.py +0 -0
  223. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/datetime_picker/template.html +0 -0
  224. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/destination_project/__init__.py +0 -0
  225. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/destination_project/destination_project.py +0 -0
  226. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/destination_project/template.html +0 -0
  227. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dialog/__init__.py +0 -0
  228. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dialog/dialog.py +0 -0
  229. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dialog/template.html +0 -0
  230. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/done_label/__init__.py +0 -0
  231. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/done_label/done_label.py +0 -0
  232. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/done_label/template.html +0 -0
  233. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/draggable/__init__.py +0 -0
  234. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/draggable/draggable.py +0 -0
  235. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/draggable/style.css +0 -0
  236. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/draggable/template.html +0 -0
  237. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dropdown/__init__.py +0 -0
  238. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dropdown/dropdown.py +0 -0
  239. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/dropdown/template.html +0 -0
  240. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/editor/__init__.py +0 -0
  241. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/editor/editor.py +0 -0
  242. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/editor/template.html +0 -0
  243. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_button/__init__.py +0 -0
  244. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_button/element_button.py +0 -0
  245. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_button/style.css +0 -0
  246. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_button/template.html +0 -0
  247. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tag/__init__.py +0 -0
  248. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tag/element_tag.py +0 -0
  249. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tag/template.html +0 -0
  250. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tags_list/__init__.py +0 -0
  251. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tags_list/element_tags_list.py +0 -0
  252. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/element_tags_list/template.html +0 -0
  253. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/empty/__init__.py +0 -0
  254. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/empty/empty.py +0 -0
  255. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/empty/template.html +0 -0
  256. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/experiment_selector/__init__.py +0 -0
  257. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/experiment_selector/experiment_selector.py +0 -0
  258. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/experiment_selector/style.css +0 -0
  259. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/experiment_selector/template.html +0 -0
  260. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/fast_table/__init__.py +0 -0
  261. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/fast_table/fast_table.py +0 -0
  262. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/fast_table/script.js +0 -0
  263. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/fast_table/style.css +0 -0
  264. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/fast_table/template.html +0 -0
  265. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/field/__init__.py +0 -0
  266. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/field/field.py +0 -0
  267. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/field/style.css +0 -0
  268. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/field/template.html +0 -0
  269. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_storage_upload/__init__.py +0 -0
  270. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_storage_upload/file_storage_upload.py +0 -0
  271. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_storage_upload/template.html +0 -0
  272. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_thumbnail/__init__.py +0 -0
  273. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_thumbnail/file_thumbnail.py +0 -0
  274. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_thumbnail/template.html +0 -0
  275. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_viewer/__init__.py +0 -0
  276. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_viewer/file_viewer.py +0 -0
  277. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/file_viewer/template.html +0 -0
  278. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/flexbox/__init__.py +0 -0
  279. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/flexbox/flexbox.py +0 -0
  280. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/flexbox/template.html +0 -0
  281. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/folder_thumbnail/__init__.py +0 -0
  282. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/folder_thumbnail/folder_thumbnail.py +0 -0
  283. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/folder_thumbnail/template.html +0 -0
  284. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid/__init__.py +0 -0
  285. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid/grid.py +0 -0
  286. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid/template.html +0 -0
  287. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_chart/__init__.py +0 -0
  288. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_chart/grid_chart.py +0 -0
  289. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_chart/template.html +0 -0
  290. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery/__init__.py +0 -0
  291. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery/grid_gallery.py +0 -0
  292. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery/style.css +0 -0
  293. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery/template.html +0 -0
  294. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery_v2/__init__.py +0 -0
  295. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery_v2/grid_gallery_v2.py +0 -0
  296. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_gallery_v2/template.html +0 -0
  297. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_plot/__init__.py +0 -0
  298. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_plot/grid_plot.py +0 -0
  299. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/grid_plot/template.html +0 -0
  300. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/heatmap_chart/__init__.py +0 -0
  301. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/heatmap_chart/heatmap_chart.py +0 -0
  302. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/icons/__init__.py +0 -0
  303. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/icons/icons.py +0 -0
  304. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/icons/template.html +0 -0
  305. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/identity/__init__.py +0 -0
  306. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/identity/identity.py +0 -0
  307. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/identity/template.html +0 -0
  308. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/iframe/__init__.py +0 -0
  309. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/iframe/iframe.py +0 -0
  310. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/iframe/template.html +0 -0
  311. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image/__init__.py +0 -0
  312. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image/image.py +0 -0
  313. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image/template.html +0 -0
  314. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_annotation_preview/__init__.py +0 -0
  315. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_annotation_preview/image_annotation_preview.py +0 -0
  316. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_annotation_preview/script.js +0 -0
  317. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_annotation_preview/style.css +0 -0
  318. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_annotation_preview/template.html +0 -0
  319. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_pair_sequence/__init__.py +0 -0
  320. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_pair_sequence/image_pair_sequence.py +0 -0
  321. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_pair_sequence/template.html +0 -0
  322. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_region_selector/__init__.py +0 -0
  323. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_region_selector/image_region_selector.py +0 -0
  324. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_region_selector/script.js +0 -0
  325. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_region_selector/styles.css +0 -0
  326. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_region_selector/template.html +0 -0
  327. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_slider/__init__.py +0 -0
  328. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_slider/image_slider.py +0 -0
  329. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/image_slider/template.html +0 -0
  330. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input/__init__.py +0 -0
  331. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input/input.py +0 -0
  332. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input/template.html +0 -0
  333. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_number/__init__.py +0 -0
  334. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_number/input_number.py +0 -0
  335. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_number/template.html +0 -0
  336. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_tag/__init__.py +0 -0
  337. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_tag/input_tag.py +0 -0
  338. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/input_tag/template.html +0 -0
  339. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/labeled_image/__init__.py +0 -0
  340. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/labeled_image/labeled_image.py +0 -0
  341. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/line_chart/__init__.py +0 -0
  342. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/line_chart/line_chart.py +0 -0
  343. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/line_plot/__init__.py +0 -0
  344. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/line_plot/line_plot.py +0 -0
  345. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/line_plot/template.html +0 -0
  346. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/markdown/__init__.py +0 -0
  347. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/markdown/markdown.py +0 -0
  348. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/markdown/style.css +0 -0
  349. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/markdown/template.html +0 -0
  350. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_datasets/__init__.py +0 -0
  351. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_datasets/match_datasets.py +0 -0
  352. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_datasets/template.html +0 -0
  353. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_tags_or_classes/__init__.py +0 -0
  354. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_tags_or_classes/match_tags_or_classes.py +0 -0
  355. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/match_tags_or_classes/template.html +0 -0
  356. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_preview/__init__.py +0 -0
  357. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_preview/members_list_preview.py +0 -0
  358. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_preview/template.html +0 -0
  359. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_selector/__init__.py +0 -0
  360. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_selector/members_list_selector.py +0 -0
  361. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_selector/style.css +0 -0
  362. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/members_list_selector/template.html +0 -0
  363. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/menu/__init__.py +0 -0
  364. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/menu/menu.py +0 -0
  365. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/menu/template.html +0 -0
  366. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/model_info/__init__.py +0 -0
  367. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/model_info/model_info.py +0 -0
  368. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/model_info/template.html +0 -0
  369. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/nodes_flow/__init__.py +0 -0
  370. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/nodes_flow/nodes_flow.py +0 -0
  371. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/nodes_flow/option_components.py +0 -0
  372. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/nodes_flow/template.html +0 -0
  373. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/notification_box/__init__.py +0 -0
  374. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/notification_box/notification_box.py +0 -0
  375. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/notification_box/style.css +0 -0
  376. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/notification_box/template.html +0 -0
  377. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_class_view/__init__.py +0 -0
  378. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_class_view/object_class_view.py +0 -0
  379. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_class_view/style.css +0 -0
  380. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_class_view/template.html +0 -0
  381. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_classes_list/__init__.py +0 -0
  382. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_classes_list/object_classes_list.py +0 -0
  383. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/object_classes_list/template.html +0 -0
  384. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/one_of/__init__.py +0 -0
  385. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/one_of/one_of.py +0 -0
  386. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/one_of/template.html +0 -0
  387. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pagination/__init__.py +0 -0
  388. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pagination/pagination.py +0 -0
  389. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pagination/template.html +0 -0
  390. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pie_chart/__init__.py +0 -0
  391. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pie_chart/pie_chart.py +0 -0
  392. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pretrained_models_selector/__init__.py +0 -0
  393. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pretrained_models_selector/pretrained_models_selector.py +0 -0
  394. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pretrained_models_selector/style.css +0 -0
  395. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/pretrained_models_selector/template.html +0 -0
  396. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_selector/__init__.py +0 -0
  397. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_selector/project_selector.py +0 -0
  398. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_selector/style.css +0 -0
  399. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_selector/template.html +0 -0
  400. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_thumbnail/__init__.py +0 -0
  401. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_thumbnail/project_thumbnail.py +0 -0
  402. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_thumbnail/style.css +0 -0
  403. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/project_thumbnail/template.html +0 -0
  404. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_group/__init__.py +0 -0
  405. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_group/radio_group.py +0 -0
  406. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_group/template.html +0 -0
  407. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_table/__init__.py +0 -0
  408. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_table/radio_table.py +0 -0
  409. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_table/style.css +0 -0
  410. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_table/template.html +0 -0
  411. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_tabs/__init__.py +0 -0
  412. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_tabs/radio_tabs.py +0 -0
  413. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_tabs/style.css +0 -0
  414. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/radio_tabs/template.html +0 -0
  415. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/random_splits_table/__init__.py +0 -0
  416. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/random_splits_table/random_splits_table.py +0 -0
  417. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/random_splits_table/template.html +0 -0
  418. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/rate/__init__.py +0 -0
  419. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/rate/rate.py +0 -0
  420. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/rate/template.html +0 -0
  421. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/reloadable_area/__init__.py +0 -0
  422. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/reloadable_area/reloadable_area.py +0 -0
  423. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/reloadable_area/script.js +0 -0
  424. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/reloadable_area/template.html +0 -0
  425. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/report_thumbnail/__init__.py +0 -0
  426. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/report_thumbnail/report_thumbnail.py +0 -0
  427. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/report_thumbnail/template.html +0 -0
  428. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/scatter_chart/__init__.py +0 -0
  429. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/scatter_chart/scatter_chart.py +0 -0
  430. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select/__init__.py +0 -0
  431. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select/select.py +0 -0
  432. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select/template.html +0 -0
  433. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_app_session/__init__.py +0 -0
  434. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_app_session/select_app_session.py +0 -0
  435. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_app_session/template.html +0 -0
  436. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_cuda/__init__.py +0 -0
  437. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_cuda/select_cuda.py +0 -0
  438. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_cuda/template.html +0 -0
  439. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset/__init__.py +0 -0
  440. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset/select_dataset.py +0 -0
  441. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset/template.html +0 -0
  442. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset_tree/__init__.py +0 -0
  443. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset_tree/select_dataset_tree.py +0 -0
  444. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_dataset_tree/template.html +0 -0
  445. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_item/__init__.py +0 -0
  446. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_item/select_item.py +0 -0
  447. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_item/template.html +0 -0
  448. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_project/__init__.py +0 -0
  449. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_project/select_project.py +0 -0
  450. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_project/template.html +0 -0
  451. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_sly_utils.py +0 -0
  452. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_tag_meta/__init__.py +0 -0
  453. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_tag_meta/select_tag_meta.py +0 -0
  454. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_tag_meta/template.html +0 -0
  455. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_team/__init__.py +0 -0
  456. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_team/select_team.py +0 -0
  457. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_team/template.html +0 -0
  458. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_workspace/__init__.py +0 -0
  459. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_workspace/select_workspace.py +0 -0
  460. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/select_workspace/template.html +0 -0
  461. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sidebar/__init__.py +0 -0
  462. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sidebar/sidebar.py +0 -0
  463. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sidebar/style.css +0 -0
  464. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sidebar/template.html +0 -0
  465. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/slider/__init__.py +0 -0
  466. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/slider/slider.py +0 -0
  467. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/slider/template.html +0 -0
  468. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sly_tqdm/README.md +0 -0
  469. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sly_tqdm/__init__.py +0 -0
  470. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sly_tqdm/sly_tqdm.py +0 -0
  471. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sly_tqdm/style.css +0 -0
  472. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/sly_tqdm/template.html +0 -0
  473. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/stepper/__init__.py +0 -0
  474. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/stepper/stepper.py +0 -0
  475. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/stepper/template.html +0 -0
  476. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/switch/__init__.py +0 -0
  477. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/switch/switch.py +0 -0
  478. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/switch/template.html +0 -0
  479. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/table/__init__.py +0 -0
  480. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/table/table.py +0 -0
  481. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/table/template.html +0 -0
  482. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs/__init__.py +0 -0
  483. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs/tabs.py +0 -0
  484. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs/template.html +0 -0
  485. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs_dynamic/__init__.py +0 -0
  486. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs_dynamic/tabs_dynamic.py +0 -0
  487. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tabs_dynamic/template.html +0 -0
  488. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_meta_view/__init__.py +0 -0
  489. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_meta_view/style.css +0 -0
  490. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_meta_view/tag_meta_view.py +0 -0
  491. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_meta_view/template.html +0 -0
  492. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_metas_list/__init__.py +0 -0
  493. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_metas_list/tag_metas_list.py +0 -0
  494. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tag_metas_list/template.html +0 -0
  495. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_preview/__init__.py +0 -0
  496. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_preview/tags_list_preview.py +0 -0
  497. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_preview/template.html +0 -0
  498. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_selector/__init__.py +0 -0
  499. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_selector/style.css +0 -0
  500. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_selector/tags_list_selector.py +0 -0
  501. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_list_selector/template.html +0 -0
  502. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_table/__init__.py +0 -0
  503. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_table/tags_table.py +0 -0
  504. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tags_table/template.html +0 -0
  505. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/task_logs/__init__.py +0 -0
  506. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/task_logs/task_logs.py +0 -0
  507. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/task_logs/template.html +0 -0
  508. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/team_files_selector/__init__.py +0 -0
  509. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/team_files_selector/team_files_selector.py +0 -0
  510. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/team_files_selector/template.html +0 -0
  511. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/text/__init__.py +0 -0
  512. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/text/template.html +0 -0
  513. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/text/text.py +0 -0
  514. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/textarea/__init__.py +0 -0
  515. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/textarea/template.html +0 -0
  516. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/textarea/textarea.py +0 -0
  517. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/time_picker/__init__.py +0 -0
  518. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/time_picker/template.html +0 -0
  519. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/time_picker/time_picker.py +0 -0
  520. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/timeline/__init__.py +0 -0
  521. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/timeline/template.html +0 -0
  522. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/timeline/timeline.py +0 -0
  523. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tooltip/__init__.py +0 -0
  524. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tooltip/template.html +0 -0
  525. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tooltip/tooltip.py +0 -0
  526. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/train_val_splits/__init__.py +0 -0
  527. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/train_val_splits/template.html +0 -0
  528. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/train_val_splits/train_val_splits.py +0 -0
  529. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/transfer/__init__.py +0 -0
  530. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/transfer/template.html +0 -0
  531. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/transfer/transfer.py +0 -0
  532. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tree_select/__init__.py +0 -0
  533. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tree_select/template.html +0 -0
  534. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/tree_select/tree_select.py +0 -0
  535. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/treemap_chart/__init__.py +0 -0
  536. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/treemap_chart/treemap_chart.py +0 -0
  537. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video/__init__.py +0 -0
  538. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video/template.html +0 -0
  539. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video/video.py +0 -0
  540. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_player/__init__.py +0 -0
  541. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_player/script.js +0 -0
  542. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_player/template.html +0 -0
  543. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_player/video_player.py +0 -0
  544. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_thumbnail/__init__.py +0 -0
  545. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_thumbnail/template.html +0 -0
  546. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/video_thumbnail/video_thumbnail.py +0 -0
  547. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets/widget.py +0 -0
  548. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/app/widgets_context.py +0 -0
  549. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/aug/__init__.py +0 -0
  550. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/aug/aug.py +0 -0
  551. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/aug/imgaug_utils.py +0 -0
  552. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/__init__.py +0 -0
  553. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/cli.py +0 -0
  554. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/project/__init__.py +0 -0
  555. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/project/project_download.py +0 -0
  556. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/project/project_get.py +0 -0
  557. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/project/project_upload.py +0 -0
  558. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/release/__init__.py +0 -0
  559. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/release/run.py +0 -0
  560. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/task/__init__.py +0 -0
  561. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/task/task_set.py +0 -0
  562. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/teamfiles/__init__.py +0 -0
  563. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/teamfiles/teamfiles_download.py +0 -0
  564. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/teamfiles/teamfiles_remove.py +0 -0
  565. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/cli/teamfiles/teamfiles_upload.py +0 -0
  566. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/collection/__init__.py +0 -0
  567. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/collection/key_indexed_collection.py +0 -0
  568. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/collection/str_enum.py +0 -0
  569. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/__init__.py +0 -0
  570. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/base_converter.py +0 -0
  571. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/converter.py +0 -0
  572. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/__init__.py +0 -0
  573. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/cityscapes/__init__.py +0 -0
  574. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/cityscapes/cityscapes_converter.py +0 -0
  575. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/cityscapes/cityscapes_helper.py +0 -0
  576. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/coco/__init__.py +0 -0
  577. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/coco/coco_anntotation_converter.py +0 -0
  578. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/coco/coco_converter.py +0 -0
  579. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/coco/coco_helper.py +0 -0
  580. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/csv/__init__.py +0 -0
  581. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/csv/csv_converter.py +0 -0
  582. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/csv/csv_helper.py +0 -0
  583. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/high_color/__init__.py +0 -0
  584. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/high_color/high_color_depth.py +0 -0
  585. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/high_color/high_color_helper.py +0 -0
  586. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/image_converter.py +0 -0
  587. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/image_helper.py +0 -0
  588. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_me/__init__.py +0 -0
  589. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_me/label_me_converter.py +0 -0
  590. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_me/label_me_helper.py +0 -0
  591. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_studio/__init__.py +0 -0
  592. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_studio/label_studio_converter.py +0 -0
  593. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/label_studio/label_studio_helper.py +0 -0
  594. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/masks/__init__.py +0 -0
  595. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/masks/image_with_masks_helper.py +0 -0
  596. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/masks/images_with_masks_converter.py +0 -0
  597. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/medical2d/__init__.py +0 -0
  598. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/medical2d/medical2d_converter.py +0 -0
  599. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/medical2d/medical2d_helper.py +0 -0
  600. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/multi_view/__init__.py +0 -0
  601. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/multi_view/multi_view.py +0 -0
  602. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/multispectral/__init__.py +0 -0
  603. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/multispectral/multispectral_converter.py +0 -0
  604. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pascal_voc/__init__.py +0 -0
  605. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pascal_voc/pascal_voc_converter.py +0 -0
  606. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pascal_voc/pascal_voc_helper.py +0 -0
  607. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pdf/__init__.py +0 -0
  608. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pdf/pdf_converter.py +0 -0
  609. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/pdf/pdf_helper.py +0 -0
  610. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/sly/__init__.py +0 -0
  611. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/sly/fast_sly_image_converter.py +0 -0
  612. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/sly/sly_image_converter.py +0 -0
  613. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/sly/sly_image_helper.py +0 -0
  614. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/yolo/__init__.py +0 -0
  615. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/yolo/yolo_converter.py +0 -0
  616. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/image/yolo/yolo_helper.py +0 -0
  617. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/__init__.py +0 -0
  618. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/bag/__init__.py +0 -0
  619. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/bag/bag_converter.py +0 -0
  620. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/bag/bag_helper.py +0 -0
  621. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/las/__init__.py +0 -0
  622. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/las/las_converter.py +0 -0
  623. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/las/las_helper.py +0 -0
  624. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/ply/__init__.py +0 -0
  625. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/ply/ply_converter.py +0 -0
  626. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/ply/ply_helper.py +0 -0
  627. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/pointcloud_converter.py +0 -0
  628. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/sly/__init__.py +0 -0
  629. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py +0 -0
  630. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud/sly/sly_pointcloud_helper.py +0 -0
  631. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/__init__.py +0 -0
  632. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/bag/__init__.py +0 -0
  633. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/bag/bag_converter.py +0 -0
  634. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py +0 -0
  635. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/sly/__init__.py +0 -0
  636. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py +0 -0
  637. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_helper.py +0 -0
  638. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/__init__.py +0 -0
  639. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/davis/__init__.py +0 -0
  640. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/davis/davis_converter.py +0 -0
  641. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/mot/__init__.py +0 -0
  642. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/mot/mot_converter.py +0 -0
  643. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/sly/__init__.py +0 -0
  644. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/sly/sly_video_converter.py +0 -0
  645. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/sly/sly_video_helper.py +0 -0
  646. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/video/video_converter.py +0 -0
  647. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/__init__.py +0 -0
  648. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/dicom/__init__.py +0 -0
  649. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/dicom/dicom_converter.py +0 -0
  650. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/dicom/dicom_helper.py +0 -0
  651. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/sly/__init__.py +0 -0
  652. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/sly/sly_volume_converter.py +0 -0
  653. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/sly/sly_volume_helper.py +0 -0
  654. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/convert/volume/volume_converter.py +0 -0
  655. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/decorators/__init__.py +0 -0
  656. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/decorators/inference.py +0 -0
  657. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/decorators/profile.py +0 -0
  658. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/delme_fastapi_helpers/__init__.py +0 -0
  659. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/export/__init__.py +0 -0
  660. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/export/pascal_voc.py +0 -0
  661. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/function_wrapper.py +0 -0
  662. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/__init__.py +0 -0
  663. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/alpha_mask.py +0 -0
  664. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/any_geometry.py +0 -0
  665. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/bitmap.py +0 -0
  666. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/bitmap_base.py +0 -0
  667. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/closed_surface_mesh.py +0 -0
  668. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/constants.py +0 -0
  669. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/conversions.py +0 -0
  670. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/cuboid.py +0 -0
  671. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/cuboid_2d.py +0 -0
  672. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/cuboid_3d.py +0 -0
  673. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/geometry.py +0 -0
  674. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/graph.py +0 -0
  675. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/helpers.py +0 -0
  676. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/image_rotator.py +0 -0
  677. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/main_tests.py +0 -0
  678. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/mask_3d.py +0 -0
  679. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/multichannel_bitmap.py +0 -0
  680. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/point.py +0 -0
  681. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/point_3d.py +0 -0
  682. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/point_location.py +0 -0
  683. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/pointcloud.py +0 -0
  684. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/polygon.py +0 -0
  685. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/polyline.py +0 -0
  686. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/rectangle.py +0 -0
  687. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/sliding_windows.py +0 -0
  688. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/sliding_windows_fuzzy.py +0 -0
  689. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/validation.py +0 -0
  690. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/geometry/vector_geometry.py +0 -0
  691. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/__init__.py +0 -0
  692. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/_video.py +0 -0
  693. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/color.py +0 -0
  694. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/colors.json.gz +0 -0
  695. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/font.py +0 -0
  696. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/imaging/image.py +0 -0
  697. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/__init__.py +0 -0
  698. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/docker_utils.py +0 -0
  699. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/env.py +0 -0
  700. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/exception_handlers.py +0 -0
  701. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/fs.py +0 -0
  702. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/fs_cache.py +0 -0
  703. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/github_utils.py +0 -0
  704. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/json.py +0 -0
  705. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/multipart_stream_decoder.py +0 -0
  706. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/io/network_exceptions.py +0 -0
  707. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/labeling_jobs/__init__.py +0 -0
  708. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/labeling_jobs/constants.py +0 -0
  709. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/labeling_jobs/utils.py +0 -0
  710. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/__init__.py +0 -0
  711. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/classification_metrics.py +0 -0
  712. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/common.py +0 -0
  713. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/confusion_matrix_metric.py +0 -0
  714. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/iou_metric.py +0 -0
  715. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/map_metric.py +0 -0
  716. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/matching.py +0 -0
  717. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/metric_base.py +0 -0
  718. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/metrics_tests.py +0 -0
  719. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/pixel_accuracy.py +0 -0
  720. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/precision_recall_metric.py +0 -0
  721. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/metric/projects_applier.py +0 -0
  722. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/__init__.py +0 -0
  723. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/__init__.py +0 -0
  724. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/artifacts.py +0 -0
  725. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/detectron2.py +0 -0
  726. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/hrda.py +0 -0
  727. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/mmclassification.py +0 -0
  728. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/mmdetection.py +0 -0
  729. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/mmsegmentation.py +0 -0
  730. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/ritm.py +0 -0
  731. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/rtdetr.py +0 -0
  732. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/unet.py +0 -0
  733. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/yolov5.py +0 -0
  734. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/artifacts/yolov8.py +0 -0
  735. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/__init__.py +0 -0
  736. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/base_benchmark.py +0 -0
  737. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/base_evaluator.py +0 -0
  738. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/base_visualizer.py +0 -0
  739. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/__init__.py +0 -0
  740. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/__init__.py +0 -0
  741. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py +0 -0
  742. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/__init__.py +0 -0
  743. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/avg_precision_by_class.py +0 -0
  744. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py +0 -0
  745. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predicttions.py +0 -0
  746. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py +0 -0
  747. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py +0 -0
  748. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py +0 -0
  749. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py +0 -0
  750. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py +0 -0
  751. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py +0 -0
  752. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/vis_metric.py +0 -0
  753. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/detection_visualization/visualizer.py +0 -0
  754. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/comparison/model_comparison.py +0 -0
  755. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/cv_tasks.py +0 -0
  756. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/__init__.py +0 -0
  757. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/benchmark.py +0 -0
  758. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/evaluation_params.yaml +0 -0
  759. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/evaluator.py +0 -0
  760. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/text_templates.py +0 -0
  761. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/instance_segmentation/visualizer.py +0 -0
  762. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/__init__.py +0 -0
  763. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/base_vis_metric.py +0 -0
  764. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/benchmark.py +0 -0
  765. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/evaluation_params.yaml +0 -0
  766. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/evaluator.py +0 -0
  767. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/metric_provider.py +0 -0
  768. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/text_templates.py +0 -0
  769. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py +0 -0
  770. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_distribution.py +0 -0
  771. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_score.py +0 -0
  772. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/confusion_matrix.py +0 -0
  773. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/explore_predictions.py +0 -0
  774. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/f1_score_at_different_iou.py +0 -0
  775. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/frequently_confused.py +0 -0
  776. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/iou_distribution.py +0 -0
  777. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/key_metrics.py +0 -0
  778. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/model_predictions.py +0 -0
  779. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts.py +0 -0
  780. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts_per_class.py +0 -0
  781. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/overview.py +0 -0
  782. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve.py +0 -0
  783. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve_by_class.py +0 -0
  784. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/precision.py +0 -0
  785. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/precision_avg_per_class.py +0 -0
  786. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/recall.py +0 -0
  787. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/recall_vs_precision.py +0 -0
  788. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/reliability_diagram.py +0 -0
  789. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/vis_metrics/speedtest.py +0 -0
  790. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/object_detection/visualizer.py +0 -0
  791. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/__init__.py +0 -0
  792. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/base_vis_metric.py +0 -0
  793. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/benchmark.py +0 -0
  794. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/evaluation_params.yaml +0 -0
  795. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/evaluator.py +0 -0
  796. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/metric_provider.py +0 -0
  797. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/text_templates.py +0 -0
  798. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/__init__.py +0 -0
  799. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/acknowledgement.py +0 -0
  800. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/classwise_error_analysis.py +0 -0
  801. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/confusion_matrix.py +0 -0
  802. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/explore_predictions.py +0 -0
  803. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/frequently_confused.py +0 -0
  804. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/iou_eou.py +0 -0
  805. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/key_metrics.py +0 -0
  806. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/model_predictions.py +0 -0
  807. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/overview.py +0 -0
  808. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/renormalized_error_ou.py +0 -0
  809. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/speedtest.py +0 -0
  810. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/vis_texts.py +0 -0
  811. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/semantic_segmentation/visualizer.py +0 -0
  812. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/__init__.py +0 -0
  813. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/__init__.py +0 -0
  814. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/calculate_metrics.py +0 -0
  815. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/metric_provider.py +0 -0
  816. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/metrics.py +0 -0
  817. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/sly2coco.py +0 -0
  818. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/detection/utlis.py +0 -0
  819. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/semantic_segmentation/__init__.py +0 -0
  820. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/semantic_segmentation/calculate_metrics.py +0 -0
  821. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/semantic_segmentation/evaluator.py +0 -0
  822. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/utils/semantic_segmentation/loader.py +0 -0
  823. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/__init__.py +0 -0
  824. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/evaluation_result.py +0 -0
  825. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/renderer.py +0 -0
  826. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/report_template.html +0 -0
  827. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/vis_click_data.py +0 -0
  828. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/__init__.py +0 -0
  829. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/chart/__init__.py +0 -0
  830. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/chart/chart.py +0 -0
  831. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/chart/template.html +0 -0
  832. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/collapse/__init__.py +0 -0
  833. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/collapse/collapse.py +0 -0
  834. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/container/__init__.py +0 -0
  835. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/container/container.py +0 -0
  836. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/gallery/__init__.py +0 -0
  837. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py +0 -0
  838. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/gallery/template.html +0 -0
  839. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/markdown/__init__.py +0 -0
  840. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py +0 -0
  841. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/notification/__init__.py +0 -0
  842. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/notification/notification.py +0 -0
  843. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/radio_group/__init__.py +0 -0
  844. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/radio_group/radio_group.py +0 -0
  845. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/sidebar/__init__.py +0 -0
  846. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py +0 -0
  847. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/table/__init__.py +0 -0
  848. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/table/table.py +0 -0
  849. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/benchmark/visualization/widgets/widget.py +0 -0
  850. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/experiments.py +0 -0
  851. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/__init__.py +0 -0
  852. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/cache.py +0 -0
  853. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/gui/__init__.py +0 -0
  854. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/gui/gui.py +0 -0
  855. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/gui/serving_gui.py +0 -0
  856. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/gui/serving_gui_template.py +0 -0
  857. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/inference.py +0 -0
  858. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/__init__.py +0 -0
  859. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/__init__.py +0 -0
  860. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/classes_ui.py +0 -0
  861. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/deploy_ui.py +0 -0
  862. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/main_ui.py +0 -0
  863. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/preview.py +0 -0
  864. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/dashboard/preview_image.py +0 -0
  865. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/instance_segmentation/instance_segmentation.py +0 -0
  866. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/interactive_segmentation/__init__.py +0 -0
  867. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/interactive_segmentation/functional.py +0 -0
  868. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/interactive_segmentation/interactive_segmentation.py +0 -0
  869. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/object_detection/__init__.py +0 -0
  870. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/object_detection/object_detection.py +0 -0
  871. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/object_detection_3d/__init__.py +0 -0
  872. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/object_detection_3d/object_detection_3d.py +0 -0
  873. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/pose_estimation/__init__.py +0 -0
  874. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/pose_estimation/pose_estimation.py +0 -0
  875. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/prompt_based_object_detection/__init__.py +0 -0
  876. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/prompt_based_object_detection/propmt_based_object_detection.py +0 -0
  877. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/promptable_segmentation/__init__.py +0 -0
  878. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/promptable_segmentation/promptable_segmentation.py +0 -0
  879. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/salient_object_segmentation/__init__.py +0 -0
  880. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/salient_object_segmentation/salient_object_segmentation.py +0 -0
  881. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/semantic_segmentation/__init__.py +0 -0
  882. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/semantic_segmentation/semantic_segmentation.py +0 -0
  883. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/session.py +0 -0
  884. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/__init__.py +0 -0
  885. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/bbox_tracking.py +0 -0
  886. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/functional.py +0 -0
  887. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/mask_tracking.py +0 -0
  888. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/object_tracking_3d.py +0 -0
  889. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/point_tracking.py +0 -0
  890. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/tracker3d_interface.py +0 -0
  891. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/tracking/tracker_interface.py +0 -0
  892. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/inference/video_inference.py +0 -0
  893. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/__init__.py +0 -0
  894. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/config.py +0 -0
  895. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/dataset.py +0 -0
  896. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/__init__.py +0 -0
  897. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/class_indexing.py +0 -0
  898. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/constants.py +0 -0
  899. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/deploy.py +0 -0
  900. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/inference_batch.py +0 -0
  901. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/inference_batch_multiprocess.py +0 -0
  902. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/inference_modes.py +0 -0
  903. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/inference_single_image.py +0 -0
  904. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/legacy/__init__.py +0 -0
  905. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/legacy/inference_config.py +0 -0
  906. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/pytorch/__init__.py +0 -0
  907. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/pytorch/constants.py +0 -0
  908. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/pytorch/inference_applier.py +0 -0
  909. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/pytorch/trainer.py +0 -0
  910. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/hosted/trainer.py +0 -0
  911. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/inference/__init__.py +0 -0
  912. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/inference/rest_client.py +0 -0
  913. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/inference/rest_constants.py +0 -0
  914. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/inference/rest_server.py +0 -0
  915. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/__init__.py +0 -0
  916. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/cuda.py +0 -0
  917. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/dataset.py +0 -0
  918. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/inference.py +0 -0
  919. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/metrics.py +0 -0
  920. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/pytorch/weights.py +0 -0
  921. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/raw_to_labels.py +0 -0
  922. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/training/__init__.py +0 -0
  923. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/legacy/training/eval_planner.py +0 -0
  924. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/prediction_dto.py +0 -0
  925. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/task_type.py +0 -0
  926. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/__init__.py +0 -0
  927. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/__init__.py +0 -0
  928. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/basetrack.py +0 -0
  929. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/bot_sort.py +0 -0
  930. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/fast_reid_interface.py +0 -0
  931. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/matching.py +0 -0
  932. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/bot_sort/sly_tracker.py +0 -0
  933. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/__init__.py +0 -0
  934. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/__init__.py +0 -0
  935. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/detection.py +0 -0
  936. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/iou_matching.py +0 -0
  937. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/linear_assignment.py +0 -0
  938. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/nn_matching.py +0 -0
  939. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/track.py +0 -0
  940. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort/tracker.py +0 -0
  941. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/deep_sort.py +0 -0
  942. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/generate_clip_detections.py +0 -0
  943. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/preprocessing.py +0 -0
  944. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/deep_sort/sly_tracker.py +0 -0
  945. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/tracker.py +0 -0
  946. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/utils/__init__.py +0 -0
  947. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/tracker/utils/gmc.py +0 -0
  948. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/__init__.py +0 -0
  949. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/__init__.py +0 -0
  950. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/classes_selector.py +0 -0
  951. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/gui.py +0 -0
  952. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/hyperparameters_selector.py +0 -0
  953. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/input_selector.py +0 -0
  954. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/model_selector.py +0 -0
  955. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/train_val_splits_selector.py +0 -0
  956. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/training_logs.py +0 -0
  957. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/training_process.py +0 -0
  958. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/gui/utils.py +0 -0
  959. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/loggers/__init__.py +0 -0
  960. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/loggers/base_train_logger.py +0 -0
  961. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/loggers/tensorboard_logger.py +0 -0
  962. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/training/train_app.py +0 -0
  963. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/nn/utils.py +0 -0
  964. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/output/__init__.py +0 -0
  965. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud/__init__.py +0 -0
  966. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud/pointcloud.py +0 -0
  967. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/__init__.py +0 -0
  968. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/constants.py +0 -0
  969. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_annotation.py +0 -0
  970. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_annotation.py +0 -0
  971. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_frame.py +0 -0
  972. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_frame_collection.py +0 -0
  973. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_object.py +0 -0
  974. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_object_collection.py +0 -0
  975. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_tag.py +0 -0
  976. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_episode_tag_collection.py +0 -0
  977. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_figure.py +0 -0
  978. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_object.py +0 -0
  979. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_object_collection.py +0 -0
  980. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_tag.py +0 -0
  981. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_annotation/pointcloud_tag_collection.py +0 -0
  982. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_episodes/__init__.py +0 -0
  983. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pointcloud_episodes/pointcloud_episodes.py +0 -0
  984. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/__init__.py +0 -0
  985. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/data_version.py +0 -0
  986. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/pointcloud_episode_project.py +0 -0
  987. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/pointcloud_project.py +0 -0
  988. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/project_meta.py +0 -0
  989. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/project_settings.py +0 -0
  990. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/project_type.py +0 -0
  991. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/readme_template.md +0 -0
  992. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/upload.py +0 -0
  993. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/video_project.py +0 -0
  994. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/project/volume_project.py +0 -0
  995. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pyscripts_utils/__init__.py +0 -0
  996. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/pyscripts_utils/utils.py +0 -0
  997. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/report/__init__.py +0 -0
  998. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/report/table.py +0 -0
  999. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/script/__init__.py +0 -0
  1000. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/script/utils.py +0 -0
  1001. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/sly_logger.py +0 -0
  1002. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/task/__init__.py +0 -0
  1003. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/task/paths.py +0 -0
  1004. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/task/progress.py +0 -0
  1005. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/task/task_logger.py +0 -0
  1006. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/team_files/__init__.py +0 -0
  1007. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/team_files/team_files_path.py +0 -0
  1008. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/tiny_timer.py +0 -0
  1009. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/user/__init__.py +0 -0
  1010. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/user/user.py +0 -0
  1011. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video/__init__.py +0 -0
  1012. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video/import_utils.py +0 -0
  1013. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video/video.py +0 -0
  1014. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/__init__.py +0 -0
  1015. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/constants.py +0 -0
  1016. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/frame.py +0 -0
  1017. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/frame_collection.py +0 -0
  1018. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/key_id_map.py +0 -0
  1019. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_annotation.py +0 -0
  1020. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_figure.py +0 -0
  1021. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_object.py +0 -0
  1022. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_object_collection.py +0 -0
  1023. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_tag.py +0 -0
  1024. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/video_annotation/video_tag_collection.py +0 -0
  1025. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume/__init__.py +0 -0
  1026. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume/nrrd_encoder.py +0 -0
  1027. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume/nrrd_loader.py +0 -0
  1028. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume/stl_converter.py +0 -0
  1029. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume/volume.py +0 -0
  1030. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/__init__.py +0 -0
  1031. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/constants.py +0 -0
  1032. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/plane.py +0 -0
  1033. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/slice.py +0 -0
  1034. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_annotation.py +0 -0
  1035. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_figure.py +0 -0
  1036. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_object.py +0 -0
  1037. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_object_collection.py +0 -0
  1038. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_tag.py +0 -0
  1039. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/volume_annotation/volume_tag_collection.py +0 -0
  1040. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/__init__.py +0 -0
  1041. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/agent_api.py +0 -0
  1042. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/agent_rpc.py +0 -0
  1043. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/chunking.py +0 -0
  1044. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/interfaces.py +0 -0
  1045. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/retriers.py +0 -0
  1046. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_api/rpc_servicer.py +0 -0
  1047. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_proto/__init__.py +0 -0
  1048. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_proto/worker_api_pb2.py +0 -0
  1049. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely/worker_proto/worker_api_pb2_grpc.py +0 -0
  1050. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely.egg-info/SOURCES.txt +0 -0
  1051. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely.egg-info/dependency_links.txt +0 -0
  1052. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely.egg-info/entry_points.txt +0 -0
  1053. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely.egg-info/requires.txt +0 -0
  1054. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely.egg-info/top_level.txt +0 -0
  1055. {supervisely-6.73.247 → supervisely-6.73.249}/supervisely_lib/__init__.py +0 -0
  1056. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test-api-file-list.py +0 -0
  1057. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_api_video.py +0 -0
  1058. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_file_api.py +0 -0
  1059. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_image_api.py +0 -0
  1060. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_pcd_api.py +0 -0
  1061. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_project.py +0 -0
  1062. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_project_video.py +0 -0
  1063. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_video_api.py +0 -0
  1064. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_async_volume_api.py +0 -0
  1065. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_output.py +0 -0
  1066. {supervisely-6.73.247 → supervisely-6.73.249}/tests/test_setup.py +0 -0
  1067. {supervisely-6.73.247 → supervisely-6.73.249}/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.247
3
+ Version: 6.73.249
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -1418,13 +1418,14 @@ class AnnotationApi(ModuleApi):
1418
1418
  # if so, download them separately and update the annotation
1419
1419
  if len(additonal_geometries) > 0:
1420
1420
  figure_ids = list(additonal_geometries.keys())
1421
- figures = self._api.image.figure.download_geometries_batch(
1421
+ figures = await self._api.image.figure.download_geometries_batch_async(
1422
1422
  figure_ids,
1423
1423
  (
1424
1424
  progress_cb
1425
1425
  if progress_cb is not None and progress_cb_type == "size"
1426
1426
  else None
1427
1427
  ),
1428
+ semaphore=semaphore,
1428
1429
  )
1429
1430
  for figure_id, geometry in zip(figure_ids, figures):
1430
1431
  label_idx = additonal_geometries[figure_id]
@@ -1515,3 +1516,131 @@ class AnnotationApi(ModuleApi):
1515
1516
  tasks.append(task)
1516
1517
  ann_infos = await asyncio.gather(*tasks)
1517
1518
  return ann_infos
1519
+
1520
+ async def download_bulk_async(
1521
+ self,
1522
+ dataset_id: int,
1523
+ image_ids: List[int],
1524
+ progress_cb: Optional[Union[tqdm, Callable]] = None,
1525
+ with_custom_data: Optional[bool] = False,
1526
+ force_metadata_for_links: Optional[bool] = True,
1527
+ semaphore: Optional[asyncio.Semaphore] = None,
1528
+ ) -> List[AnnotationInfo]:
1529
+ """
1530
+ Get list of AnnotationInfos for given dataset ID from API.
1531
+ This method is optimized for downloading a large number of small size annotations with a single API call.
1532
+
1533
+ :param dataset_id: Dataset ID in Supervisely.
1534
+ :type dataset_id: int
1535
+ :param image_ids: List of integers.
1536
+ :type image_ids: List[int]
1537
+ :param progress_cb: Function for tracking download progress.
1538
+ :type progress_cb: tqdm
1539
+ :param with_custom_data: Include custom data in the response.
1540
+ :type with_custom_data: bool, optional
1541
+ :param force_metadata_for_links: Force metadata for links.
1542
+ :type force_metadata_for_links: bool, optional
1543
+ :param semaphore: Semaphore for limiting the number of simultaneous downloads.
1544
+ :type semaphore: asyncio.Semaphore, optional
1545
+ :return: Information about Annotations. See :class:`info_sequence<info_sequence>`
1546
+ :rtype: :class:`List[AnnotationInfo]`
1547
+
1548
+ :Usage example:
1549
+
1550
+ .. code-block:: python
1551
+
1552
+ import supervisely as sly
1553
+
1554
+ os.environ['SERVER_ADDRESS'] = 'https://app.supervisely.com'
1555
+ os.environ['API_TOKEN'] = 'Your Supervisely API Token'
1556
+ api = sly.Api.from_env()
1557
+
1558
+ dataset_id = 254737
1559
+ image_ids = [121236918, 121236919]
1560
+ p = tqdm(desc="Annotations downloaded: ", total=len(image_ids))
1561
+
1562
+ ann_infos = await api.annotation.download_bulk_async(dataset_id, image_ids, progress_cb=p)
1563
+
1564
+ Optimizing the download process by using the context to avoid redundant API calls.:
1565
+ # 1. Download the project meta
1566
+ project_id = api.dataset.get_info_by_id(dataset_id).project_id
1567
+ project_meta = api.project.get_meta(project_id)
1568
+
1569
+ # 2. Use the context to avoid redundant API calls
1570
+ dataset_id = 254737
1571
+ image_ids = [121236918, 121236919]
1572
+ with sly.ApiContext(api, dataset_id=dataset_id, project_id=project_id, project_meta=project_meta):
1573
+ ann_infos = await api.annotation.download_bulk_async(dataset_id, image_ids)
1574
+ """
1575
+ if semaphore is None:
1576
+ semaphore = self._api.get_default_semaphore()
1577
+
1578
+ # use context to avoid redundant API calls
1579
+ context = self._api.optimization_context
1580
+ context_dataset_id = context.get("dataset_id")
1581
+ project_meta = context.get("project_meta")
1582
+ project_id = context.get("project_id")
1583
+ if dataset_id != context_dataset_id:
1584
+ context["dataset_id"] = dataset_id
1585
+ project_id, project_meta = None, None
1586
+
1587
+ if not isinstance(project_meta, ProjectMeta):
1588
+ if project_id is None:
1589
+ project_id = self._api.dataset.get_info_by_id(dataset_id).project_id
1590
+ context["project_id"] = project_id
1591
+ project_meta = ProjectMeta.from_json(self._api.project.get_meta(project_id))
1592
+ context["project_meta"] = project_meta
1593
+
1594
+ need_download_alpha_masks = False
1595
+ for obj_cls in project_meta.obj_classes:
1596
+ if obj_cls.geometry_type == AlphaMask:
1597
+ need_download_alpha_masks = True
1598
+ break
1599
+
1600
+ id_to_ann = {}
1601
+ for batch in batched(image_ids):
1602
+ json_data = {
1603
+ ApiField.DATASET_ID: dataset_id,
1604
+ ApiField.IMAGE_IDS: batch,
1605
+ ApiField.WITH_CUSTOM_DATA: with_custom_data,
1606
+ ApiField.FORCE_METADATA_FOR_LINKS: force_metadata_for_links,
1607
+ ApiField.INTEGER_COORDS: False,
1608
+ }
1609
+ async with semaphore:
1610
+ results = await self._api.post_async("annotations.bulk.info", json=json_data)
1611
+ results = results.json()
1612
+ if need_download_alpha_masks is True:
1613
+ additonal_geometries = defaultdict(tuple)
1614
+ for ann_idx, ann_dict in enumerate(results):
1615
+ # check if there are any AlphaMask geometries in the batch
1616
+ for label_idx, label in enumerate(
1617
+ ann_dict[ApiField.ANNOTATION][AnnotationJsonFields.LABELS]
1618
+ ):
1619
+ if label[LabelJsonFields.GEOMETRY_TYPE] == AlphaMask.geometry_name():
1620
+ figure_id = label[LabelJsonFields.ID]
1621
+ additonal_geometries[figure_id] = (ann_idx, label_idx)
1622
+
1623
+ # if there are any AlphaMask geometries, download them separately and update the annotation
1624
+ if len(additonal_geometries) > 0:
1625
+ figure_ids = list(additonal_geometries.keys())
1626
+ figures = await self._api.image.figure.download_geometries_batch_async(
1627
+ figure_ids, semaphore=semaphore
1628
+ )
1629
+ for figure_id, geometry in zip(figure_ids, figures):
1630
+ ann_idx, label_idx = additonal_geometries[figure_id]
1631
+ results[ann_idx][ApiField.ANNOTATION][AnnotationJsonFields.LABELS][
1632
+ label_idx
1633
+ ].update({BITMAP: geometry})
1634
+
1635
+ for ann_dict in results:
1636
+ # Convert annotation to pixel coordinate system
1637
+ ann_dict[ApiField.ANNOTATION] = Annotation._to_pixel_coordinate_system_json(
1638
+ ann_dict[ApiField.ANNOTATION]
1639
+ )
1640
+ ann_info = self._convert_json_info(ann_dict)
1641
+ id_to_ann[ann_info.image_id] = ann_info
1642
+
1643
+ if progress_cb is not None:
1644
+ progress_cb(len(batch))
1645
+ ordered_results = [id_to_ann[image_id] for image_id in image_ids]
1646
+ return ordered_results
@@ -1437,7 +1437,7 @@ class Api:
1437
1437
  :type range_start: int, optional
1438
1438
  :param range_end: End byte position for streaming.
1439
1439
  :type range_end: int, optional
1440
- :param chunk_size: Size of the chunk to read from the stream.
1440
+ :param chunk_size: Size of the chunk to read from the stream. Default is 8192.
1441
1441
  :type chunk_size: int, optional
1442
1442
  :param use_public_api: Define if public API should be used.
1443
1443
  :type use_public_api: bool, optional
@@ -3,10 +3,21 @@
3
3
  # docs
4
4
  from __future__ import annotations
5
5
 
6
+ import asyncio
6
7
  import json
7
8
  import re
8
9
  from collections import defaultdict
9
- from typing import Callable, Dict, Generator, List, NamedTuple, Optional, Tuple, Union
10
+ from typing import (
11
+ AsyncGenerator,
12
+ Callable,
13
+ Dict,
14
+ Generator,
15
+ List,
16
+ NamedTuple,
17
+ Optional,
18
+ Tuple,
19
+ Union,
20
+ )
10
21
 
11
22
  import numpy as np
12
23
  from requests_toolbelt import MultipartDecoder, MultipartEncoder
@@ -608,3 +619,81 @@ class FigureApi(RemoveableBulkModuleApi):
608
619
  )
609
620
  encoder = MultipartEncoder(fields=fields)
610
621
  self._api.post("figures.bulk.upload.geometry", encoder)
622
+
623
+ async def _download_geometries_generator_async(
624
+ self, ids: List[int], semaphore: Optional[asyncio.Semaphore] = None
625
+ ) -> AsyncGenerator[Tuple[int, bytes], None, None]:
626
+ """
627
+ Private method. Download figures geometries with given IDs from storage asynchronously.
628
+
629
+ :param ids: List of figure IDs in Supervisely.
630
+ :type ids: List[int]
631
+ :return: Async generator with pairs of figure ID and figure geometry.
632
+ :rtype: AsyncGenerator[Tuple[int, bytes], None, None]
633
+ """
634
+ if semaphore is None:
635
+ semaphore = self._api.get_default_semaphore()
636
+
637
+ for batch_ids in batched(ids):
638
+ async with semaphore:
639
+ response = await self._api.post_async(
640
+ "figures.bulk.download.geometry", {ApiField.IDS: batch_ids}
641
+ )
642
+ decoder = MultipartDecoder.from_response(response)
643
+ for part in decoder.parts:
644
+ content_utf8 = part.headers[b"Content-Disposition"].decode("utf-8")
645
+ # Find name="1245" preceded by a whitespace, semicolon or beginning of line.
646
+ # The regex has 2 capture group: one for the prefix and one for the actual name value.
647
+ figure_id = int(re.findall(r'(^|[\s;])name="(\d*)"', content_utf8)[0][1])
648
+ yield figure_id, part.content
649
+
650
+ async def download_geometries_batch_async(
651
+ self,
652
+ ids: List[int],
653
+ progress_cb: Optional[Union[tqdm, Callable]] = None,
654
+ semaphore: Optional[asyncio.Semaphore] = None,
655
+ ) -> List[dict]:
656
+ """
657
+ Download figure geometries with given IDs from storage asynchronously.
658
+
659
+ :param ids: List of figure IDs in Supervisely.
660
+ :type ids: List[int]
661
+ :param progress_cb: Progress bar to show the download progress. Shows the number of bytes downloaded.
662
+ :type progress_cb: Union[tqdm, Callable], optional
663
+ :param semaphore: Semaphore to limit the number of concurrent downloads.
664
+ :type semaphore: Optional[asyncio.Semaphore], optional
665
+ :return: List of figure geometries in Supervisely JSON format.
666
+ :rtype: List[dict]
667
+
668
+ :Usage example:
669
+
670
+ .. code-block:: python
671
+
672
+ import asyncio
673
+ import supervisely as sly
674
+
675
+ os.environ['SERVER_ADDRESS'] = 'https://app.supervisely.com'
676
+ os.environ['API_TOKEN'] = 'Your Supervisely API Token'
677
+ api = sly.Api.from_env()
678
+
679
+ figure_ids = [642155547, 642155548, 642155549]
680
+ loop = sly.utils.get_or_create_event_loop()
681
+ geometries = loop.run_until_complete(
682
+ api.figure.download_geometries_batch_async(
683
+ figure_ids,
684
+ progress_cb=tqdm(total=len(figure_ids), desc="Downloading geometries"),
685
+ semaphore=asyncio.Semaphore(15),
686
+ )
687
+ )
688
+ """
689
+ geometries = {}
690
+ async for idx, part in self._download_geometries_generator_async(ids, semaphore):
691
+ if progress_cb is not None:
692
+ progress_cb(len(part))
693
+ geometry_json = json.loads(part)
694
+ geometries[idx] = geometry_json
695
+
696
+ if len(geometries) != len(ids):
697
+ raise RuntimeError("Not all geometries were downloaded")
698
+ ordered_results = [geometries[i] for i in ids]
699
+ return ordered_results
@@ -13,6 +13,7 @@ from collections import defaultdict
13
13
  from concurrent.futures import ThreadPoolExecutor
14
14
  from datetime import datetime
15
15
  from functools import partial
16
+ from math import ceil
16
17
  from pathlib import Path
17
18
  from time import sleep
18
19
  from typing import (
@@ -3705,11 +3706,12 @@ class ImageApi(RemoveableBulkModuleApi):
3705
3706
  range_start: Optional[int] = None,
3706
3707
  range_end: Optional[int] = None,
3707
3708
  headers: Optional[dict] = None,
3709
+ chunk_size: Optional[int] = None,
3708
3710
  ) -> AsyncGenerator:
3709
3711
  """
3710
3712
  Download Image with given ID asynchronously.
3711
3713
  If is_stream is True, returns stream of bytes, otherwise returns response object.
3712
- For streaming, returns tuple of chunk and hash.
3714
+ For streaming, returns tuple of chunk and hash. Chunk size is 8 MB by default.
3713
3715
 
3714
3716
  :param id: Image ID in Supervisely.
3715
3717
  :type id: int
@@ -3721,11 +3723,16 @@ class ImageApi(RemoveableBulkModuleApi):
3721
3723
  :type range_end: int, optional
3722
3724
  :param headers: Headers for request.
3723
3725
  :type headers: dict, optional
3726
+ :param chunk_size: Size of chunk for streaming. Default is 8 MB.
3727
+ :type chunk_size: int, optional
3724
3728
  :return: Stream of bytes or response object.
3725
3729
  :rtype: AsyncGenerator
3726
3730
  """
3727
3731
  api_method_name = "images.download"
3728
3732
 
3733
+ if chunk_size is None:
3734
+ chunk_size = 8 * 1024 * 1024
3735
+
3729
3736
  json_body = {ApiField.ID: id}
3730
3737
 
3731
3738
  if is_stream:
@@ -3736,6 +3743,7 @@ class ImageApi(RemoveableBulkModuleApi):
3736
3743
  headers=headers,
3737
3744
  range_start=range_start,
3738
3745
  range_end=range_end,
3746
+ chunk_size=chunk_size,
3739
3747
  ):
3740
3748
  yield chunk, hhash
3741
3749
  else:
@@ -4157,3 +4165,180 @@ class ImageApi(RemoveableBulkModuleApi):
4157
4165
  tasks.append(task)
4158
4166
  results = await asyncio.gather(*tasks)
4159
4167
  return results
4168
+
4169
+ async def download_bytes_generator_async(
4170
+ self,
4171
+ dataset_id: int,
4172
+ img_ids: List[int],
4173
+ semaphore: Optional[asyncio.Semaphore] = None,
4174
+ headers: Optional[dict] = None,
4175
+ check_hash: bool = False,
4176
+ progress_cb: Optional[Union[tqdm, Callable]] = None,
4177
+ progress_cb_type: Literal["number", "size"] = "number",
4178
+ ) -> AsyncGenerator[Tuple[int, bytes]]:
4179
+ """
4180
+ Downloads Image bytes with given ID in batch asynchronously.
4181
+ Yields tuple of Image ID and bytes of downloaded image.
4182
+ Uses bulk download API method.
4183
+
4184
+ :param dataset_id: Dataset ID in Supervisely.
4185
+ :type dataset_id: int
4186
+ :param img_ids: List of Image IDs in Supervisely.
4187
+ :type img_ids: :class:`List[int]`
4188
+ :param semaphore: Semaphore for limiting the number of simultaneous downloads.
4189
+ :type semaphore: :class:`asyncio.Semaphore`, optional
4190
+ :param headers: Headers for request.
4191
+ :type headers: dict, optional
4192
+ :param check_hash: If True, checks hash of downloaded bytes. Default is False.
4193
+ :type check_hash: bool, optional
4194
+ :param progress_cb: Function for tracking download progress.
4195
+ :type progress_cb: Optional[Union[tqdm, Callable]]
4196
+ :param progress_cb_type: Type of progress callback. Can be "number" or "size". Default is "number".
4197
+ :type progress_cb_type: Literal["number", "size"], optional
4198
+ :return: Tuple of Image ID and bytes of downloaded image.
4199
+ :rtype: :class:`Tuple[int, bytes]`
4200
+
4201
+ :Usage example:
4202
+
4203
+ .. code-block:: python
4204
+
4205
+ import supervisely as sly
4206
+ import asyncio
4207
+
4208
+ os.environ['SERVER_ADDRESS'] = 'https://app.supervisely.com'
4209
+ os.environ['API_TOKEN'] = 'Your Supervisely API Token'
4210
+ api = sly.Api.from_env()
4211
+
4212
+ dataset_id = 123456
4213
+ img_ids = [770918, 770919, 770920, 770921, ... , 770992]
4214
+ tasks = []
4215
+ for batch in batched(img_ids, 50):
4216
+ task = api.image.download_bytes_batch_async(dataset_id, batch)
4217
+ tasks.append(task)
4218
+ results = await asyncio.gather(*tasks)
4219
+ """
4220
+ api_method_name = "images.bulk.download"
4221
+ json_body = {
4222
+ ApiField.DATASET_ID: dataset_id,
4223
+ ApiField.IMAGE_IDS: img_ids,
4224
+ }
4225
+
4226
+ if semaphore is None:
4227
+ semaphore = self._api.get_default_semaphore()
4228
+ async with semaphore:
4229
+ response = await self._api.post_async(
4230
+ api_method_name,
4231
+ json=json_body,
4232
+ headers=headers,
4233
+ )
4234
+ decoder = MultipartDecoder.from_response(response)
4235
+ for part in decoder.parts:
4236
+ content_utf8 = part.headers[b"Content-Disposition"].decode("utf-8")
4237
+ # Find name="1245" preceded by a whitespace, semicolon or beginning of line.
4238
+ # The regex has 2 capture group: one for the prefix and one for the actual name value.
4239
+ img_id = int(re.findall(r'(^|[\s;])name="(\d*)"', content_utf8)[0][1])
4240
+ if check_hash:
4241
+ hhash = part.headers.get("x-content-checksum-sha256", None)
4242
+ if hhash is not None:
4243
+ downloaded_bytes_hash = get_bytes_hash(part)
4244
+ if hhash != downloaded_bytes_hash:
4245
+ raise RuntimeError(
4246
+ f"Downloaded hash of image with ID:{img_id} does not match the expected hash: {downloaded_bytes_hash} != {hhash}"
4247
+ )
4248
+ if progress_cb is not None and progress_cb_type == "number":
4249
+ progress_cb(1)
4250
+ elif progress_cb is not None and progress_cb_type == "size":
4251
+ progress_cb(len(part.content))
4252
+
4253
+ yield img_id, part.content
4254
+
4255
+ async def get_list_generator_async(
4256
+ self,
4257
+ dataset_id: int = None,
4258
+ filters: Optional[List[Dict[str, str]]] = None,
4259
+ sort: Optional[str] = "id",
4260
+ sort_order: Optional[str] = "asc",
4261
+ force_metadata_for_links: Optional[bool] = True,
4262
+ only_labelled: Optional[bool] = False,
4263
+ fields: Optional[List[str]] = None,
4264
+ per_page: Optional[int] = 500,
4265
+ semaphore: Optional[List[asyncio.Semaphore]] = None,
4266
+ **kwargs,
4267
+ ) -> AsyncGenerator[List[ImageInfo]]:
4268
+ """
4269
+ Yields list of images in dataset asynchronously page by page.
4270
+
4271
+ :param dataset_id: Dataset ID in Supervisely.
4272
+ :type dataset_id: int
4273
+ :param filters: Filters for images.
4274
+ :type filters: List[Dict[str, str]], optional
4275
+ :param sort: Sort images by field.
4276
+ :type sort: str, optional
4277
+ :param sort_order: Sort order for images.
4278
+ :type sort_order: str, optional
4279
+ :param force_metadata_for_links: If True, forces metadata for links.
4280
+ :type force_metadata_for_links: bool, optional
4281
+ :param only_labelled: If True, returns only labelled images.
4282
+ :type only_labelled: bool, optional
4283
+ :param fields: List of fields to return.
4284
+ :type fields: List[str], optional
4285
+ :param per_page: Number of images to return per page.
4286
+ :type per_page: int, optional
4287
+ :param semaphore: Semaphore for limiting the number of simultaneous requests.
4288
+ :type semaphore: :class:`asyncio.Semaphore`, optional
4289
+ :param kwargs: Additional arguments.
4290
+ :return: List of images in dataset.
4291
+ :rtype: AsyncGenerator[List[ImageInfo]]
4292
+
4293
+ :Usage example:
4294
+
4295
+ .. code-block:: python
4296
+
4297
+ import supervisely as sly
4298
+ import asyncio
4299
+
4300
+ os.environ['SERVER_ADDRESS'] = 'https://app.supervisely.com'
4301
+ os.environ['API_TOKEN'] = 'Your Supervisely API Token'
4302
+ api = sly.Api.from_env()
4303
+
4304
+ loop = sly.utils.get_or_create_event_loop()
4305
+ images = loop.run_until_complete(api.image.get_list_async(123456, per_page=600))
4306
+ """
4307
+
4308
+ method = "images.list"
4309
+ dataset_info = kwargs.get("dataset_info", None)
4310
+
4311
+ if dataset_info is None:
4312
+ dataset_info = self._api.dataset.get_info_by_id(dataset_id, raise_error=True)
4313
+
4314
+ total_pages = ceil(dataset_info.items_count / per_page)
4315
+
4316
+ data = {
4317
+ ApiField.DATASET_ID: dataset_info.id,
4318
+ ApiField.PROJECT_ID: dataset_info.project_id,
4319
+ ApiField.SORT: sort,
4320
+ ApiField.SORT_ORDER: sort_order,
4321
+ ApiField.FORCE_METADATA_FOR_LINKS: force_metadata_for_links,
4322
+ ApiField.FILTER: filters or [],
4323
+ ApiField.PER_PAGE: per_page,
4324
+ }
4325
+ if fields is not None:
4326
+ data[ApiField.FIELDS] = fields
4327
+ if only_labelled:
4328
+ data[ApiField.FILTERS] = [
4329
+ {
4330
+ "type": "objects_class",
4331
+ "data": {
4332
+ "from": 1,
4333
+ "to": 9999,
4334
+ "include": True,
4335
+ "classId": None,
4336
+ },
4337
+ }
4338
+ ]
4339
+
4340
+ if semaphore is None:
4341
+ semaphore = self._api.get_default_semaphore()
4342
+
4343
+ async for page in self.get_list_page_generator_async(method, data, total_pages, semaphore):
4344
+ yield page
@@ -1,7 +1,9 @@
1
1
  # coding: utf-8
2
+ import asyncio
2
3
  from collections import namedtuple
3
4
  from copy import deepcopy
4
- from typing import TYPE_CHECKING, List
5
+ from math import ceil
6
+ from typing import TYPE_CHECKING, Any, AsyncGenerator, List, NamedTuple, Optional, Tuple
5
7
 
6
8
  import requests
7
9
 
@@ -867,6 +869,98 @@ class ModuleApiBase(_JsonConvertibleModule):
867
869
  response = self._get_response_by_id(id, method, id_field=ApiField.ID, fields=fields)
868
870
  return self._convert_json_info(response.json()) if (response is not None) else None
869
871
 
872
+ async def get_list_idx_page_async(
873
+ self,
874
+ method: str,
875
+ data: dict,
876
+ ) -> Tuple[int, List[NamedTuple]]:
877
+ """
878
+ Get the list of items for a given page number.
879
+ Page number is specified in the data dictionary.
880
+
881
+ :param method: Method to call for listing items.
882
+ :type method: str
883
+ :param data: Data to pass to the API method.
884
+ :type data: dict
885
+ :return: List of items.
886
+ :rtype: Tuple[int, List[NamedTuple]]
887
+ """
888
+
889
+ response = await self._api.post_async(method, data)
890
+ response_json = response.json()
891
+ entities = response_json.get("entities", [])
892
+ # To avoid empty pages when a filter is applied to the data and the `pagesCount` is less than the number calculated based on the items and `per_page` size.
893
+ # Process `pagesCount` in the main function according to the actual number of pages returned.
894
+ pages_count = response_json.get("pagesCount", None)
895
+ if pages_count is None:
896
+ raise ValueError("Can not determine the number of pages to retrieve.")
897
+ return pages_count, [self._convert_json_info(item) for item in entities]
898
+
899
+ async def get_list_page_generator_async(
900
+ self,
901
+ method: str,
902
+ data: dict,
903
+ pages_count: Optional[int] = None,
904
+ semaphore: Optional[List[asyncio.Semaphore]] = None,
905
+ ) -> AsyncGenerator[List[Any], None]:
906
+ """
907
+ Yields list of images in dataset asynchronously page by page.
908
+
909
+ :param method: Method to call for listing items.
910
+ :type method: str
911
+ :param data: Data to pass to the API method.
912
+ :type data: dict
913
+ :param pages_count: Preferred number of pages to retrieve if used with a `per_page` limit.
914
+ Will be automatically adjusted if the `pagesCount` differs from the requested number.
915
+ :type pages_count: int, optional
916
+ :param semaphore: Semaphore for limiting the number of simultaneous requests.
917
+ :type semaphore: :class:`asyncio.Semaphore`, optional
918
+ :param kwargs: Additional arguments.
919
+ :return: List of images in dataset.
920
+ :rtype: AsyncGenerator[List[ImageInfo]]
921
+
922
+ :Usage example:
923
+
924
+ .. code-block:: python
925
+
926
+ import supervisely as sly
927
+ import asyncio
928
+
929
+ os.environ['SERVER_ADDRESS'] = 'https://app.supervisely.com'
930
+ os.environ['API_TOKEN'] = 'Your Supervisely API Token'
931
+ api = sly.Api.from_env()
932
+
933
+ method = 'images.list'
934
+ data = {
935
+ 'datasetId': 123456
936
+ }
937
+
938
+ loop = sly.utils.get_or_create_event_loop()
939
+ images = loop.run_until_complete(api.image.get_list_generator_async(method, data))
940
+ """
941
+
942
+ if semaphore is None:
943
+ semaphore = self._api.get_default_semaphore()
944
+
945
+ async def sem_task(task):
946
+ async with semaphore:
947
+ return await task
948
+
949
+ if pages_count is None:
950
+ pages_count = 999999 # to avoid range lesser than total pages count
951
+ for page_num in range(1, pages_count + 1):
952
+ if page_num <= pages_count:
953
+ data[ApiField.PAGE] = page_num
954
+ total_pages, items = await sem_task(self.get_list_idx_page_async(method, data))
955
+
956
+ # To correct `total_pages` count in case filter is applied
957
+ if page_num == 1:
958
+ pages_count = total_pages
959
+
960
+ yield items
961
+ else:
962
+ break
963
+
870
964
 
871
965
  class ModuleApi(ModuleApiBase):
872
966
  """Base class for entities that have a parent object in the system."""