label-studio-sdk 1.0.0__tar.gz → 1.0.2__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 label-studio-sdk might be problematic. Click here for more details.

Files changed (275) hide show
  1. label_studio_sdk-1.0.2/PKG-INFO +195 -0
  2. label_studio_sdk-1.0.2/README.md +158 -0
  3. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/pyproject.toml +2 -2
  4. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/__init__.py +46 -4
  5. label_studio_sdk-1.0.2/src/label_studio_sdk/_extensions/pager_ext.py +49 -0
  6. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/schema/label_config_schema.json +14 -14
  7. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/__init__.py +29 -0
  8. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/client.py +271 -0
  9. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/__init__.py +27 -0
  10. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item.py → label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters.py +8 -12
  11. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters_conjunction.py +5 -0
  12. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +50 -0
  13. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_filter.py +31 -0
  14. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_operator.py +23 -0
  15. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +5 -0
  16. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_id.py +19 -0
  17. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_ordering_item.py +31 -0
  18. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_selected_items.py +10 -0
  19. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +39 -0
  20. label_studio_sdk-1.0.2/src/label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +39 -0
  21. label_studio_sdk-1.0.0/src/label_studio_sdk/client.py → label_studio_sdk-1.0.2/src/label_studio_sdk/base_client.py +2 -2
  22. label_studio_sdk-1.0.2/src/label_studio_sdk/client.py +25 -0
  23. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/client_wrapper.py +1 -1
  24. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/http_client.py +5 -1
  25. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/errors/bad_request_error.py +3 -1
  26. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/azure/client.py +176 -10
  27. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/azure/types/azure_create_response.py +15 -0
  28. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/azure/types/azure_update_response.py +15 -0
  29. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/gcs/client.py +180 -14
  30. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +16 -1
  31. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +16 -1
  32. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/local/client.py +168 -22
  33. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/local/types/local_create_response.py +12 -2
  34. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/local/types/local_update_response.py +12 -2
  35. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/redis/client.py +234 -30
  36. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/redis/types/redis_create_response.py +20 -5
  37. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/redis/types/redis_update_response.py +20 -5
  38. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/s3/client.py +214 -26
  39. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/s3/types/s3create_response.py +15 -0
  40. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/s3/types/s3update_response.py +15 -0
  41. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/azure/client.py +266 -90
  42. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/azure/types/azure_create_response.py +28 -18
  43. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/azure/types/azure_update_response.py +28 -18
  44. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/gcs/client.py +270 -94
  45. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +28 -18
  46. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +28 -18
  47. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/local/client.py +168 -22
  48. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/local/types/local_create_response.py +12 -2
  49. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/local/types/local_update_response.py +12 -2
  50. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/redis/client.py +206 -50
  51. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/redis/types/redis_create_response.py +20 -10
  52. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/redis/types/redis_update_response.py +20 -10
  53. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/s3/client.py +336 -110
  54. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/s3/types/s3create_response.py +35 -25
  55. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/s3/types/s3update_response.py +35 -25
  56. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/base.py +10 -0
  57. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/control_tags.py +109 -71
  58. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/interface.py +97 -51
  59. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/object_tags.py +8 -13
  60. label_studio_sdk-1.0.2/src/label_studio_sdk/label_interface/objects.py +60 -0
  61. label_studio_sdk-1.0.2/src/label_studio_sdk/label_interface/region.py +75 -0
  62. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/client.py +6 -4
  63. label_studio_sdk-1.0.2/src/label_studio_sdk/projects/client_ext.py +19 -0
  64. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/tasks/client.py +35 -8
  65. label_studio_sdk-1.0.2/src/label_studio_sdk/tasks/client_ext.py +18 -0
  66. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/__init__.py +10 -0
  67. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/annotation.py +5 -5
  68. label_studio_sdk-1.0.2/src/label_studio_sdk/types/annotations_dm_field.py +120 -0
  69. label_studio_sdk-1.0.2/src/label_studio_sdk/types/annotations_dm_field_last_action.py +19 -0
  70. label_studio_sdk-1.0.2/src/label_studio_sdk/types/data_manager_task_serializer.py +123 -0
  71. label_studio_sdk-1.0.2/src/label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +31 -0
  72. label_studio_sdk-1.0.2/src/label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +37 -0
  73. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/task.py +1 -1
  74. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/__init__.py +12 -4
  75. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/__init__.py +12 -4
  76. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_create_request_data.py +2 -2
  77. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_create_request_data_filters.py +5 -5
  78. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +1 -1
  79. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +50 -0
  80. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_filter.py +31 -0
  81. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_operator.py +23 -0
  82. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +5 -0
  83. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_create_request_data_ordering_item.py +31 -0
  84. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_update_request_data.py +2 -2
  85. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_update_request_data_filters.py +5 -5
  86. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +1 -1
  87. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +50 -0
  88. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_filter.py +31 -0
  89. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_operator.py +23 -0
  90. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +5 -0
  91. label_studio_sdk-1.0.2/src/label_studio_sdk/views/types/views_update_request_data_ordering_item.py +31 -0
  92. label_studio_sdk-1.0.0/PKG-INFO +0 -307
  93. label_studio_sdk-1.0.0/README.md +0 -270
  94. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/region.py +0 -43
  95. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/objects.py +0 -35
  96. label_studio_sdk-1.0.0/src/label_studio_sdk/actions/client.py +0 -150
  97. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/exports/__init__.py +0 -2
  98. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item.py +0 -38
  99. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item_direction.py +0 -5
  100. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +0 -47
  101. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item.py +0 -38
  102. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item_direction.py +0 -5
  103. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/__init__.py +0 -0
  104. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
  105. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
  106. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +0 -0
  107. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
  108. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +0 -0
  109. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +0 -0
  110. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +0 -0
  111. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +0 -0
  112. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +0 -0
  113. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/etl/example.py +0 -0
  114. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +0 -0
  115. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
  116. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +0 -0
  117. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/__init__.py +0 -0
  118. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/client.py +0 -0
  119. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/exceptions.py +0 -0
  120. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/project.py +0 -0
  121. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/users.py +0 -0
  122. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/utils.py +0 -0
  123. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/_legacy/workspaces.py +0 -0
  124. {label_studio_sdk-1.0.0/src/label_studio_sdk/actions → label_studio_sdk-1.0.2/src/label_studio_sdk/annotations}/__init__.py +0 -0
  125. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/annotations/client.py +0 -0
  126. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/__init__.py +0 -0
  127. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/audio.py +0 -0
  128. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/brush.py +0 -0
  129. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/converter.py +0 -0
  130. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/exports/__init__.py +0 -0
  131. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/exports/csv.py +0 -0
  132. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/exports/csv2.py +0 -0
  133. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/funsd.py +0 -0
  134. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/__init__.py +0 -0
  135. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/coco.py +0 -0
  136. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/colors.py +0 -0
  137. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/label_config.py +0 -0
  138. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/pathtrack.py +0 -0
  139. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/imports/yolo.py +0 -0
  140. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/main.py +0 -0
  141. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/converter/utils.py +0 -0
  142. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/__init__.py +0 -0
  143. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/api_error.py +0 -0
  144. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/datetime_utils.py +0 -0
  145. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/file.py +0 -0
  146. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/jsonable_encoder.py +0 -0
  147. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/pagination.py +0 -0
  148. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/pydantic_utilities.py +0 -0
  149. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/query_encoder.py +0 -0
  150. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/remove_none_from_dict.py +0 -0
  151. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/core/request_options.py +0 -0
  152. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/data_manager.py +0 -0
  153. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/environment.py +0 -0
  154. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/errors/__init__.py +0 -0
  155. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/errors/internal_server_error.py +0 -0
  156. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/__init__.py +0 -0
  157. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/azure/__init__.py +0 -0
  158. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/azure/types/__init__.py +0 -0
  159. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/client.py +0 -0
  160. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/gcs/__init__.py +0 -0
  161. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/gcs/types/__init__.py +0 -0
  162. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/local/__init__.py +0 -0
  163. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/local/types/__init__.py +0 -0
  164. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/redis/__init__.py +0 -0
  165. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/redis/types/__init__.py +0 -0
  166. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/s3/__init__.py +0 -0
  167. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/s3/types/__init__.py +0 -0
  168. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/types/__init__.py +0 -0
  169. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +0 -0
  170. {label_studio_sdk-1.0.0/src/label_studio_sdk/annotations → label_studio_sdk-1.0.2/src/label_studio_sdk/files}/__init__.py +0 -0
  171. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/files/client.py +0 -0
  172. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/__init__.py +0 -0
  173. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/azure/__init__.py +0 -0
  174. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/azure/types/__init__.py +0 -0
  175. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/client.py +0 -0
  176. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/gcs/__init__.py +0 -0
  177. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/gcs/types/__init__.py +0 -0
  178. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/local/__init__.py +0 -0
  179. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/local/types/__init__.py +0 -0
  180. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/redis/__init__.py +0 -0
  181. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/redis/types/__init__.py +0 -0
  182. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/s3/__init__.py +0 -0
  183. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/s3/types/__init__.py +0 -0
  184. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/types/__init__.py +0 -0
  185. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +0 -0
  186. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/__init__.py +0 -0
  187. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/data_examples.json +0 -0
  188. {label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy → label_studio_sdk-1.0.2/src/label_studio_sdk}/label_interface/label_tags.py +0 -0
  189. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/__init__.py +0 -0
  190. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/client.py +0 -0
  191. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/__init__.py +0 -0
  192. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_create_request_auth_method.py +0 -0
  193. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_create_response.py +0 -0
  194. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_create_response_auth_method.py +0 -0
  195. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_update_request_auth_method.py +0 -0
  196. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_update_response.py +0 -0
  197. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/ml/types/ml_update_response_auth_method.py +0 -0
  198. {label_studio_sdk-1.0.0/src/label_studio_sdk/files → label_studio_sdk-1.0.2/src/label_studio_sdk/predictions}/__init__.py +0 -0
  199. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/predictions/client.py +0 -0
  200. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/__init__.py +0 -0
  201. {label_studio_sdk-1.0.0/src/label_studio_sdk/predictions → label_studio_sdk-1.0.2/src/label_studio_sdk/projects/exports}/__init__.py +0 -0
  202. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/exports/client.py +0 -0
  203. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/types/__init__.py +0 -0
  204. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/types/projects_create_response.py +0 -0
  205. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/types/projects_import_tasks_response.py +0 -0
  206. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/projects/types/projects_list_response.py +0 -0
  207. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/py.typed +0 -0
  208. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/tasks/__init__.py +0 -0
  209. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/tasks/types/__init__.py +0 -0
  210. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/tasks/types/tasks_list_request_fields.py +0 -0
  211. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/tasks/types/tasks_list_response.py +0 -0
  212. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/annotation_filter_options.py +0 -0
  213. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/annotation_last_action.py +0 -0
  214. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/azure_blob_export_storage.py +0 -0
  215. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/azure_blob_export_storage_status.py +0 -0
  216. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/azure_blob_import_storage.py +0 -0
  217. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/azure_blob_import_storage_status.py +0 -0
  218. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/base_task.py +0 -0
  219. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/base_user.py +0 -0
  220. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/converted_format.py +0 -0
  221. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/converted_format_status.py +0 -0
  222. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/export.py +0 -0
  223. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/export_convert.py +0 -0
  224. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/export_create.py +0 -0
  225. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/export_create_status.py +0 -0
  226. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/export_status.py +0 -0
  227. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/file_upload.py +0 -0
  228. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/filter.py +0 -0
  229. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/filter_group.py +0 -0
  230. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/gcs_export_storage.py +0 -0
  231. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/gcs_export_storage_status.py +0 -0
  232. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/gcs_import_storage.py +0 -0
  233. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/gcs_import_storage_status.py +0 -0
  234. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/local_files_export_storage.py +0 -0
  235. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/local_files_export_storage_status.py +0 -0
  236. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/local_files_import_storage.py +0 -0
  237. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/local_files_import_storage_status.py +0 -0
  238. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/ml_backend.py +0 -0
  239. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/ml_backend_auth_method.py +0 -0
  240. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/ml_backend_state.py +0 -0
  241. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/prediction.py +0 -0
  242. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project.py +0 -0
  243. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project_import.py +0 -0
  244. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project_import_status.py +0 -0
  245. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project_label_config.py +0 -0
  246. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project_sampling.py +0 -0
  247. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/project_skip_queue.py +0 -0
  248. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/redis_export_storage.py +0 -0
  249. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/redis_export_storage_status.py +0 -0
  250. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/redis_import_storage.py +0 -0
  251. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/redis_import_storage_status.py +0 -0
  252. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/s3export_storage.py +0 -0
  253. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/s3export_storage_status.py +0 -0
  254. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/s3import_storage.py +0 -0
  255. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/s3import_storage_status.py +0 -0
  256. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/serialization_option.py +0 -0
  257. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/serialization_options.py +0 -0
  258. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/task_filter_options.py +0 -0
  259. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/user_simple.py +0 -0
  260. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/view.py +0 -0
  261. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/webhook.py +0 -0
  262. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/webhook_actions_item.py +0 -0
  263. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/webhook_serializer_for_update.py +0 -0
  264. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +0 -0
  265. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/users/__init__.py +0 -0
  266. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/users/client.py +0 -0
  267. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/users/types/__init__.py +0 -0
  268. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/users/types/users_get_token_response.py +0 -0
  269. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/users/types/users_reset_token_response.py +0 -0
  270. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/version.py +0 -0
  271. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/views/client.py +0 -0
  272. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/webhooks/__init__.py +0 -0
  273. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/webhooks/client.py +0 -0
  274. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/webhooks/types/__init__.py +0 -0
  275. {label_studio_sdk-1.0.0 → label_studio_sdk-1.0.2}/src/label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +0 -0
@@ -0,0 +1,195 @@
1
+ Metadata-Version: 2.1
2
+ Name: label-studio-sdk
3
+ Version: 1.0.2
4
+ Summary:
5
+ Requires-Python: >=3.8,<4.0
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Operating System :: MacOS
8
+ Classifier: Operating System :: Microsoft :: Windows
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Operating System :: POSIX
11
+ Classifier: Operating System :: POSIX :: Linux
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Typing :: Typed
21
+ Requires-Dist: Pillow (>=10.0.1)
22
+ Requires-Dist: appdirs (>=1.4.3)
23
+ Requires-Dist: httpx (>=0.21.2)
24
+ Requires-Dist: ijson (>=3.2.3)
25
+ Requires-Dist: jsonschema (==3.2.0)
26
+ Requires-Dist: lxml (>=4.2.5)
27
+ Requires-Dist: nltk (==3.6.7)
28
+ Requires-Dist: pandas (>=0.24.0)
29
+ Requires-Dist: pydantic (>=1.9.2)
30
+ Requires-Dist: requests (>=2.22.0)
31
+ Requires-Dist: requests-mock (==1.12.1)
32
+ Requires-Dist: typing_extensions (>=4.0.0)
33
+ Requires-Dist: ujson (>=5.8.0)
34
+ Requires-Dist: xmljson (==0.2.1)
35
+ Description-Content-Type: text/markdown
36
+
37
+ # Label Studio Python Library
38
+
39
+ <!-- Note about deprecated version <1 -->
40
+ ---
41
+ > :warning: **Note**<br/>
42
+ >
43
+ > The version of `label-studio-sdk<1` is deprecated and no longer supported. We recommend updating to the latest version.
44
+ > If you still want to use the old version, you can install it with `pip install "label-studio-sdk<1"`.
45
+ > OR You can find the branch with the old version by cloning the repository and checking out the branch as follows:
46
+ >
47
+ > ```sh
48
+ > git clone https://github.com/HumanSignal/label-studio-sdk.git
49
+ > cd label-studio-sdk
50
+ > git checkout previous-version
51
+ > ```
52
+ >
53
+ > OR you can change your import statements as follows:
54
+ > ```python
55
+ > from label_studio_sdk import Client
56
+ > from label_studio_sdk.data_manager import Filters, Column, Operator, Type
57
+ > from label_studio_sdk._legacy import Project
58
+ > ```
59
+ ---
60
+
61
+ [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)
62
+ [![pypi](https://img.shields.io/pypi/v/label-studio-sdk.svg)](https://pypi.python.org/pypi/label-studio-sdk)
63
+
64
+ The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.
65
+ <!-- End Title -->
66
+
67
+ <!-- Outline -->
68
+
69
+
70
+ # Documentation
71
+ Explore the Label Studio API documentation [here](https://api.labelstud.io/).
72
+
73
+
74
+ # Installation
75
+
76
+ ```sh
77
+ pip install --upgrade label-studio-sdk
78
+ # or
79
+ poetry add label-studio-sdk
80
+ ```
81
+
82
+ # Usage
83
+
84
+ ```python
85
+ from label_studio_sdk.client import LabelStudio
86
+
87
+ ls = LabelStudio(
88
+ base_url='YOUR_LABEL_STUDIO_URL',
89
+ api_key="YOUR_API_KEY",
90
+ )
91
+ ```
92
+
93
+ # Examples
94
+
95
+ Check more examples [here](https://api.labelstud.io/).
96
+
97
+ ## Create a new project
98
+
99
+ ```python
100
+ project = ls.projects.create(
101
+ name="Project name",
102
+ description="Project description",
103
+ label_config="""
104
+ <View>
105
+ <Image name="image" value="$image" />
106
+ <RectangleLabels name="label" toName="image">
107
+ <Label value="cat" />
108
+ <Label value="dog" />
109
+ </RectangleLabels>
110
+ </View>
111
+ """
112
+ )
113
+ ```
114
+
115
+ ## Create a new task
116
+
117
+ ```python
118
+ task = ls.tasks.create(
119
+ project=project.id,
120
+ data={"image": "https://example.com/image.jpg"}
121
+ )
122
+ ```
123
+ Now you can open the project `PROJECT_ID` in the Label Studio UI and create annotations for the task.
124
+
125
+ ## Export annotations
126
+
127
+ ```python
128
+ annotations = [
129
+ task.annotations
130
+ for task in ls.tasks.list(project=project.id, fields='all')
131
+ if task.annotations
132
+ ]
133
+ ```
134
+
135
+
136
+ ## Async client
137
+
138
+ ```python
139
+ from label_studio_sdk.client import AsyncLabelStudio
140
+
141
+ client = AsyncLabelStudio(
142
+ api_key="YOUR_API_KEY",
143
+ )
144
+ ```
145
+
146
+ ## Advanced
147
+
148
+ ### Timeouts
149
+ By default, requests time out after 60 seconds. You can configure this with a
150
+ timeout option at the client or request level.
151
+
152
+ ```python
153
+ from label_studio_sdk.client import LabelStudio
154
+
155
+ ls = LabelStudio(
156
+ # All timeouts set to 20 seconds
157
+ timeout=20.0
158
+ )
159
+
160
+ ls.projects.create(..., {
161
+ # Override timeout for a specific method
162
+ timeout=20.0
163
+ })
164
+ ```
165
+
166
+ ### Custom HTTP client
167
+ You can override the httpx client to customize it for your use-case. Some common use-cases
168
+ include support for proxies and transports.
169
+
170
+ ```python
171
+ import httpx
172
+
173
+ from label_studio_sdk.client import LabelStudio
174
+
175
+ ls = LabelStudio(
176
+ http_client=httpx.Client(
177
+ proxies="http://my.test.proxy.example.com",
178
+ transport=httpx.HTTPTransport(local_address="0.0.0.0"),
179
+ ),
180
+ )
181
+ ```
182
+
183
+ <!-- Begin Contributing, generated by Fern -->
184
+ # Contributing
185
+
186
+ While we value open-source contributions to this SDK, this library is generated programmatically.
187
+ Additions made directly to this library would have to be moved over to our generation code,
188
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
189
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
190
+ an issue first to discuss with us!
191
+
192
+ On the other hand, contributions to the README are always very welcome!
193
+ <!-- End Contributing -->
194
+
195
+
@@ -0,0 +1,158 @@
1
+ # Label Studio Python Library
2
+
3
+ <!-- Note about deprecated version <1 -->
4
+ ---
5
+ > :warning: **Note**<br/>
6
+ >
7
+ > The version of `label-studio-sdk<1` is deprecated and no longer supported. We recommend updating to the latest version.
8
+ > If you still want to use the old version, you can install it with `pip install "label-studio-sdk<1"`.
9
+ > OR You can find the branch with the old version by cloning the repository and checking out the branch as follows:
10
+ >
11
+ > ```sh
12
+ > git clone https://github.com/HumanSignal/label-studio-sdk.git
13
+ > cd label-studio-sdk
14
+ > git checkout previous-version
15
+ > ```
16
+ >
17
+ > OR you can change your import statements as follows:
18
+ > ```python
19
+ > from label_studio_sdk import Client
20
+ > from label_studio_sdk.data_manager import Filters, Column, Operator, Type
21
+ > from label_studio_sdk._legacy import Project
22
+ > ```
23
+ ---
24
+
25
+ [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)
26
+ [![pypi](https://img.shields.io/pypi/v/label-studio-sdk.svg)](https://pypi.python.org/pypi/label-studio-sdk)
27
+
28
+ The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.
29
+ <!-- End Title -->
30
+
31
+ <!-- Outline -->
32
+
33
+
34
+ # Documentation
35
+ Explore the Label Studio API documentation [here](https://api.labelstud.io/).
36
+
37
+
38
+ # Installation
39
+
40
+ ```sh
41
+ pip install --upgrade label-studio-sdk
42
+ # or
43
+ poetry add label-studio-sdk
44
+ ```
45
+
46
+ # Usage
47
+
48
+ ```python
49
+ from label_studio_sdk.client import LabelStudio
50
+
51
+ ls = LabelStudio(
52
+ base_url='YOUR_LABEL_STUDIO_URL',
53
+ api_key="YOUR_API_KEY",
54
+ )
55
+ ```
56
+
57
+ # Examples
58
+
59
+ Check more examples [here](https://api.labelstud.io/).
60
+
61
+ ## Create a new project
62
+
63
+ ```python
64
+ project = ls.projects.create(
65
+ name="Project name",
66
+ description="Project description",
67
+ label_config="""
68
+ <View>
69
+ <Image name="image" value="$image" />
70
+ <RectangleLabels name="label" toName="image">
71
+ <Label value="cat" />
72
+ <Label value="dog" />
73
+ </RectangleLabels>
74
+ </View>
75
+ """
76
+ )
77
+ ```
78
+
79
+ ## Create a new task
80
+
81
+ ```python
82
+ task = ls.tasks.create(
83
+ project=project.id,
84
+ data={"image": "https://example.com/image.jpg"}
85
+ )
86
+ ```
87
+ Now you can open the project `PROJECT_ID` in the Label Studio UI and create annotations for the task.
88
+
89
+ ## Export annotations
90
+
91
+ ```python
92
+ annotations = [
93
+ task.annotations
94
+ for task in ls.tasks.list(project=project.id, fields='all')
95
+ if task.annotations
96
+ ]
97
+ ```
98
+
99
+
100
+ ## Async client
101
+
102
+ ```python
103
+ from label_studio_sdk.client import AsyncLabelStudio
104
+
105
+ client = AsyncLabelStudio(
106
+ api_key="YOUR_API_KEY",
107
+ )
108
+ ```
109
+
110
+ ## Advanced
111
+
112
+ ### Timeouts
113
+ By default, requests time out after 60 seconds. You can configure this with a
114
+ timeout option at the client or request level.
115
+
116
+ ```python
117
+ from label_studio_sdk.client import LabelStudio
118
+
119
+ ls = LabelStudio(
120
+ # All timeouts set to 20 seconds
121
+ timeout=20.0
122
+ )
123
+
124
+ ls.projects.create(..., {
125
+ # Override timeout for a specific method
126
+ timeout=20.0
127
+ })
128
+ ```
129
+
130
+ ### Custom HTTP client
131
+ You can override the httpx client to customize it for your use-case. Some common use-cases
132
+ include support for proxies and transports.
133
+
134
+ ```python
135
+ import httpx
136
+
137
+ from label_studio_sdk.client import LabelStudio
138
+
139
+ ls = LabelStudio(
140
+ http_client=httpx.Client(
141
+ proxies="http://my.test.proxy.example.com",
142
+ transport=httpx.HTTPTransport(local_address="0.0.0.0"),
143
+ ),
144
+ )
145
+ ```
146
+
147
+ <!-- Begin Contributing, generated by Fern -->
148
+ # Contributing
149
+
150
+ While we value open-source contributions to this SDK, this library is generated programmatically.
151
+ Additions made directly to this library would have to be moved over to our generation code,
152
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
153
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
154
+ an issue first to discuss with us!
155
+
156
+ On the other hand, contributions to the README are always very welcome!
157
+ <!-- End Contributing -->
158
+
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "label-studio-sdk"
3
- version = "1.0.0"
3
+ version = "1.0.2"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  authors = []
@@ -48,7 +48,7 @@ ujson = ">=5.8.0"
48
48
  xmljson = "0.2.1"
49
49
 
50
50
  [tool.poetry.dev-dependencies]
51
- mypy = "1.9.0"
51
+ mypy = "1.0.1"
52
52
  pytest = "^7.4.0"
53
53
  pytest-asyncio = "^0.23.5"
54
54
  python-dateutil = "^2.9.0"
@@ -4,6 +4,8 @@ from .types import (
4
4
  Annotation,
5
5
  AnnotationFilterOptions,
6
6
  AnnotationLastAction,
7
+ AnnotationsDmField,
8
+ AnnotationsDmFieldLastAction,
7
9
  AzureBlobExportStorage,
8
10
  AzureBlobExportStorageStatus,
9
11
  AzureBlobImportStorage,
@@ -12,6 +14,9 @@ from .types import (
12
14
  BaseUser,
13
15
  ConvertedFormat,
14
16
  ConvertedFormatStatus,
17
+ DataManagerTaskSerializer,
18
+ DataManagerTaskSerializerDraftsItem,
19
+ DataManagerTaskSerializerPredictionsItem,
15
20
  Export,
16
21
  ExportConvert,
17
22
  ExportCreate,
@@ -73,6 +78,19 @@ from . import (
73
78
  webhooks,
74
79
  )
75
80
  from ._legacy import Client
81
+ from .actions import (
82
+ ActionsCreateRequestFilters,
83
+ ActionsCreateRequestFiltersConjunction,
84
+ ActionsCreateRequestFiltersItemsItem,
85
+ ActionsCreateRequestFiltersItemsItemFilter,
86
+ ActionsCreateRequestFiltersItemsItemOperator,
87
+ ActionsCreateRequestFiltersItemsItemValue,
88
+ ActionsCreateRequestId,
89
+ ActionsCreateRequestOrderingItem,
90
+ ActionsCreateRequestSelectedItems,
91
+ ActionsCreateRequestSelectedItemsExcluded,
92
+ ActionsCreateRequestSelectedItemsIncluded,
93
+ )
76
94
  from .environment import LabelStudioEnvironment
77
95
  from .export_storage import ExportStorageListTypesResponseItem
78
96
  from .import_storage import ImportStorageListTypesResponseItem
@@ -93,21 +111,38 @@ from .views import (
93
111
  ViewsCreateRequestDataFilters,
94
112
  ViewsCreateRequestDataFiltersConjunction,
95
113
  ViewsCreateRequestDataFiltersItemsItem,
114
+ ViewsCreateRequestDataFiltersItemsItemFilter,
115
+ ViewsCreateRequestDataFiltersItemsItemOperator,
116
+ ViewsCreateRequestDataFiltersItemsItemValue,
96
117
  ViewsCreateRequestDataOrderingItem,
97
- ViewsCreateRequestDataOrderingItemDirection,
98
118
  ViewsUpdateRequestData,
99
119
  ViewsUpdateRequestDataFilters,
100
120
  ViewsUpdateRequestDataFiltersConjunction,
101
121
  ViewsUpdateRequestDataFiltersItemsItem,
122
+ ViewsUpdateRequestDataFiltersItemsItemFilter,
123
+ ViewsUpdateRequestDataFiltersItemsItemOperator,
124
+ ViewsUpdateRequestDataFiltersItemsItemValue,
102
125
  ViewsUpdateRequestDataOrderingItem,
103
- ViewsUpdateRequestDataOrderingItemDirection,
104
126
  )
105
127
  from .webhooks import WebhooksUpdateRequestActionsItem
106
128
 
107
129
  __all__ = [
130
+ "ActionsCreateRequestFilters",
131
+ "ActionsCreateRequestFiltersConjunction",
132
+ "ActionsCreateRequestFiltersItemsItem",
133
+ "ActionsCreateRequestFiltersItemsItemFilter",
134
+ "ActionsCreateRequestFiltersItemsItemOperator",
135
+ "ActionsCreateRequestFiltersItemsItemValue",
136
+ "ActionsCreateRequestId",
137
+ "ActionsCreateRequestOrderingItem",
138
+ "ActionsCreateRequestSelectedItems",
139
+ "ActionsCreateRequestSelectedItemsExcluded",
140
+ "ActionsCreateRequestSelectedItemsIncluded",
108
141
  "Annotation",
109
142
  "AnnotationFilterOptions",
110
143
  "AnnotationLastAction",
144
+ "AnnotationsDmField",
145
+ "AnnotationsDmFieldLastAction",
111
146
  "AzureBlobExportStorage",
112
147
  "AzureBlobExportStorageStatus",
113
148
  "AzureBlobImportStorage",
@@ -118,6 +153,9 @@ __all__ = [
118
153
  "Client",
119
154
  "ConvertedFormat",
120
155
  "ConvertedFormatStatus",
156
+ "DataManagerTaskSerializer",
157
+ "DataManagerTaskSerializerDraftsItem",
158
+ "DataManagerTaskSerializerPredictionsItem",
121
159
  "Export",
122
160
  "ExportConvert",
123
161
  "ExportCreate",
@@ -179,14 +217,18 @@ __all__ = [
179
217
  "ViewsCreateRequestDataFilters",
180
218
  "ViewsCreateRequestDataFiltersConjunction",
181
219
  "ViewsCreateRequestDataFiltersItemsItem",
220
+ "ViewsCreateRequestDataFiltersItemsItemFilter",
221
+ "ViewsCreateRequestDataFiltersItemsItemOperator",
222
+ "ViewsCreateRequestDataFiltersItemsItemValue",
182
223
  "ViewsCreateRequestDataOrderingItem",
183
- "ViewsCreateRequestDataOrderingItemDirection",
184
224
  "ViewsUpdateRequestData",
185
225
  "ViewsUpdateRequestDataFilters",
186
226
  "ViewsUpdateRequestDataFiltersConjunction",
187
227
  "ViewsUpdateRequestDataFiltersItemsItem",
228
+ "ViewsUpdateRequestDataFiltersItemsItemFilter",
229
+ "ViewsUpdateRequestDataFiltersItemsItemOperator",
230
+ "ViewsUpdateRequestDataFiltersItemsItemValue",
188
231
  "ViewsUpdateRequestDataOrderingItem",
189
- "ViewsUpdateRequestDataOrderingItemDirection",
190
232
  "Webhook",
191
233
  "WebhookActionsItem",
192
234
  "WebhookSerializerForUpdate",
@@ -0,0 +1,49 @@
1
+ import typing
2
+ from label_studio_sdk.core.pagination import SyncPager, AsyncPager, T
3
+ from label_studio_sdk.core.api_error import ApiError
4
+
5
+ # This is a custom extension of the autogenerated SyncPager and AsyncPager classes
6
+ # that works with the Label Studio SDK's default pagination behavior
7
+ # that throws 404 errors at the end of the pagination.
8
+
9
+
10
+ class SyncPagerExt(SyncPager, typing.Generic[T]):
11
+
12
+ @classmethod
13
+ def from_sync_pager(cls, sync_pager: SyncPager) -> 'SyncPagerExt':
14
+ return cls(
15
+ get_next=sync_pager.get_next,
16
+ has_next=sync_pager.has_next,
17
+ items=sync_pager.items
18
+ )
19
+
20
+ def __iter__(self) -> typing.Iterator[T]: # type: ignore
21
+ # Extends the iterator to catch 404 errors at the end of the pagination
22
+ try:
23
+ for item in super().__iter__():
24
+ yield item
25
+ except ApiError as exc:
26
+ if exc.status_code == 404:
27
+ return
28
+ raise
29
+
30
+
31
+ class AsyncPagerExt(AsyncPager, typing.Generic[T]):
32
+
33
+ @classmethod
34
+ async def from_async_pager(cls, async_pager: AsyncPager) -> 'AsyncPagerExt':
35
+ return cls(
36
+ get_next=async_pager.get_next,
37
+ has_next=async_pager.has_next,
38
+ items=async_pager.items
39
+ )
40
+
41
+ async def __aiter__(self) -> typing.AsyncIterator[T]: # type: ignore
42
+ # Extends the iterator to catch 404 errors at the end of the pagination
43
+ try:
44
+ async for item in super().__aiter__():
45
+ yield item
46
+ except ApiError as exc:
47
+ if exc.status_code == 404:
48
+ return
49
+ raise
@@ -37,19 +37,19 @@
37
37
  },
38
38
  "tag_with_value_required_name": {
39
39
  "type": "object",
40
- "oneOf": [
41
- {
42
- "required": [
43
- "@name",
44
- "@value"
45
- ]
46
- },
47
- {
48
- "required": [
49
- "@name",
50
- "@valueList"
51
- ]
52
- }
40
+ "anyOf": [
41
+ {
42
+ "required": [
43
+ "@name",
44
+ "@valueList"
45
+ ]
46
+ },
47
+ {
48
+ "required": [
49
+ "@name",
50
+ "@value"
51
+ ]
52
+ }
53
53
  ],
54
54
  "properties": {
55
55
  "@value": {
@@ -223,4 +223,4 @@
223
223
  }
224
224
  }
225
225
  }
226
- }
226
+ }
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .types import (
4
+ ActionsCreateRequestFilters,
5
+ ActionsCreateRequestFiltersConjunction,
6
+ ActionsCreateRequestFiltersItemsItem,
7
+ ActionsCreateRequestFiltersItemsItemFilter,
8
+ ActionsCreateRequestFiltersItemsItemOperator,
9
+ ActionsCreateRequestFiltersItemsItemValue,
10
+ ActionsCreateRequestId,
11
+ ActionsCreateRequestOrderingItem,
12
+ ActionsCreateRequestSelectedItems,
13
+ ActionsCreateRequestSelectedItemsExcluded,
14
+ ActionsCreateRequestSelectedItemsIncluded,
15
+ )
16
+
17
+ __all__ = [
18
+ "ActionsCreateRequestFilters",
19
+ "ActionsCreateRequestFiltersConjunction",
20
+ "ActionsCreateRequestFiltersItemsItem",
21
+ "ActionsCreateRequestFiltersItemsItemFilter",
22
+ "ActionsCreateRequestFiltersItemsItemOperator",
23
+ "ActionsCreateRequestFiltersItemsItemValue",
24
+ "ActionsCreateRequestId",
25
+ "ActionsCreateRequestOrderingItem",
26
+ "ActionsCreateRequestSelectedItems",
27
+ "ActionsCreateRequestSelectedItemsExcluded",
28
+ "ActionsCreateRequestSelectedItemsIncluded",
29
+ ]