labelbox 3.78.2__tar.gz → 6.6.0__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.
Files changed (544) hide show
  1. {labelbox-3.78.2 → labelbox-6.6.0}/CHANGELOG.md +132 -2
  2. {labelbox-3.78.2 → labelbox-6.6.0}/Dockerfile +3 -3
  3. {labelbox-3.78.2 → labelbox-6.6.0}/PKG-INFO +6 -5
  4. labelbox-6.6.0/mypy.ini +16 -0
  5. {labelbox-3.78.2 → labelbox-6.6.0}/pyproject.toml +17 -9
  6. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/__init__.py +40 -13
  7. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/adv_client.py +37 -31
  8. labelbox-6.6.0/src/labelbox/annotated_types.py +5 -0
  9. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/client.py +792 -933
  10. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/__init__.py +9 -16
  11. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/annotation.py +5 -2
  12. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/base_annotation.py +6 -4
  13. labelbox-6.6.0/src/labelbox/data/annotation_types/classification/__init__.py +1 -0
  14. labelbox-6.6.0/src/labelbox/data/annotation_types/classification/classification.py +76 -0
  15. labelbox-6.6.0/src/labelbox/data/annotation_types/collection.py +77 -0
  16. labelbox-6.6.0/src/labelbox/data/annotation_types/data/__init__.py +2 -0
  17. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/base_data.py +3 -2
  18. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/generic_data_row_data.py +6 -5
  19. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/raster.py +51 -47
  20. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/data/tiled_image.py +203 -147
  21. labelbox-6.6.0/src/labelbox/data/annotation_types/feature.py +23 -0
  22. labelbox-6.6.0/src/labelbox/data/annotation_types/geometry/geometry.py +58 -0
  23. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/line.py +24 -20
  24. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/mask.py +29 -23
  25. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/point.py +19 -12
  26. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/polygon.py +19 -14
  27. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/rectangle.py +33 -22
  28. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/label.py +55 -94
  29. labelbox-6.6.0/src/labelbox/data/annotation_types/llm_prompt_response/__init__.py +2 -0
  30. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/llm_prompt_response/prompt.py +9 -11
  31. labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/__init__.py +6 -0
  32. labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/base.py +39 -0
  33. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/metrics/confusion_matrix.py +14 -10
  34. labelbox-6.6.0/src/labelbox/data/annotation_types/metrics/scalar.py +57 -0
  35. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/mmc.py +15 -4
  36. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/conversation_entity.py +3 -2
  37. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/document_entity.py +6 -5
  38. labelbox-6.6.0/src/labelbox/data/annotation_types/ner/text_entity.py +20 -0
  39. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/relationship.py +6 -4
  40. labelbox-6.6.0/src/labelbox/data/annotation_types/types.py +20 -0
  41. labelbox-6.6.0/src/labelbox/data/annotation_types/video.py +122 -0
  42. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/generator.py +3 -4
  43. labelbox-6.6.0/src/labelbox/data/metrics/__init__.py +5 -0
  44. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/calculation.py +107 -66
  45. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/confusion_matrix.py +43 -37
  46. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/group.py +44 -30
  47. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/calculation.py +127 -74
  48. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/iou.py +30 -23
  49. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/mixins.py +16 -31
  50. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/ontology.py +48 -27
  51. labelbox-6.6.0/src/labelbox/data/serialization/__init__.py +1 -0
  52. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/base.py +40 -0
  53. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/classification.py +508 -0
  54. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/converter.py +44 -0
  55. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/label.py +211 -0
  56. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/metric.py +127 -0
  57. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/serialization/ndjson/mmc.py +16 -9
  58. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/objects.py +807 -0
  59. labelbox-6.6.0/src/labelbox/data/serialization/ndjson/relationship.py +54 -0
  60. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/comparison.py +27 -19
  61. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/db_object.py +82 -50
  62. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/model.py +57 -44
  63. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/query.py +139 -80
  64. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/pagination.py +59 -39
  65. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/parser.py +3 -4
  66. labelbox-6.6.0/src/labelbox/project_validation.py +87 -0
  67. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/__init__.py +1 -2
  68. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/annotation_import.py +268 -162
  69. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/asset_attachment.py +16 -23
  70. labelbox-6.6.0/src/labelbox/schema/batch.py +154 -0
  71. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/benchmark.py +9 -5
  72. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/catalog.py +78 -67
  73. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/confidence_presence_checker.py +3 -2
  74. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/create_batches_task.py +9 -4
  75. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/data_row.py +149 -108
  76. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/data_row_metadata.py +281 -235
  77. labelbox-6.6.0/src/labelbox/schema/data_row_payload_templates.py +41 -0
  78. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/dataset.py +213 -285
  79. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/embedding.py +9 -6
  80. labelbox-6.6.0/src/labelbox/schema/enums.py +41 -0
  81. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/export_filters.py +76 -74
  82. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/export_params.py +9 -12
  83. labelbox-6.6.0/src/labelbox/schema/export_task.py +588 -0
  84. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/app.py +7 -7
  85. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/foundry_client.py +24 -14
  86. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/model.py +3 -3
  87. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/iam_integration.py +3 -3
  88. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/id_type.py +2 -1
  89. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/identifiables.py +4 -2
  90. labelbox-6.6.0/src/labelbox/schema/internal/data_row_uploader.py +44 -0
  91. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/data_row_upsert_item.py +30 -24
  92. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/descriptor_file_creator.py +73 -49
  93. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/invite.py +6 -3
  94. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/label.py +8 -6
  95. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/label_score.py +2 -2
  96. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_frontend.py +3 -13
  97. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service.py +31 -21
  98. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service_dashboard.py +67 -47
  99. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/labeling_service_status.py +9 -9
  100. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/media_type.py +19 -13
  101. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model.py +19 -14
  102. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model_config.py +2 -2
  103. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/model_run.py +260 -257
  104. labelbox-6.6.0/src/labelbox/schema/ontology.py +354 -0
  105. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/ontology_kind.py +47 -31
  106. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/organization.py +82 -46
  107. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project.py +518 -796
  108. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_model_config.py +11 -6
  109. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_overview.py +12 -8
  110. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/project_resource_tag.py +2 -2
  111. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/resource_tag.py +2 -2
  112. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/review.py +3 -3
  113. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/role.py +7 -9
  114. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/search_filters.py +129 -74
  115. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/send_to_annotate_params.py +40 -43
  116. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/serialization.py +4 -3
  117. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/slice.py +108 -121
  118. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/task.py +101 -84
  119. labelbox-6.6.0/src/labelbox/schema/tool_building/__init__.py +7 -0
  120. labelbox-6.6.0/src/labelbox/schema/tool_building/base_step_reasoning_tool.py +105 -0
  121. labelbox-6.6.0/src/labelbox/schema/tool_building/classification.py +386 -0
  122. labelbox-6.6.0/src/labelbox/schema/tool_building/fact_checking_tool.py +86 -0
  123. labelbox-6.6.0/src/labelbox/schema/tool_building/prompt_issue_tool.py +106 -0
  124. labelbox-6.6.0/src/labelbox/schema/tool_building/step_reasoning_tool.py +55 -0
  125. labelbox-6.6.0/src/labelbox/schema/tool_building/tool_type.py +15 -0
  126. labelbox-6.6.0/src/labelbox/schema/tool_building/tool_type_mapping.py +21 -0
  127. labelbox-6.6.0/src/labelbox/schema/tool_building/types.py +33 -0
  128. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/user.py +26 -19
  129. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/user_group.py +62 -56
  130. labelbox-6.6.0/src/labelbox/schema/user_group_v2.py +248 -0
  131. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/webhook.py +24 -15
  132. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/types.py +1 -1
  133. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/utils.py +26 -19
  134. {labelbox-3.78.2 → labelbox-6.6.0}/tests/conftest.py +520 -358
  135. labelbox-6.6.0/tests/data/annotation_import/conftest.py +2750 -0
  136. labelbox-6.6.0/tests/data/annotation_import/test_annotation_import_limit.py +54 -0
  137. labelbox-6.6.0/tests/data/annotation_import/test_generic_data_types.py +305 -0
  138. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_label_import.py +74 -47
  139. labelbox-6.6.0/tests/data/annotation_import/test_mal_prediction_import.py +84 -0
  140. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_mea_prediction_import.py +194 -85
  141. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_model.py +1 -1
  142. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_model_run.py +64 -43
  143. labelbox-6.6.0/tests/data/annotation_import/test_relationships.py +222 -0
  144. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_send_to_annotate_mea.py +28 -18
  145. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_import/test_upsert_prediction_import.py +62 -39
  146. labelbox-6.6.0/tests/data/annotation_types/classification/test_classification.py +193 -0
  147. labelbox-6.6.0/tests/data/annotation_types/data/test_raster.py +45 -0
  148. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_line.py +4 -4
  149. labelbox-6.6.0/tests/data/annotation_types/geometry/test_mask.py +145 -0
  150. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_point.py +3 -3
  151. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_polygon.py +8 -7
  152. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/test_rectangle.py +5 -5
  153. labelbox-6.6.0/tests/data/annotation_types/test_annotation.py +110 -0
  154. labelbox-6.6.0/tests/data/annotation_types/test_collection.py +91 -0
  155. labelbox-6.6.0/tests/data/annotation_types/test_label.py +59 -0
  156. labelbox-6.6.0/tests/data/annotation_types/test_metrics.py +215 -0
  157. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_ner.py +14 -6
  158. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_tiled_image.py +43 -29
  159. labelbox-6.6.0/tests/data/annotation_types/test_video.py +20 -0
  160. labelbox-6.6.0/tests/data/assets/ndjson/image_import.json +86 -0
  161. labelbox-6.6.0/tests/data/assets/ndjson/image_import_name_only.json +86 -0
  162. labelbox-6.6.0/tests/data/assets/ndjson/metric_import.json +10 -0
  163. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/video_import.json +1 -1
  164. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/video_import_name_only.json +1 -1
  165. labelbox-6.6.0/tests/data/conftest.py +64 -0
  166. labelbox-6.6.0/tests/data/export/conftest.py +644 -0
  167. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_data_rows_streamable.py +50 -32
  168. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_dataset_streamable.py +44 -26
  169. labelbox-6.6.0/tests/data/export/streamable/test_export_embeddings_streamable.py +82 -0
  170. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_model_run_streamable.py +20 -15
  171. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_project_streamable.py +129 -94
  172. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/export/streamable/test_export_video_streamable.py +64 -55
  173. labelbox-6.6.0/tests/data/metrics/confusion_matrix/conftest.py +475 -0
  174. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/confusion_matrix/test_confusion_matrix_data_row.py +37 -26
  175. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/confusion_matrix/test_confusion_matrix_feature.py +32 -22
  176. labelbox-6.6.0/tests/data/metrics/iou/data_row/conftest.py +696 -0
  177. labelbox-6.6.0/tests/data/metrics/iou/feature/conftest.py +201 -0
  178. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/metrics/iou/feature/test_feature_iou.py +2 -1
  179. labelbox-6.6.0/tests/data/serialization/ndjson/test_checklist.py +308 -0
  180. labelbox-6.6.0/tests/data/serialization/ndjson/test_classification.py +123 -0
  181. labelbox-6.6.0/tests/data/serialization/ndjson/test_conversation.py +196 -0
  182. labelbox-6.6.0/tests/data/serialization/ndjson/test_data_gen.py +29 -0
  183. labelbox-6.6.0/tests/data/serialization/ndjson/test_document.py +346 -0
  184. labelbox-6.6.0/tests/data/serialization/ndjson/test_export_video_objects.py +590 -0
  185. labelbox-6.6.0/tests/data/serialization/ndjson/test_free_text.py +94 -0
  186. labelbox-6.6.0/tests/data/serialization/ndjson/test_generic_data_row_data.py +79 -0
  187. labelbox-6.6.0/tests/data/serialization/ndjson/test_global_key.py +74 -0
  188. labelbox-6.6.0/tests/data/serialization/ndjson/test_image.py +275 -0
  189. labelbox-6.6.0/tests/data/serialization/ndjson/test_metric.py +166 -0
  190. labelbox-6.6.0/tests/data/serialization/ndjson/test_mmc.py +125 -0
  191. labelbox-6.6.0/tests/data/serialization/ndjson/test_nested.py +249 -0
  192. labelbox-6.6.0/tests/data/serialization/ndjson/test_polyline.py +76 -0
  193. labelbox-6.6.0/tests/data/serialization/ndjson/test_radio.py +92 -0
  194. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/ndjson/test_rectangle.py +52 -33
  195. labelbox-6.6.0/tests/data/serialization/ndjson/test_relationship.py +194 -0
  196. labelbox-6.6.0/tests/data/serialization/ndjson/test_text.py +33 -0
  197. labelbox-6.6.0/tests/data/serialization/ndjson/test_text_entity.py +68 -0
  198. labelbox-6.6.0/tests/data/serialization/ndjson/test_video.py +1404 -0
  199. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/test_data_row_metadata.py +150 -156
  200. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/test_prefetch_generator.py +1 -2
  201. labelbox-6.6.0/tests/integration/conftest.py +956 -0
  202. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/schema/test_user_group.py +14 -22
  203. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_batch.py +102 -93
  204. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_batches.py +6 -7
  205. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_benchmark.py +3 -3
  206. labelbox-6.6.0/tests/integration/test_chat_evaluation_ontology_project.py +157 -0
  207. labelbox-6.6.0/tests/integration/test_client_errors.py +103 -0
  208. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_row_delete_metadata.py +143 -91
  209. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_rows.py +489 -485
  210. labelbox-6.6.0/tests/integration/test_data_rows_upsert.py +280 -0
  211. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_data_upload.py +0 -1
  212. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_dataset.py +46 -39
  213. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_dates.py +4 -2
  214. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_delegated_access.py +62 -46
  215. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_embedding.py +16 -23
  216. labelbox-6.6.0/tests/integration/test_ephemeral.py +25 -0
  217. labelbox-6.6.0/tests/integration/test_feature_schema.py +143 -0
  218. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_filtering.py +12 -11
  219. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_foundry.py +67 -49
  220. labelbox-6.6.0/tests/integration/test_global_keys.py +196 -0
  221. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_label.py +14 -14
  222. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_dashboard.py +59 -24
  223. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_frontend.py +5 -3
  224. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_parameter_overrides.py +34 -24
  225. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_labeling_service.py +30 -19
  226. labelbox-6.6.0/tests/integration/test_legacy_project.py +11 -0
  227. labelbox-6.6.0/tests/integration/test_mmc_data_rows.py +82 -0
  228. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_model_config.py +10 -4
  229. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_offline_chat_evaluation_project.py +7 -5
  230. labelbox-6.6.0/tests/integration/test_ontology.py +520 -0
  231. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_pagination.py +0 -1
  232. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_project.py +94 -66
  233. labelbox-6.6.0/tests/integration/test_project_model_config.py +66 -0
  234. labelbox-6.6.0/tests/integration/test_project_set_model_setup_complete.py +61 -0
  235. labelbox-6.6.0/tests/integration/test_project_setup.py +48 -0
  236. labelbox-6.6.0/tests/integration/test_prompt_response_generation_project.py +185 -0
  237. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_response_creation_project.py +12 -6
  238. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_send_to_annotate.py +23 -16
  239. labelbox-6.6.0/tests/integration/test_task.py +80 -0
  240. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_task_queue.py +23 -11
  241. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_toggle_mal.py +3 -3
  242. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_user_and_org.py +1 -1
  243. labelbox-6.6.0/tests/integration/test_user_management.py +218 -0
  244. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_webhook.py +15 -12
  245. labelbox-6.6.0/tests/unit/conftest.py +108 -0
  246. labelbox-6.6.0/tests/unit/export_task/test_export_task.py +154 -0
  247. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/schema/test_user_group.py +96 -115
  248. labelbox-6.6.0/tests/unit/schema/test_user_group_v2.py +50 -0
  249. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_annotation_import.py +22 -26
  250. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_client.py +5 -4
  251. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_data_row_upsert_data.py +59 -60
  252. labelbox-6.6.0/tests/unit/test_exceptions.py +19 -0
  253. labelbox-6.6.0/tests/unit/test_label_data_type.py +46 -0
  254. labelbox-6.6.0/tests/unit/test_labeling_service_dashboard.py +75 -0
  255. labelbox-6.6.0/tests/unit/test_mal_import.py +68 -0
  256. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_ndjson_parsing.py +1 -1
  257. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_project.py +16 -22
  258. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_delete_batch_data_row_metadata.py +24 -32
  259. labelbox-6.6.0/tests/unit/test_unit_descriptor_file_creator.py +54 -0
  260. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_entity_meta.py +8 -6
  261. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_export_filters.py +24 -19
  262. labelbox-6.6.0/tests/unit/test_unit_fact_checking_tool.py +87 -0
  263. labelbox-6.6.0/tests/unit/test_unit_label_import.py +46 -0
  264. labelbox-6.6.0/tests/unit/test_unit_ontology.py +296 -0
  265. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_ontology_kind.py +11 -4
  266. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_project_validate_labeling_parameter_overrides.py +10 -17
  267. labelbox-6.6.0/tests/unit/test_unit_prompt_issue_tool.py +74 -0
  268. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_query.py +9 -8
  269. labelbox-6.6.0/tests/unit/test_unit_search_filters.py +149 -0
  270. labelbox-6.6.0/tests/unit/test_unit_step_ontology_variants.py +31 -0
  271. labelbox-6.6.0/tests/unit/test_unit_step_reasoning_tool.py +87 -0
  272. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_webhook.py +3 -6
  273. labelbox-6.6.0/tests/unit/test_utils.py +34 -0
  274. {labelbox-3.78.2 → labelbox-6.6.0}/tests/utils.py +3 -3
  275. labelbox-3.78.2/mypy.ini +0 -10
  276. labelbox-3.78.2/src/labelbox/data/annotation_types/classification/__init__.py +0 -2
  277. labelbox-3.78.2/src/labelbox/data/annotation_types/classification/classification.py +0 -117
  278. labelbox-3.78.2/src/labelbox/data/annotation_types/collection.py +0 -135
  279. labelbox-3.78.2/src/labelbox/data/annotation_types/data/__init__.py +0 -12
  280. labelbox-3.78.2/src/labelbox/data/annotation_types/data/audio.py +0 -7
  281. labelbox-3.78.2/src/labelbox/data/annotation_types/data/conversation.py +0 -7
  282. labelbox-3.78.2/src/labelbox/data/annotation_types/data/dicom.py +0 -7
  283. labelbox-3.78.2/src/labelbox/data/annotation_types/data/document.py +0 -7
  284. labelbox-3.78.2/src/labelbox/data/annotation_types/data/html.py +0 -7
  285. labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_prompt_creation.py +0 -7
  286. labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_prompt_response_creation.py +0 -8
  287. labelbox-3.78.2/src/labelbox/data/annotation_types/data/llm_response_creation.py +0 -7
  288. labelbox-3.78.2/src/labelbox/data/annotation_types/data/text.py +0 -113
  289. labelbox-3.78.2/src/labelbox/data/annotation_types/data/video.py +0 -172
  290. labelbox-3.78.2/src/labelbox/data/annotation_types/feature.py +0 -31
  291. labelbox-3.78.2/src/labelbox/data/annotation_types/geometry/geometry.py +0 -45
  292. labelbox-3.78.2/src/labelbox/data/annotation_types/llm_prompt_response/__init__.py +0 -2
  293. labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/__init__.py +0 -2
  294. labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/base.py +0 -35
  295. labelbox-3.78.2/src/labelbox/data/annotation_types/metrics/scalar.py +0 -50
  296. labelbox-3.78.2/src/labelbox/data/annotation_types/ner/text_entity.py +0 -19
  297. labelbox-3.78.2/src/labelbox/data/annotation_types/types.py +0 -50
  298. labelbox-3.78.2/src/labelbox/data/annotation_types/video.py +0 -150
  299. labelbox-3.78.2/src/labelbox/data/metrics/__init__.py +0 -2
  300. labelbox-3.78.2/src/labelbox/data/serialization/__init__.py +0 -3
  301. labelbox-3.78.2/src/labelbox/data/serialization/coco/__init__.py +0 -1
  302. labelbox-3.78.2/src/labelbox/data/serialization/coco/annotation.py +0 -73
  303. labelbox-3.78.2/src/labelbox/data/serialization/coco/categories.py +0 -16
  304. labelbox-3.78.2/src/labelbox/data/serialization/coco/converter.py +0 -156
  305. labelbox-3.78.2/src/labelbox/data/serialization/coco/image.py +0 -52
  306. labelbox-3.78.2/src/labelbox/data/serialization/coco/instance_dataset.py +0 -214
  307. labelbox-3.78.2/src/labelbox/data/serialization/coco/panoptic_dataset.py +0 -213
  308. labelbox-3.78.2/src/labelbox/data/serialization/coco/path.py +0 -9
  309. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/__init__.py +0 -1
  310. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/classification.py +0 -135
  311. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/converter.py +0 -105
  312. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/feature.py +0 -31
  313. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/label.py +0 -251
  314. labelbox-3.78.2/src/labelbox/data/serialization/labelbox_v1/objects.py +0 -339
  315. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/base.py +0 -58
  316. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/classification.py +0 -424
  317. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/converter.py +0 -123
  318. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/label.py +0 -289
  319. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/metric.py +0 -117
  320. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/objects.py +0 -784
  321. labelbox-3.78.2/src/labelbox/data/serialization/ndjson/relationship.py +0 -44
  322. labelbox-3.78.2/src/labelbox/exceptions.py +0 -179
  323. labelbox-3.78.2/src/labelbox/pydantic_compat.py +0 -34
  324. labelbox-3.78.2/src/labelbox/schema/batch.py +0 -197
  325. labelbox-3.78.2/src/labelbox/schema/bulk_import_request.py +0 -942
  326. labelbox-3.78.2/src/labelbox/schema/enums.py +0 -63
  327. labelbox-3.78.2/src/labelbox/schema/export_task.py +0 -927
  328. labelbox-3.78.2/src/labelbox/schema/internal/data_row_uploader.py +0 -37
  329. labelbox-3.78.2/src/labelbox/schema/ontology.py +0 -599
  330. labelbox-3.78.2/src/labelbox/schema/queue_mode.py +0 -12
  331. labelbox-3.78.2/src/labelbox/typing_imports.py +0 -10
  332. labelbox-3.78.2/tests/data/annotation_import/conftest.py +0 -2173
  333. labelbox-3.78.2/tests/data/annotation_import/test_annotation_import_limit.py +0 -33
  334. labelbox-3.78.2/tests/data/annotation_import/test_bulk_import_request.py +0 -221
  335. labelbox-3.78.2/tests/data/annotation_import/test_data_types.py +0 -79
  336. labelbox-3.78.2/tests/data/annotation_import/test_generic_data_types.py +0 -280
  337. labelbox-3.78.2/tests/data/annotation_import/test_mal_prediction_import.py +0 -58
  338. labelbox-3.78.2/tests/data/annotation_import/test_ndjson_validation.py +0 -227
  339. labelbox-3.78.2/tests/data/annotation_types/classification/test_classification.py +0 -243
  340. labelbox-3.78.2/tests/data/annotation_types/data/test_raster.py +0 -53
  341. labelbox-3.78.2/tests/data/annotation_types/data/test_text.py +0 -53
  342. labelbox-3.78.2/tests/data/annotation_types/data/test_video.py +0 -71
  343. labelbox-3.78.2/tests/data/annotation_types/geometry/test_mask.py +0 -78
  344. labelbox-3.78.2/tests/data/annotation_types/test_annotation.py +0 -98
  345. labelbox-3.78.2/tests/data/annotation_types/test_collection.py +0 -128
  346. labelbox-3.78.2/tests/data/annotation_types/test_label.py +0 -212
  347. labelbox-3.78.2/tests/data/annotation_types/test_metrics.py +0 -204
  348. labelbox-3.78.2/tests/data/annotation_types/test_video.py +0 -19
  349. labelbox-3.78.2/tests/data/assets/ndjson/classification_import_global_key.json +0 -54
  350. labelbox-3.78.2/tests/data/assets/ndjson/conversation_entity_import_global_key.json +0 -25
  351. labelbox-3.78.2/tests/data/assets/ndjson/image_import.json +0 -811
  352. labelbox-3.78.2/tests/data/assets/ndjson/image_import_global_key.json +0 -823
  353. labelbox-3.78.2/tests/data/assets/ndjson/image_import_name_only.json +0 -826
  354. labelbox-3.78.2/tests/data/assets/ndjson/metric_import.json +0 -1
  355. labelbox-3.78.2/tests/data/assets/ndjson/metric_import_global_key.json +0 -1
  356. labelbox-3.78.2/tests/data/assets/ndjson/pdf_import_global_key.json +0 -155
  357. labelbox-3.78.2/tests/data/assets/ndjson/polyline_import_global_key.json +0 -36
  358. labelbox-3.78.2/tests/data/assets/ndjson/text_entity_import_global_key.json +0 -26
  359. labelbox-3.78.2/tests/data/assets/ndjson/video_import_global_key.json +0 -166
  360. labelbox-3.78.2/tests/data/conftest.py +0 -49
  361. labelbox-3.78.2/tests/data/export/conftest.py +0 -507
  362. labelbox-3.78.2/tests/data/export/legacy/test_export_catalog.py +0 -19
  363. labelbox-3.78.2/tests/data/export/legacy/test_export_data_rows.py +0 -29
  364. labelbox-3.78.2/tests/data/export/legacy/test_export_dataset.py +0 -44
  365. labelbox-3.78.2/tests/data/export/legacy/test_export_model_run.py +0 -45
  366. labelbox-3.78.2/tests/data/export/legacy/test_export_project.py +0 -236
  367. labelbox-3.78.2/tests/data/export/legacy/test_export_slice.py +0 -17
  368. labelbox-3.78.2/tests/data/export/legacy/test_export_video.py +0 -244
  369. labelbox-3.78.2/tests/data/export/legacy/test_legacy_export.py +0 -243
  370. labelbox-3.78.2/tests/data/export/streamable/test_export_embeddings_streamable.py +0 -73
  371. labelbox-3.78.2/tests/data/metrics/confusion_matrix/conftest.py +0 -405
  372. labelbox-3.78.2/tests/data/metrics/iou/data_row/conftest.py +0 -786
  373. labelbox-3.78.2/tests/data/metrics/iou/data_row/test_data_row_iou.py +0 -143
  374. labelbox-3.78.2/tests/data/metrics/iou/feature/conftest.py +0 -155
  375. labelbox-3.78.2/tests/data/serialization/coco/test_coco.py +0 -34
  376. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_document.py +0 -45
  377. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_image.py +0 -49
  378. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_text.py +0 -27
  379. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_tiled_image.py +0 -45
  380. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_unknown_media.py +0 -47
  381. labelbox-3.78.2/tests/data/serialization/labelbox_v1/test_video.py +0 -40
  382. labelbox-3.78.2/tests/data/serialization/ndjson/test_checklist.py +0 -285
  383. labelbox-3.78.2/tests/data/serialization/ndjson/test_classification.py +0 -21
  384. labelbox-3.78.2/tests/data/serialization/ndjson/test_conversation.py +0 -133
  385. labelbox-3.78.2/tests/data/serialization/ndjson/test_data_gen.py +0 -57
  386. labelbox-3.78.2/tests/data/serialization/ndjson/test_dicom.py +0 -201
  387. labelbox-3.78.2/tests/data/serialization/ndjson/test_document.py +0 -79
  388. labelbox-3.78.2/tests/data/serialization/ndjson/test_export_video_objects.py +0 -626
  389. labelbox-3.78.2/tests/data/serialization/ndjson/test_free_text.py +0 -103
  390. labelbox-3.78.2/tests/data/serialization/ndjson/test_global_key.py +0 -68
  391. labelbox-3.78.2/tests/data/serialization/ndjson/test_image.py +0 -104
  392. labelbox-3.78.2/tests/data/serialization/ndjson/test_metric.py +0 -44
  393. labelbox-3.78.2/tests/data/serialization/ndjson/test_mmc.py +0 -27
  394. labelbox-3.78.2/tests/data/serialization/ndjson/test_nested.py +0 -20
  395. labelbox-3.78.2/tests/data/serialization/ndjson/test_polyline.py +0 -15
  396. labelbox-3.78.2/tests/data/serialization/ndjson/test_radio.py +0 -95
  397. labelbox-3.78.2/tests/data/serialization/ndjson/test_relationship.py +0 -68
  398. labelbox-3.78.2/tests/data/serialization/ndjson/test_text.py +0 -35
  399. labelbox-3.78.2/tests/data/serialization/ndjson/test_text_entity.py +0 -18
  400. labelbox-3.78.2/tests/data/serialization/ndjson/test_video.py +0 -506
  401. labelbox-3.78.2/tests/integration/conftest.py +0 -778
  402. labelbox-3.78.2/tests/integration/test_chat_evaluation_ontology_project.py +0 -142
  403. labelbox-3.78.2/tests/integration/test_client_errors.py +0 -125
  404. labelbox-3.78.2/tests/integration/test_data_rows_upsert.py +0 -275
  405. labelbox-3.78.2/tests/integration/test_ephemeral.py +0 -21
  406. labelbox-3.78.2/tests/integration/test_feature_schema.py +0 -119
  407. labelbox-3.78.2/tests/integration/test_global_keys.py +0 -206
  408. labelbox-3.78.2/tests/integration/test_legacy_project.py +0 -39
  409. labelbox-3.78.2/tests/integration/test_ontology.py +0 -288
  410. labelbox-3.78.2/tests/integration/test_project_model_config.py +0 -53
  411. labelbox-3.78.2/tests/integration/test_project_set_model_setup_complete.py +0 -66
  412. labelbox-3.78.2/tests/integration/test_project_setup.py +0 -77
  413. labelbox-3.78.2/tests/integration/test_prompt_response_generation_project.py +0 -164
  414. labelbox-3.78.2/tests/integration/test_task.py +0 -70
  415. labelbox-3.78.2/tests/integration/test_user_management.py +0 -114
  416. labelbox-3.78.2/tests/unit/conftest.py +0 -135
  417. labelbox-3.78.2/tests/unit/export_task/test_export_task.py +0 -195
  418. labelbox-3.78.2/tests/unit/export_task/test_unit_file_converter.py +0 -76
  419. labelbox-3.78.2/tests/unit/export_task/test_unit_file_retriever_by_line.py +0 -139
  420. labelbox-3.78.2/tests/unit/export_task/test_unit_file_retriever_by_offset.py +0 -96
  421. labelbox-3.78.2/tests/unit/export_task/test_unit_json_converter.py +0 -106
  422. labelbox-3.78.2/tests/unit/test_exceptions.py +0 -13
  423. labelbox-3.78.2/tests/unit/test_label_data_type.py +0 -59
  424. labelbox-3.78.2/tests/unit/test_mal_import.py +0 -75
  425. labelbox-3.78.2/tests/unit/test_queue_mode.py +0 -20
  426. labelbox-3.78.2/tests/unit/test_unit_descriptor_file_creator.py +0 -56
  427. labelbox-3.78.2/tests/unit/test_unit_label_import.py +0 -61
  428. labelbox-3.78.2/tests/unit/test_unit_ontology.py +0 -267
  429. labelbox-3.78.2/tests/unit/test_unit_search_filters.py +0 -85
  430. labelbox-3.78.2/tests/unit/test_utils.py +0 -21
  431. {labelbox-3.78.2 → labelbox-6.6.0}/.gitignore +0 -0
  432. {labelbox-3.78.2 → labelbox-6.6.0}/.yapfignore +0 -0
  433. {labelbox-3.78.2 → labelbox-6.6.0}/README.md +0 -0
  434. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/__init__.py +0 -0
  435. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/geometry/__init__.py +0 -0
  436. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/annotation_types/ner/__init__.py +0 -0
  437. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/confusion_matrix/__init__.py +0 -0
  438. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/metrics/iou/__init__.py +0 -0
  439. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/data/serialization/ndjson/__init__.py +0 -0
  440. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/orm/__init__.py +0 -0
  441. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/conflict_resolution_strategy.py +0 -0
  442. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/consensus_settings.py +0 -0
  443. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/foundry/__init__.py +0 -0
  444. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/identifiable.py +0 -0
  445. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/internal/datarow_upload_constants.py +0 -0
  446. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/quality_mode.py +0 -0
  447. {labelbox-3.78.2 → labelbox-6.6.0}/src/labelbox/schema/task_queue.py +0 -0
  448. {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/arxiv-pdf_data_99-word-token-pdfs_0801.3483-lb-textlayer.json +0 -0
  449. {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/arxiv-pdf_data_99-word-token-pdfs_0801.3483.pdf +0 -0
  450. {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/conversation-1.json +0 -0
  451. {labelbox-3.78.2 → labelbox-6.6.0}/tests/assets/loremipsum.pdf +0 -0
  452. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/__init__.py +0 -0
  453. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/classification/__init__.py +0 -0
  454. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/data/__init__.py +0 -0
  455. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/geometry/__init__.py +0 -0
  456. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/annotation_types/test_text.py +0 -0
  457. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000129054.jpg +0 -0
  458. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000141328.jpg +0 -0
  459. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000147498.jpg +0 -0
  460. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000184324.jpg +0 -0
  461. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000188465.jpg +0 -0
  462. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000245764.jpg +0 -0
  463. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000311303.jpg +0 -0
  464. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000343706.jpg +0 -0
  465. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000356387.jpg +0 -0
  466. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000370711.jpg +0 -0
  467. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000385029.jpg +0 -0
  468. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000393226.jpg +0 -0
  469. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000434230.jpg +0 -0
  470. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000458755.jpg +0 -0
  471. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000458768.jpg +0 -0
  472. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000462904.jpg +0 -0
  473. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000475150.jpg +0 -0
  474. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000532481.jpg +0 -0
  475. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000532493.jpg +0 -0
  476. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/images/000000546823.jpg +0 -0
  477. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/instances.json +0 -0
  478. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000129054.png +0 -0
  479. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000141328.png +0 -0
  480. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000147498.png +0 -0
  481. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000184324.png +0 -0
  482. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000188465.png +0 -0
  483. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000245764.png +0 -0
  484. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000311303.png +0 -0
  485. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000343706.png +0 -0
  486. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000356387.png +0 -0
  487. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000370711.png +0 -0
  488. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000385029.png +0 -0
  489. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000393226.png +0 -0
  490. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000434230.png +0 -0
  491. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000458755.png +0 -0
  492. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000458768.png +0 -0
  493. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000462904.png +0 -0
  494. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000475150.png +0 -0
  495. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000532481.png +0 -0
  496. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000532493.png +0 -0
  497. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/masks/000000546823.png +0 -0
  498. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/panoptic.json +0 -0
  499. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/coco/rle.json +0 -0
  500. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/highly_nested_image.json +0 -0
  501. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/image_export.json +0 -0
  502. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/pdf_export.json +0 -0
  503. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/text_export.json +0 -0
  504. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/tiled_image_export.json +0 -0
  505. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/unkown_media_type_export.json +0 -0
  506. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/labelbox_v1/video_export.json +0 -0
  507. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/line.png +0 -0
  508. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/mask.png +0 -0
  509. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/classification_import.json +0 -0
  510. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/classification_import_name_only.json +0 -0
  511. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/conversation_entity_import.json +0 -0
  512. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/conversation_entity_without_confidence_import.json +0 -0
  513. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/custom_confusion_matrix_import.json +0 -0
  514. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/custom_scalar_import.json +0 -0
  515. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/mmc_import.json +0 -0
  516. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/nested_import.json +0 -0
  517. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/nested_import_name_only.json +0 -0
  518. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/pdf_import.json +0 -0
  519. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/pdf_import_name_only.json +0 -0
  520. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/polyline_import.json +0 -0
  521. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/polyline_without_confidence_import.json +0 -0
  522. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/rectangle_import.json +0 -0
  523. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/relationship_import.json +0 -0
  524. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/text_entity_import.json +0 -0
  525. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/ndjson/text_entity_without_confidence_import.json +0 -0
  526. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/point.png +0 -0
  527. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/polygon.png +0 -0
  528. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/rectangle.png +0 -0
  529. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/assets/sample_text.txt +0 -0
  530. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/__init__.py +0 -0
  531. {labelbox-3.78.2 → labelbox-6.6.0}/tests/data/serialization/ndjson/__init__.py +0 -0
  532. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/bulk_conversation.json +0 -0
  533. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/cat.mp4 +0 -0
  534. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/sample_image.jpg +0 -0
  535. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/media/sample_pdf.pdf +0 -0
  536. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_data_rows.test_data_row_bulk_creation_with_same_global_keys.failed_data_rows.json +0 -0
  537. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_errors.errors.json +0 -0
  538. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_errors.failed_data_rows.json +0 -0
  539. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/snapshots/test_task.test_task_success_json.json +0 -0
  540. {labelbox-3.78.2 → labelbox-6.6.0}/tests/integration/test_sorting.py +0 -0
  541. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_case_change.py +0 -0
  542. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_filter.py +0 -0
  543. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_identifiables.py +0 -0
  544. {labelbox-3.78.2 → labelbox-6.6.0}/tests/unit/test_unit_rand_gen.py +0 -0
@@ -1,8 +1,138 @@
1
1
  # Changelog
2
- # Version 3.78.2 (2025-01-15)
2
+ # Version 6.6.0 (2025-01-14)
3
+ ## Added
4
+ * Support for python 3.13([#1940](https://github.com/Labelbox/labelbox-python/pull/1940))
5
+ * Note minimum numpy version that supports python 3.13 is 2.1
6
+ * Include predictions in slice export([#1939](https://github.com/Labelbox/labelbox-python/pull/1939))
7
+
8
+ ## Fixed
9
+ * GraphQL upload SSL configuration([#1937](https://github.com/Labelbox/labelbox-python/pull/1937))
10
+
11
+ # Version 6.5.0 (2025-01-03)
12
+ ## Added
13
+ * Support include predictions in catalog exports([#1935](https://github.com/Labelbox/labelbox-python/pull/1935))
14
+
15
+ # Version 6.4.0 (2024-12-19)
16
+ * Add feature schema attributes to support auto ocr tool in ontologies([#1930](https://github.com/Labelbox/labelbox-python/pull/1930))
17
+ * Move to task queue task id to be optional with default as None for better type support ([#1929](https://github.com/Labelbox/labelbox-python/pull/1929))
18
+
19
+ # Version 6.3.0 (2024-12-12)
20
+ ## Added
21
+ * Group member upload([#1924](https://github.com/Labelbox/labelbox-python/pull/1924))
22
+ * Group member export([#1925](https://github.com/Labelbox/labelbox-python/pull/1925))
23
+
24
+ ## Note
25
+ * The `Invite` class no longer returns the invite ID (uid).
26
+
27
+ # Version 6.2.0 (2024-11-26)
28
+ ## Added
29
+ * Prompt Issue ontology support([#1917](https://github.com/Labelbox/labelbox-python/pull/1917)), ([#1891](https://github.com/Labelbox/labelbox-python/pull/1891))
30
+ * Fact Checking ontology support([#1883](https://github.com/Labelbox/labelbox-python/pull/1883))
31
+ * Get mal import functions to replace old BulkImportRequest class([#1909](https://github.com/Labelbox/labelbox-python/pull/1909))
32
+ * Deprecation warning to wait_until_done methods([#1913](https://github.com/Labelbox/labelbox-python/pull/1913))
33
+ * Deprecation warning to get_data_row_ids([#1912](https://github.com/Labelbox/labelbox-python/pull/1912))
34
+
35
+ ## Fixed
36
+ * Optimization to relationship code ([#1920](https://github.com/Labelbox/labelbox-python/pull/1920))
37
+ * Relationship label bug([#1918](https://github.com/Labelbox/labelbox-python/pull/1918))
38
+ * Import lb-client exceptions for labelbox([#1916](https://github.com/Labelbox/labelbox-python/pull/1916))
39
+ * get_roles return type: Dict[str, Role] (instead of List[Role])([#1904](https://github.com/Labelbox/labelbox-python/pull/1904))
40
+ * Adjusted deprecation message to new standard([#1908](https://github.com/Labelbox/labelbox-python/pull/1908))
41
+ * Support for Client enable_experimental([#1905](https://github.com/Labelbox/labelbox-python/pull/1905))
42
+
43
+ ## Removed
44
+ * Support for Dicom([#1902](https://github.com/Labelbox/labelbox-python/pull/1902)), ([#1903](https://github.com/Labelbox/labelbox-python/pull/1903))
45
+
46
+ # Version 6.1.0 (2024-11-12)
47
+ ## Added
48
+ * Support for step reasoning ontology tool([#1894](https://github.com/Labelbox/labelbox-python/pull/1894), [#1882](https://github.com/Labelbox/labelbox-python/pull/1882), [#1879](https://github.com/Labelbox/labelbox-python/pull/1879))
49
+
50
+ ## Fixed
51
+ * Use valid lbox.exception in client IAMIntegration validation([#1887](https://github.com/Labelbox/labelbox-python/pull/1887))
52
+ * Improve SDK method name detection for Datadog dashboard([#1880](https://github.com/Labelbox/labelbox-python/pull/1880))
53
+ * Limit labeling front end visibility and mentions of a custom editor([#1877](https://github.com/Labelbox/labelbox-python/pull/1877))
54
+ * Remove all unused python imports([#1876](https://github.com/Labelbox/labelbox-python/pull/1876))
55
+ * Remove bulk import request from readthedocs([#1881](https://github.com/Labelbox/labelbox-python/pull/1881))
56
+
57
+
58
+ # Version 6.0.1 (2024-10-30)
59
+ ## Fixed
60
+ * Updated labelbox.exception to lbox.exception for IAMIntegration check([#1887](https://github.com/Labelbox/labelbox-python/pull/1887))
61
+
62
+ # Version 6.0.0 (2024-10-15)
63
+ ## Added
64
+ * Deprecation messages to all export_v2 methods([#1865](https://github.com/Labelbox/labelbox-python/pull/1865))
65
+ * Logic to extract sdk method to pass to datadog dashboard([#1865](https://github.com/Labelbox/labelbox-python/pull/1865))
66
+ * Graphql client as a separate component lbox.request_client([#1834](https://github.com/Labelbox/labelbox-python/pull/1834))
67
+
68
+ ## Updated
69
+ * Minimum requirement numpy version from 1.24 to 1.25 and cleaned up _TypedArray validations([#1845](https://github.com/Labelbox/labelbox-python/pull/1845))
70
+ * Refactored client `create_project` inputs to be named parameters, not kwargs([#1844](https://github.com/Labelbox/labelbox-python/pull/1844))
71
+ * Fixed pydantic v2 deprecation warnings([#1838](https://github.com/Labelbox/labelbox-python/pull/1838))
72
+ * Remove experimental from `UserGroup`([#1840](https://github.com/Labelbox/labelbox-python/pull/1840))
73
+ * Improved labeling service error reporting([#1836](https://github.com/Labelbox/labelbox-python/pull/1836))
74
+ * Switched to ruff linter([#1822](https://github.com/Labelbox/labelbox-python/pull/1822))
75
+
76
+ ## Fixed
77
+ * Labeling dashboard serialization ([#1870](https://github.com/Labelbox/labelbox-python/pull/1870))
78
+ * Handling of global key in ModelEvaluationTemplate([#1869](https://github.com/Labelbox/labelbox-python/pull/1869))
79
+
80
+ ## Removed
81
+ * Various deprecated classes, methods and attributes([#1853](https://github.com/Labelbox/labelbox-python/pull/1853))
82
+ * `QueueMode` for project
83
+ * LabelGenerator `assign_feature_schema_ids`
84
+ * Label `assign_feature_schema_ids`
85
+ * AttachmentType `attachment_type` TEXT
86
+ * DataRowMetadata bulk_delete `deletes` paramerter - support for string for data row ids or global keys, use `UniqueId` or `GlobalKey` class instead
87
+ * Dataset `create_data_rows_sync`. Use create_data_rows instead
88
+ * Slice `get_data_row_ids`. Use get_data_row_identifiers instead
89
+ * More deprecations([#1852](https://github.com/Labelbox/labelbox-python/pull/1852))
90
+ * LabelingParameterOverrideInput remove instance of `DataRow` as a type of input
91
+ * Project `_update_queue_mode`, `get_queue_mode`
92
+ * Support for Python 3.8([#1847](https://github.com/Labelbox/labelbox-python/pull/1847))
93
+ * Project `setup`([#1843](https://github.com/Labelbox/labelbox-python/pull/1843))
94
+ * Deprecated get stream - related classes from ExportTask([#1839](https://github.com/Labelbox/labelbox-python/pull/1839))
95
+ * `JsonConverter`, `JsonConverterOutput`, `FileConverter`, `FileConverterOutput`
96
+ * Project `setup_editor`([#1841](https://github.com/Labelbox/labelbox-python/pull/1841))
97
+ * Label `*Data*` classes as Label data attribute. Use GenericDataRowData
98
+ * NOTE MaskData was NOT removed
99
+ * COCO package([#1820](https://github.com/Labelbox/labelbox-python/pull/1820))
100
+ * NDJsonConverter `deserialize`([#1818](https://github.com/Labelbox/labelbox-python/pull/1818))
101
+ * BulkImportRequest package([#1821](https://github.com/Labelbox/labelbox-python/pull/1821)), including
102
+ * BulkImportRequest
103
+ * BulkImportRequestState
104
+ * Project `upload_annotations`
105
+ * Project `bulk_import_requests`
106
+
107
+ # Version 5.2.1 (2024-10-09)
3
108
  ## Fixed
4
109
  * Exporter encoding
5
- * NOTE: backported from v.5.2.1
110
+
111
+ # Version 5.2.0 (2024-10-09)
112
+ ## Added
113
+ * Support data row / batch for live mmc projects([#1856](https://github.com/Labelbox/labelbox-python/pull/1856))
114
+
115
+ # Version 5.1.0 (2024-09-27)
116
+ ## Added
117
+ * Support self-signed SSL certs([#1811](https://github.com/Labelbox/labelbox-python/pull/1811))
118
+ * Rectangle units now correctly support percent inputs([#1848](https://github.com/Labelbox/labelbox-python/pull/1848))
119
+
120
+ # Version 5.0.0 (2024-09-16)
121
+ ## Updated
122
+ * Set tasks_remaining_count to None LabelingServiceDashboard if labeling has not started ([#1817](https://github.com/Labelbox/labelbox-python/pull/1817))
123
+ * Improve error messaging when creating LLM project with invalid dataset id parameter([#1799](https://github.com/Labelbox/labelbox-python/pull/1799))
124
+ ## Removed
125
+ * BREAKING CHANGE SDK methods for exports v1([#1800](https://github.com/Labelbox/labelbox-python/pull/1800))
126
+ * BREAKING CHANGE Unused labelbox_v1 serialization package([#1803](https://github.com/Labelbox/labelbox-python/pull/1803))
127
+ ## Fixed
128
+ * Cuid dependencies that cause a crash if numpy is not installed ([#1807](https://github.com/Labelbox/labelbox-python/pull/1807))
129
+
130
+ # Version 4.0.0 (2024-09-10)
131
+ ## Added
132
+ * BREAKING CHANGE for pydantic V1 users: Converted SDK to use pydantic V2([#1738](https://github.com/Labelbox/labelbox-python/pull/1738))
133
+ * Automation test support for multiple sdk versions([#1792](https://github.com/Labelbox/labelbox-python/pull/1792))
134
+ ## Fixed
135
+ * Flaky tests([#1793](https://github.com/Labelbox/labelbox-python/pull/1793))
6
136
 
7
137
  # Version 3.78.1 (2024-09-10)
8
138
  ## Fixed
@@ -1,11 +1,11 @@
1
1
  # https://github.com/ucyo/python-package-template/blob/master/Dockerfile
2
- FROM python:3.8-slim as rye
2
+ FROM python:3.9-slim as rye
3
3
 
4
4
  ENV LANG="C.UTF-8" \
5
5
  LC_ALL="C.UTF-8" \
6
6
  PATH="/home/python/.local/bin:/home/python/.rye/shims:$PATH" \
7
7
  PIP_NO_CACHE_DIR="false" \
8
- RYE_VERSION="0.36.0" \
8
+ RYE_VERSION="0.43.0" \
9
9
  RYE_INSTALL_OPTION="--yes" \
10
10
  LABELBOX_TEST_ENVIRON="prod"
11
11
 
@@ -38,7 +38,7 @@ WORKDIR /home/python/labelbox-python
38
38
 
39
39
  RUN rye config --set-bool behavior.global-python=true && \
40
40
  rye config --set-bool behavior.use-uv=true && \
41
- rye pin 3.8 && \
41
+ rye pin 3.9 && \
42
42
  rye sync
43
43
 
44
44
  CMD cd libs/labelbox && rye run integration && rye sync -f --features labelbox/data && rye run unit && rye run data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: labelbox
3
- Version: 3.78.2
3
+ Version: 6.6.0
4
4
  Summary: Labelbox Python API
5
5
  Project-URL: Homepage, https://labelbox.com/
6
6
  Project-URL: Documentation, https://labelbox-python.readthedocs.io/en/latest/
@@ -15,25 +15,26 @@ Classifier: Intended Audience :: Education
15
15
  Classifier: Intended Audience :: Science/Research
16
16
  Classifier: License :: OSI Approved :: Apache Software License
17
17
  Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
24
  Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: >=3.8
25
+ Requires-Python: <3.14,>=3.9
26
26
  Requires-Dist: geojson>=3.1.0
27
27
  Requires-Dist: google-api-core>=1.22.1
28
+ Requires-Dist: lbox-clients==1.1.2
28
29
  Requires-Dist: mypy==1.10.1
29
- Requires-Dist: pydantic>=1.8
30
+ Requires-Dist: pydantic>=2.0
30
31
  Requires-Dist: python-dateutil<2.10.0,>=2.8.2
31
32
  Requires-Dist: requests>=2.22.0
32
33
  Requires-Dist: strenum>=0.4.15
33
34
  Requires-Dist: tqdm>=4.66.2
34
35
  Provides-Extra: data
35
36
  Requires-Dist: imagesize>=1.4.1; extra == 'data'
36
- Requires-Dist: numpy<2.0.0,>=1.24.4; extra == 'data'
37
+ Requires-Dist: numpy>=1.25.0; extra == 'data'
37
38
  Requires-Dist: opencv-python-headless>=4.9.0.80; extra == 'data'
38
39
  Requires-Dist: pillow>=10.2.0; extra == 'data'
39
40
  Requires-Dist: pygeotile>=1.0.6; extra == 'data'
@@ -0,0 +1,16 @@
1
+ [mypy]
2
+
3
+ [mypy-google.*]
4
+ ignore_missing_imports = True
5
+
6
+ [mypy-labelbox.data.*]
7
+ ignore_errors = True
8
+
9
+ [mypy-labelbox]
10
+ ignore_errors = True
11
+
12
+ [mypy-lbox.exceptions]
13
+ ignore_missing_imports = True
14
+
15
+ [mypy-lbox.call_info]
16
+ ignore_missing_imports = True
@@ -1,20 +1,21 @@
1
1
  [project]
2
2
  name = "labelbox"
3
- version = "3.78.2"
3
+ version = "6.6.0"
4
4
  description = "Labelbox Python API"
5
5
  authors = [{ name = "Labelbox", email = "engineering@labelbox.com" }]
6
6
  dependencies = [
7
7
  "google-api-core>=1.22.1",
8
- "pydantic>=1.8",
8
+ "pydantic>=2.0",
9
9
  "python-dateutil>=2.8.2, <2.10.0",
10
10
  "requests>=2.22.0",
11
11
  "strenum>=0.4.15",
12
12
  "tqdm>=4.66.2",
13
13
  "geojson>=3.1.0",
14
14
  "mypy==1.10.1",
15
+ "lbox-clients==1.1.2",
15
16
  ]
16
17
  readme = "README.md"
17
- requires-python = ">=3.8"
18
+ requires-python = ">=3.9,<3.14"
18
19
  classifiers = [
19
20
  # How mature is this project?
20
21
  "Development Status :: 5 - Production/Stable",
@@ -28,11 +29,11 @@ classifiers = [
28
29
  "License :: OSI Approved :: Apache Software License",
29
30
  # Specify the Python versions you support here.
30
31
  "Programming Language :: Python :: 3",
31
- "Programming Language :: Python :: 3.8",
32
32
  "Programming Language :: Python :: 3.9",
33
33
  "Programming Language :: Python :: 3.10",
34
34
  "Programming Language :: Python :: 3.11",
35
35
  "Programming Language :: Python :: 3.12",
36
+ "Programming Language :: Python :: 3.13",
36
37
  ]
37
38
  keywords = ["ml", "ai", "labelbox", "labeling", "llm", "machinelearning", "edu"]
38
39
 
@@ -46,8 +47,7 @@ Changelog = "https://github.com/Labelbox/labelbox-python/blob/develop/libs/label
46
47
  [project.optional-dependencies]
47
48
  data = [
48
49
  "shapely>=2.0.3",
49
- # numpy v2 breaks package since it only supports python >3.9
50
- "numpy>=1.24.4, <2.0.0",
50
+ "numpy>=1.25.0",
51
51
  "pillow>=10.2.0",
52
52
  "typeguard>=4.1.5",
53
53
  "imagesize>=1.4.1",
@@ -64,7 +64,6 @@ build-backend = "hatchling.build"
64
64
  [tool.rye]
65
65
  managed = true
66
66
  dev-dependencies = [
67
- "yapf>=0.40.2",
68
67
  "mypy>=1.9.0",
69
68
  "types-pillow>=10.2.0.20240311",
70
69
  "types-python-dateutil>=2.9.0.20240316",
@@ -72,6 +71,13 @@ dev-dependencies = [
72
71
  "types-tqdm>=4.66.0.20240106",
73
72
  ]
74
73
 
74
+ [tool.ruff]
75
+ line-length = 80
76
+
77
+ [tool.ruff.lint]
78
+ ignore = ["F841", "E722", "F811", "F403", "F821", "F541"]
79
+ exclude = ["**/__init__.py"]
80
+
75
81
  [tool.rye.scripts]
76
82
  unit = "pytest tests/unit"
77
83
  # https://github.com/Labelbox/labelbox-python/blob/7c84fdffbc14fd1f69d2a6abdcc0087dc557fa4e/Makefile
@@ -87,9 +93,11 @@ unit = "pytest tests/unit"
87
93
  # LABELBOX_TEST_BASE_URL="http://host.docker.internal:8080" \
88
94
  integration = { cmd = "pytest tests/integration" }
89
95
  data = { cmd = "pytest tests/data" }
90
- yapf-lint = "yapf tests src -i --verbose --recursive --parallel --style \"google\""
96
+ rye-lint = "rye lint"
97
+ rye-fmt-check = "rye fmt --check"
98
+ MYPYPATH = "../lbox-clients/src/"
91
99
  mypy-lint = "mypy src --pretty --show-error-codes --non-interactive --install-types"
92
- lint = { chain = ["yapf-lint", "mypy-lint"] }
100
+ lint = { chain = ["rye-fmt-check", "mypy-lint", "rye-lint"] }
93
101
  test = { chain = ["lint", "unit", "integration"] }
94
102
 
95
103
  [tool.hatch.metadata]
@@ -1,6 +1,6 @@
1
1
  name = "labelbox"
2
2
 
3
- __version__ = "3.78.2"
3
+ __version__ = "6.6.0"
4
4
 
5
5
  from labelbox.client import Client
6
6
  from labelbox.schema.annotation_import import (
@@ -12,7 +12,6 @@ from labelbox.schema.annotation_import import (
12
12
  from labelbox.schema.asset_attachment import AssetAttachment
13
13
  from labelbox.schema.batch import Batch
14
14
  from labelbox.schema.benchmark import Benchmark
15
- from labelbox.schema.bulk_import_request import BulkImportRequest
16
15
  from labelbox.schema.catalog import Catalog
17
16
  from labelbox.schema.data_row import DataRow
18
17
  from labelbox.schema.data_row_metadata import (
@@ -26,10 +25,7 @@ from labelbox.schema.enums import AnnotationImportState
26
25
  from labelbox.schema.export_task import (
27
26
  BufferedJsonConverterOutput,
28
27
  ExportTask,
29
- FileConverter,
30
- FileConverterOutput,
31
- JsonConverter,
32
- JsonConverterOutput,
28
+ BufferedJsonConverterOutput,
33
29
  StreamType,
34
30
  )
35
31
  from labelbox.schema.iam_integration import IAMIntegration
@@ -38,7 +34,10 @@ from labelbox.schema.identifiables import DataRowIds, GlobalKeys, UniqueIds
38
34
  from labelbox.schema.invite import Invite, InviteLimit
39
35
  from labelbox.schema.label import Label
40
36
  from labelbox.schema.label_score import LabelScore
41
- from labelbox.schema.labeling_frontend import LabelingFrontend, LabelingFrontendOptions
37
+ from labelbox.schema.labeling_frontend import (
38
+ LabelingFrontend,
39
+ LabelingFrontendOptions,
40
+ )
42
41
  from labelbox.schema.labeling_service import LabelingService
43
42
  from labelbox.schema.labeling_service_dashboard import LabelingServiceDashboard
44
43
  from labelbox.schema.labeling_service_status import LabelingServiceStatus
@@ -47,22 +46,43 @@ from labelbox.schema.model import Model
47
46
  from labelbox.schema.model_config import ModelConfig
48
47
  from labelbox.schema.model_run import DataSplit, ModelRun
49
48
  from labelbox.schema.ontology import (
50
- Classification,
51
49
  FeatureSchema,
52
50
  Ontology,
53
51
  OntologyBuilder,
54
- Option,
55
- PromptResponseClassification,
56
- ResponseOption,
57
52
  Tool,
58
53
  )
54
+ from labelbox.schema.tool_building.fact_checking_tool import FactCheckingTool
55
+ from labelbox.schema.tool_building.step_reasoning_tool import StepReasoningTool
56
+ from labelbox.schema.tool_building.prompt_issue_tool import PromptIssueTool
57
+ from labelbox.schema.role import Role, ProjectRole
58
+ from labelbox.schema.invite import Invite, InviteLimit
59
+ from labelbox.schema.data_row_metadata import (
60
+ DataRowMetadataOntology,
61
+ DataRowMetadataField,
62
+ DataRowMetadata,
63
+ DeleteDataRowMetadata,
64
+ )
65
+ from labelbox.schema.model_run import ModelRun, DataSplit
66
+ from labelbox.schema.benchmark import Benchmark
67
+ from labelbox.schema.iam_integration import IAMIntegration
68
+ from labelbox.schema.resource_tag import ResourceTag
69
+ from labelbox.schema.project_model_config import ProjectModelConfig
70
+ from labelbox.schema.project_resource_tag import ProjectResourceTag
71
+ from labelbox.schema.media_type import MediaType
72
+ from labelbox.schema.slice import Slice, CatalogSlice, ModelSlice
73
+ from labelbox.schema.task_queue import TaskQueue
74
+ from labelbox.schema.label_score import LabelScore
75
+ from labelbox.schema.identifiables import UniqueIds, GlobalKeys, DataRowIds
76
+ from labelbox.schema.identifiable import UniqueId, GlobalKey
59
77
  from labelbox.schema.ontology_kind import OntologyKind
60
78
  from labelbox.schema.organization import Organization
61
79
  from labelbox.schema.project import Project
62
80
  from labelbox.schema.project_model_config import ProjectModelConfig
63
- from labelbox.schema.project_overview import ProjectOverview, ProjectOverviewDetailed
81
+ from labelbox.schema.project_overview import (
82
+ ProjectOverview,
83
+ ProjectOverviewDetailed,
84
+ )
64
85
  from labelbox.schema.project_resource_tag import ProjectResourceTag
65
- from labelbox.schema.queue_mode import QueueMode
66
86
  from labelbox.schema.resource_tag import ResourceTag
67
87
  from labelbox.schema.review import Review
68
88
  from labelbox.schema.role import ProjectRole, Role
@@ -71,3 +91,10 @@ from labelbox.schema.task import Task
71
91
  from labelbox.schema.task_queue import TaskQueue
72
92
  from labelbox.schema.user import User
73
93
  from labelbox.schema.webhook import Webhook
94
+ from labelbox.schema.tool_building.classification import (
95
+ Classification,
96
+ Option,
97
+ ResponseOption,
98
+ PromptResponseClassification,
99
+ )
100
+ from lbox.exceptions import *
@@ -1,18 +1,17 @@
1
1
  import io
2
2
  import json
3
3
  import logging
4
- from typing import Dict, Any, Optional, List, Callable
4
+ from typing import Any, Callable, Dict, List, Optional
5
5
  from urllib.parse import urlparse
6
- from labelbox.exceptions import LabelboxError
7
6
 
8
7
  import requests
9
- from requests import Session, Response
8
+ from lbox.exceptions import LabelboxError
9
+ from requests import Response, Session
10
10
 
11
11
  logger = logging.getLogger(__name__)
12
12
 
13
13
 
14
14
  class AdvClient:
15
-
16
15
  def __init__(self, endpoint: str, api_key: str):
17
16
  self.endpoint = endpoint
18
17
  self.api_key = api_key
@@ -32,8 +31,9 @@ class AdvClient:
32
31
  return self._request("GET", "/adv/v1/embeddings").get("results", [])
33
32
 
34
33
  def import_vectors_from_file(self, id: str, file_path: str, callback=None):
35
- self._send_ndjson(f"/adv/v1/embeddings/{id}/_import_ndjson", file_path,
36
- callback)
34
+ self._send_ndjson(
35
+ f"/adv/v1/embeddings/{id}/_import_ndjson", file_path, callback
36
+ )
37
37
 
38
38
  def get_imported_vector_count(self, id: str) -> int:
39
39
  data = self._request("GET", f"/adv/v1/embeddings/{id}/vectors/_count")
@@ -41,38 +41,42 @@ class AdvClient:
41
41
 
42
42
  def _create_session(self) -> Session:
43
43
  session = requests.session()
44
- session.headers.update({
45
- "Authorization": f"Bearer {self.api_key}",
46
- "Content-Type": "application/json"
47
- })
44
+ session.headers.update(
45
+ {
46
+ "Authorization": f"Bearer {self.api_key}",
47
+ "Content-Type": "application/json",
48
+ }
49
+ )
48
50
  return session
49
51
 
50
- def _request(self,
51
- method: str,
52
- path: str,
53
- data: Optional[Dict[str, Any]] = None,
54
- headers: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
52
+ def _request(
53
+ self,
54
+ method: str,
55
+ path: str,
56
+ data: Optional[Dict[str, Any]] = None,
57
+ headers: Optional[Dict[str, Any]] = None,
58
+ ) -> Dict[str, Any]:
55
59
  url = f"{self.endpoint}{path}"
56
60
  requests_data = None
57
61
  if data:
58
62
  requests_data = json.dumps(data)
59
- response = self.session.request(method,
60
- url,
61
- data=requests_data,
62
- headers=headers)
63
+ response = self.session.request(
64
+ method, url, data=requests_data, headers=headers
65
+ )
63
66
  if response.status_code != requests.codes.ok:
64
- message = response.json().get('message')
67
+ message = response.json().get("message")
65
68
  if message:
66
69
  raise LabelboxError(message)
67
70
  else:
68
71
  response.raise_for_status()
69
72
  return response.json()
70
73
 
71
- def _send_ndjson(self,
72
- path: str,
73
- file_path: str,
74
- callback: Optional[Callable[[Dict[str, Any]],
75
- None]] = None):
74
+ def _send_ndjson(
75
+ self,
76
+ path: str,
77
+ file_path: str,
78
+ callback: Optional[Callable[[Dict[str, Any]], None]] = None,
79
+ ):
76
80
  """
77
81
  Sends an NDJson file in chunks.
78
82
 
@@ -87,7 +91,7 @@ class AdvClient:
87
91
  _headers = {
88
92
  "Content-Type": "application/x-ndjson",
89
93
  "X-Content-Lines": str(_count),
90
- "Content-Length": str(buffer.tell())
94
+ "Content-Length": str(buffer.tell()),
91
95
  }
92
96
  rsp = self._send_bytes(f"{self.endpoint}{path}", _buffer, _headers)
93
97
  rsp.raise_for_status()
@@ -96,7 +100,7 @@ class AdvClient:
96
100
 
97
101
  buffer = io.BytesIO()
98
102
  count = 0
99
- with open(file_path, 'rb') as fp:
103
+ with open(file_path, "rb") as fp:
100
104
  for line in fp:
101
105
  buffer.write(line)
102
106
  count += 1
@@ -107,10 +111,12 @@ class AdvClient:
107
111
  if count:
108
112
  upload_chunk(buffer, count)
109
113
 
110
- def _send_bytes(self,
111
- url: str,
112
- buffer: io.BytesIO,
113
- headers: Optional[Dict[str, Any]] = None) -> Response:
114
+ def _send_bytes(
115
+ self,
116
+ url: str,
117
+ buffer: io.BytesIO,
118
+ headers: Optional[Dict[str, Any]] = None,
119
+ ) -> Response:
114
120
  buffer.seek(0)
115
121
  return self.session.put(url, headers=headers, data=buffer)
116
122
 
@@ -0,0 +1,5 @@
1
+ from typing import Annotated
2
+
3
+ from pydantic import Field
4
+
5
+ Cuid = Annotated[str, Field(min_length=25, max_length=25)]