label-studio-sdk 0.0.32__tar.gz → 1.0.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.

Potentially problematic release.


This version of label-studio-sdk might be problematic. Click here for more details.

Files changed (253) hide show
  1. label_studio_sdk-1.0.0/PKG-INFO +307 -0
  2. label_studio_sdk-1.0.0/README.md +270 -0
  3. label_studio_sdk-1.0.0/pyproject.toml +67 -0
  4. label_studio_sdk-1.0.0/src/label_studio_sdk/__init__.py +208 -0
  5. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
  6. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
  7. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +163 -0
  8. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
  9. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +2 -0
  10. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +228 -0
  11. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +45 -0
  12. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +1 -0
  13. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +34 -0
  14. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/example.py +17 -0
  15. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +67 -0
  16. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
  17. label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +97 -0
  18. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/__init__.py +4 -1
  19. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/client.py +94 -78
  20. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/exceptions.py +10 -0
  21. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/__init__.py +1 -0
  22. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/base.py +77 -0
  23. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/control_tags.py +756 -0
  24. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/data_examples.json +96 -0
  25. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/interface.py +925 -0
  26. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/label_tags.py +72 -0
  27. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/object_tags.py +292 -0
  28. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/region.py +43 -0
  29. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/objects.py +35 -0
  30. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/project.py +711 -258
  31. label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/schema/label_config_schema.json +226 -0
  32. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/users.py +15 -13
  33. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/utils.py +31 -30
  34. {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/workspaces.py +13 -11
  35. label_studio_sdk-1.0.0/src/label_studio_sdk/actions/__init__.py +2 -0
  36. label_studio_sdk-1.0.0/src/label_studio_sdk/actions/client.py +150 -0
  37. label_studio_sdk-1.0.0/src/label_studio_sdk/annotations/__init__.py +2 -0
  38. label_studio_sdk-1.0.0/src/label_studio_sdk/annotations/client.py +750 -0
  39. label_studio_sdk-1.0.0/src/label_studio_sdk/client.py +183 -0
  40. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/__init__.py +7 -0
  41. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/audio.py +56 -0
  42. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/brush.py +452 -0
  43. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/converter.py +1175 -0
  44. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/__init__.py +0 -0
  45. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/csv.py +82 -0
  46. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/csv2.py +103 -0
  47. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/funsd.py +85 -0
  48. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/__init__.py +0 -0
  49. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/coco.py +314 -0
  50. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/colors.py +198 -0
  51. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/label_config.py +45 -0
  52. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/pathtrack.py +269 -0
  53. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/yolo.py +236 -0
  54. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/main.py +202 -0
  55. label_studio_sdk-1.0.0/src/label_studio_sdk/converter/utils.py +473 -0
  56. label_studio_sdk-1.0.0/src/label_studio_sdk/core/__init__.py +33 -0
  57. label_studio_sdk-1.0.0/src/label_studio_sdk/core/api_error.py +15 -0
  58. label_studio_sdk-1.0.0/src/label_studio_sdk/core/client_wrapper.py +55 -0
  59. label_studio_sdk-1.0.0/src/label_studio_sdk/core/datetime_utils.py +28 -0
  60. label_studio_sdk-1.0.0/src/label_studio_sdk/core/file.py +38 -0
  61. label_studio_sdk-1.0.0/src/label_studio_sdk/core/http_client.py +443 -0
  62. label_studio_sdk-1.0.0/src/label_studio_sdk/core/jsonable_encoder.py +99 -0
  63. label_studio_sdk-1.0.0/src/label_studio_sdk/core/pagination.py +87 -0
  64. label_studio_sdk-1.0.0/src/label_studio_sdk/core/pydantic_utilities.py +28 -0
  65. label_studio_sdk-1.0.0/src/label_studio_sdk/core/query_encoder.py +33 -0
  66. label_studio_sdk-1.0.0/src/label_studio_sdk/core/remove_none_from_dict.py +11 -0
  67. label_studio_sdk-1.0.0/src/label_studio_sdk/core/request_options.py +32 -0
  68. {label-studio-sdk-0.0.32 → label_studio_sdk-1.0.0/src}/label_studio_sdk/data_manager.py +32 -23
  69. label_studio_sdk-1.0.0/src/label_studio_sdk/environment.py +7 -0
  70. label_studio_sdk-1.0.0/src/label_studio_sdk/errors/__init__.py +6 -0
  71. label_studio_sdk-1.0.0/src/label_studio_sdk/errors/bad_request_error.py +8 -0
  72. label_studio_sdk-1.0.0/src/label_studio_sdk/errors/internal_server_error.py +8 -0
  73. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/__init__.py +28 -0
  74. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/__init__.py +5 -0
  75. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/client.py +722 -0
  76. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/__init__.py +6 -0
  77. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/azure_create_response.py +52 -0
  78. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/azure_update_response.py +52 -0
  79. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/client.py +107 -0
  80. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/__init__.py +5 -0
  81. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/client.py +722 -0
  82. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/__init__.py +6 -0
  83. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +52 -0
  84. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +52 -0
  85. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/__init__.py +5 -0
  86. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/client.py +688 -0
  87. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/__init__.py +6 -0
  88. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/local_create_response.py +47 -0
  89. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/local_update_response.py +47 -0
  90. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/__init__.py +5 -0
  91. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/client.py +714 -0
  92. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/__init__.py +6 -0
  93. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/redis_create_response.py +57 -0
  94. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/redis_update_response.py +57 -0
  95. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/__init__.py +5 -0
  96. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/client.py +820 -0
  97. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/__init__.py +6 -0
  98. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/s3create_response.py +74 -0
  99. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/s3update_response.py +74 -0
  100. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/types/__init__.py +5 -0
  101. label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +30 -0
  102. label_studio_sdk-1.0.0/src/label_studio_sdk/files/__init__.py +2 -0
  103. label_studio_sdk-1.0.0/src/label_studio_sdk/files/client.py +556 -0
  104. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/__init__.py +28 -0
  105. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/__init__.py +5 -0
  106. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/client.py +812 -0
  107. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/__init__.py +6 -0
  108. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/azure_create_response.py +72 -0
  109. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/azure_update_response.py +72 -0
  110. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/client.py +107 -0
  111. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/__init__.py +5 -0
  112. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/client.py +812 -0
  113. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/__init__.py +6 -0
  114. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +72 -0
  115. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +72 -0
  116. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/__init__.py +5 -0
  117. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/client.py +690 -0
  118. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/__init__.py +6 -0
  119. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/local_create_response.py +47 -0
  120. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/local_update_response.py +47 -0
  121. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/__init__.py +5 -0
  122. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/client.py +768 -0
  123. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/__init__.py +6 -0
  124. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/redis_create_response.py +62 -0
  125. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/redis_update_response.py +62 -0
  126. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/__init__.py +5 -0
  127. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/client.py +912 -0
  128. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/__init__.py +6 -0
  129. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/s3create_response.py +99 -0
  130. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/s3update_response.py +99 -0
  131. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/types/__init__.py +5 -0
  132. label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +30 -0
  133. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/__init__.py +19 -0
  134. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/client.py +981 -0
  135. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/__init__.py +17 -0
  136. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_request_auth_method.py +5 -0
  137. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_response.py +78 -0
  138. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_response_auth_method.py +5 -0
  139. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_request_auth_method.py +5 -0
  140. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_response.py +78 -0
  141. label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_response_auth_method.py +5 -0
  142. label_studio_sdk-1.0.0/src/label_studio_sdk/predictions/__init__.py +2 -0
  143. label_studio_sdk-1.0.0/src/label_studio_sdk/predictions/client.py +638 -0
  144. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/__init__.py +6 -0
  145. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/client.py +1053 -0
  146. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/exports/__init__.py +2 -0
  147. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/exports/client.py +930 -0
  148. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/__init__.py +7 -0
  149. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_create_response.py +96 -0
  150. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_import_tasks_response.py +71 -0
  151. label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_list_response.py +33 -0
  152. label_studio_sdk-1.0.0/src/label_studio_sdk/py.typed +0 -0
  153. label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/__init__.py +5 -0
  154. label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/client.py +811 -0
  155. label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/__init__.py +6 -0
  156. label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/tasks_list_request_fields.py +5 -0
  157. label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/tasks_list_response.py +48 -0
  158. label_studio_sdk-1.0.0/src/label_studio_sdk/types/__init__.py +115 -0
  159. label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation.py +116 -0
  160. label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation_filter_options.py +42 -0
  161. label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation_last_action.py +19 -0
  162. label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_export_storage.py +112 -0
  163. label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_export_storage_status.py +7 -0
  164. label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_import_storage.py +113 -0
  165. label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_import_storage_status.py +7 -0
  166. label_studio_sdk-1.0.0/src/label_studio_sdk/types/base_task.py +113 -0
  167. label_studio_sdk-1.0.0/src/label_studio_sdk/types/base_user.py +42 -0
  168. label_studio_sdk-1.0.0/src/label_studio_sdk/types/converted_format.py +36 -0
  169. label_studio_sdk-1.0.0/src/label_studio_sdk/types/converted_format_status.py +5 -0
  170. label_studio_sdk-1.0.0/src/label_studio_sdk/types/export.py +48 -0
  171. label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_convert.py +32 -0
  172. label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_create.py +54 -0
  173. label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_create_status.py +5 -0
  174. label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_status.py +5 -0
  175. label_studio_sdk-1.0.0/src/label_studio_sdk/types/file_upload.py +30 -0
  176. label_studio_sdk-1.0.0/src/label_studio_sdk/types/filter.py +53 -0
  177. label_studio_sdk-1.0.0/src/label_studio_sdk/types/filter_group.py +35 -0
  178. label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_export_storage.py +112 -0
  179. label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_export_storage_status.py +7 -0
  180. label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_import_storage.py +113 -0
  181. label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_import_storage_status.py +7 -0
  182. label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_export_storage.py +97 -0
  183. label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_export_storage_status.py +7 -0
  184. label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_import_storage.py +92 -0
  185. label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_import_storage_status.py +7 -0
  186. label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend.py +89 -0
  187. label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend_auth_method.py +5 -0
  188. label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend_state.py +5 -0
  189. label_studio_sdk-1.0.0/src/label_studio_sdk/types/prediction.py +78 -0
  190. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project.py +198 -0
  191. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_import.py +63 -0
  192. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_import_status.py +5 -0
  193. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_label_config.py +32 -0
  194. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_sampling.py +7 -0
  195. label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_skip_queue.py +5 -0
  196. label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_export_storage.py +117 -0
  197. label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_export_storage_status.py +7 -0
  198. label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_import_storage.py +112 -0
  199. label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_import_storage_status.py +7 -0
  200. label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3export_storage.py +134 -0
  201. label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3export_storage_status.py +7 -0
  202. label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3import_storage.py +140 -0
  203. label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3import_storage_status.py +7 -0
  204. label_studio_sdk-1.0.0/src/label_studio_sdk/types/serialization_option.py +36 -0
  205. label_studio_sdk-1.0.0/src/label_studio_sdk/types/serialization_options.py +45 -0
  206. label_studio_sdk-1.0.0/src/label_studio_sdk/types/task.py +157 -0
  207. label_studio_sdk-1.0.0/src/label_studio_sdk/types/task_filter_options.py +49 -0
  208. label_studio_sdk-1.0.0/src/label_studio_sdk/types/user_simple.py +37 -0
  209. label_studio_sdk-1.0.0/src/label_studio_sdk/types/view.py +55 -0
  210. label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook.py +67 -0
  211. label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_actions_item.py +21 -0
  212. label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_serializer_for_update.py +67 -0
  213. label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +21 -0
  214. label_studio_sdk-1.0.0/src/label_studio_sdk/users/__init__.py +5 -0
  215. label_studio_sdk-1.0.0/src/label_studio_sdk/users/client.py +830 -0
  216. label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/__init__.py +6 -0
  217. label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/users_get_token_response.py +36 -0
  218. label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/users_reset_token_response.py +36 -0
  219. label_studio_sdk-1.0.0/src/label_studio_sdk/version.py +4 -0
  220. label_studio_sdk-1.0.0/src/label_studio_sdk/views/__init__.py +31 -0
  221. label_studio_sdk-1.0.0/src/label_studio_sdk/views/client.py +564 -0
  222. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/__init__.py +29 -0
  223. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data.py +43 -0
  224. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters.py +43 -0
  225. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +5 -0
  226. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +47 -0
  227. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item.py +38 -0
  228. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item_direction.py +5 -0
  229. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data.py +43 -0
  230. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters.py +43 -0
  231. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +5 -0
  232. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +47 -0
  233. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item.py +38 -0
  234. label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item_direction.py +5 -0
  235. label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/__init__.py +5 -0
  236. label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/client.py +636 -0
  237. label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/types/__init__.py +5 -0
  238. label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +21 -0
  239. label-studio-sdk-0.0.32/LICENSE +0 -201
  240. label-studio-sdk-0.0.32/MANIFEST.in +0 -1
  241. label-studio-sdk-0.0.32/PKG-INFO +0 -18
  242. label-studio-sdk-0.0.32/README.md +0 -71
  243. label-studio-sdk-0.0.32/docs/__init__.py +0 -3
  244. label-studio-sdk-0.0.32/label_studio_sdk.egg-info/PKG-INFO +0 -18
  245. label-studio-sdk-0.0.32/label_studio_sdk.egg-info/SOURCES.txt +0 -20
  246. label-studio-sdk-0.0.32/label_studio_sdk.egg-info/dependency_links.txt +0 -1
  247. label-studio-sdk-0.0.32/label_studio_sdk.egg-info/requires.txt +0 -4
  248. label-studio-sdk-0.0.32/label_studio_sdk.egg-info/top_level.txt +0 -3
  249. label-studio-sdk-0.0.32/requirements.txt +0 -4
  250. label-studio-sdk-0.0.32/setup.cfg +0 -4
  251. label-studio-sdk-0.0.32/setup.py +0 -33
  252. label-studio-sdk-0.0.32/tests/test_client.py +0 -26
  253. {label-studio-sdk-0.0.32/tests → label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions}/__init__.py +0 -0
@@ -0,0 +1,307 @@
1
+ Metadata-Version: 2.1
2
+ Name: label-studio-sdk
3
+ Version: 1.0.0
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
+
63
+ The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.
64
+ <!-- End Title -->
65
+
66
+ <!-- Outline -->
67
+
68
+ - [Installation](#installation)
69
+ - [Usage](#usage)
70
+ - [Examples](#examples)
71
+ - [Get all projects](#get-all-projects)
72
+ - [Create a new project](#create-a-new-project)
73
+ - [Get project by ID](#get-project-by-id)
74
+ - [Update project](#update-project)
75
+ - [Delete project](#delete-project)
76
+ - [Get tasks with annotations and predictions](#get-tasks-with-annotations-and-predictions)
77
+ - [Get task by ID](#get-task-by-id)
78
+ - [Get all annotations for a task](#get-all-annotations-for-a-task)
79
+ - [Create a new task](#create-a-new-task)
80
+ - [Import batch tasks](#import-batch-tasks)
81
+ - [Update task](#update-task)
82
+ - [Delete task](#delete-task)
83
+ - [Create prediction](#create-prediction)
84
+ - [Update prediction](#update-prediction)
85
+ - [Delete prediction](#delete-prediction)
86
+ - [Async client](#async-client)
87
+
88
+
89
+ # Documentation
90
+ Explore the Label Studio API documentation [here](https://label-studio.docs.buildwithfern.com/).
91
+
92
+
93
+ <!-- Begin Installation, generated by Fern -->
94
+ # Installation
95
+
96
+ ```sh
97
+ pip install --upgrade label-studio-sdk
98
+ ```
99
+ <!-- End Installation -->
100
+
101
+ <!-- Begin Usage, generated by Fern -->
102
+ # Usage
103
+
104
+ ```python
105
+ from label_studio_sdk.client import LabelStudio
106
+
107
+ client = LabelStudio(
108
+ api_key="YOUR_API_KEY",
109
+ )
110
+ ```
111
+ <!-- End Usage -->
112
+
113
+ # Examples
114
+
115
+ ## Get all projects
116
+
117
+ ```python
118
+ projects = client.projects.list()
119
+ ```
120
+
121
+ ## Create a new project
122
+
123
+ ```python
124
+ project = client.projects.create(
125
+ name="Project name",
126
+ description="Project description",
127
+ label_config="""
128
+ <View>
129
+ <Image name="image" value="$image" />
130
+ <RectangleLabels name="label" toName="image">
131
+ <Label value="cat" />
132
+ <Label value="dog" />
133
+ </RectangleLabels>
134
+ </View>
135
+ """
136
+ )
137
+ ```
138
+
139
+ ## Get project by ID
140
+
141
+ ```python
142
+ project = client.projects.get("PROJECT_ID")
143
+ ```
144
+
145
+ ## Update project
146
+
147
+ ```python
148
+ project = client.projects.update(
149
+ project="PROJECT_ID",
150
+ description="New project description",
151
+ )
152
+ ```
153
+
154
+ ## Delete project
155
+
156
+ ```python
157
+ client.projects.delete("PROJECT_ID")
158
+ ```
159
+
160
+ ## Get tasks with annotations and predictions
161
+
162
+ ```python
163
+ tasks = client.tasks.list(project="PROJECT_ID")
164
+ ```
165
+
166
+ ## Get task by ID
167
+
168
+ ```python
169
+ task = client.tasks.get("TASK_ID")
170
+ print(task)
171
+ ```
172
+ Task data, annotations and predictions in [Label Studio tasks format](https://labelstud.io/guide/task_format#Label-Studio-JSON-format-of-annotated-tasks):
173
+ ```json
174
+ {
175
+ "id": "TASK_ID",
176
+ "data": {
177
+ "image": "https://example.com/image.jpg",
178
+ "label": "cat"
179
+ },
180
+ "annotations": [],
181
+ "predictions": []
182
+ }
183
+ ```
184
+
185
+ ## Get all annotations for a task
186
+
187
+ ```python
188
+ annotations = client.annotations.list(task="TASK_ID")
189
+ ```
190
+
191
+ ## Create a new task
192
+
193
+ ```python
194
+ task = client.tasks.create(
195
+ project="PROJECT_ID",
196
+ data={
197
+ "data": {
198
+ "image": "https://example.com/image.jpg",
199
+ "label": "cat"
200
+ }
201
+ }
202
+ )
203
+ ```
204
+
205
+ ## Import batch tasks
206
+
207
+ ```python
208
+ tasks = client.projects.import_tasks(
209
+ project="PROJECT_ID",
210
+ data=[
211
+ {
212
+ "data": {
213
+ "image": "https://example.com/image1.jpg",
214
+ "label": "cat"
215
+ }
216
+ },
217
+ {
218
+ "data": {
219
+ "image": "https://example.com/image2.jpg",
220
+ "label": "dog"
221
+ }
222
+ }
223
+ ]
224
+ )
225
+ ```
226
+
227
+ ## Update task
228
+
229
+ ```python
230
+ task = client.tasks.update(
231
+ project="PROJECT_ID",
232
+ task="TASK_ID",
233
+ data={
234
+ "data": {
235
+ "image": "https://example.com/image.jpg",
236
+ "label": "dog"
237
+ }
238
+ }
239
+ )
240
+ ```
241
+
242
+ ## Delete task
243
+
244
+ ```python
245
+ client.tasks.delete(project="PROJECT_ID", task="TASK_ID")
246
+ ```
247
+
248
+ ## Create prediction
249
+
250
+ ```python
251
+ prediction = client.predictions.create(
252
+ task="TASK_ID",
253
+ result=[{'from_name': 'bbox', 'to_name': 'image', 'type': 'labels', 'value': {'rectanglelabels': [{'x': 10, 'y': 20, 'width': 30, 'height': 40, 'rectanglelabels': ['cat']}]}}],
254
+ score=0.9,
255
+ model_version='yolov8',
256
+ )
257
+ ```
258
+
259
+ ## Update prediction
260
+
261
+ ```python
262
+ prediction = client.predictions.update(
263
+ task="TASK_ID",
264
+ prediction="PREDICTION_ID",
265
+ result=[{'from_name': 'bbox', 'to_name': 'image', 'type': 'labels', 'value': {'rectanglelabels': [{'x': 10, 'y': 20, 'width': 30, 'height': 40, 'rectanglelabels': ['dog']}]}}],
266
+ score=0.8,
267
+ model_version='yolov8',
268
+ )
269
+ ```
270
+
271
+ ## Delete prediction
272
+
273
+ ```python
274
+ client.predictions.delete(task="TASK_ID", prediction="PREDICTION_ID")
275
+ ```
276
+
277
+ ## Async client
278
+
279
+ ```python
280
+ from label_studio_sdk.client import AsyncLabelStudio
281
+
282
+ client = AsyncLabelStudio(
283
+ api_key="YOUR_API_KEY",
284
+ )
285
+ ```
286
+
287
+ <!-- Begin Status, generated by Fern -->
288
+ # Beta Status
289
+
290
+ This SDK is in beta, and there may be breaking changes between versions without a major
291
+ version update. Therefore, we recommend pinning the package version to a specific version.
292
+ This way, you can install the same version each time without breaking changes.
293
+ <!-- End Status -->
294
+
295
+ <!-- Begin Contributing, generated by Fern -->
296
+ # Contributing
297
+
298
+ While we value open-source contributions to this SDK, this library is generated programmatically.
299
+ Additions made directly to this library would have to be moved over to our generation code,
300
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
301
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
302
+ an issue first to discuss with us!
303
+
304
+ On the other hand, contributions to the README are always very welcome!
305
+ <!-- End Contributing -->
306
+
307
+
@@ -0,0 +1,270 @@
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
+
27
+ The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.
28
+ <!-- End Title -->
29
+
30
+ <!-- Outline -->
31
+
32
+ - [Installation](#installation)
33
+ - [Usage](#usage)
34
+ - [Examples](#examples)
35
+ - [Get all projects](#get-all-projects)
36
+ - [Create a new project](#create-a-new-project)
37
+ - [Get project by ID](#get-project-by-id)
38
+ - [Update project](#update-project)
39
+ - [Delete project](#delete-project)
40
+ - [Get tasks with annotations and predictions](#get-tasks-with-annotations-and-predictions)
41
+ - [Get task by ID](#get-task-by-id)
42
+ - [Get all annotations for a task](#get-all-annotations-for-a-task)
43
+ - [Create a new task](#create-a-new-task)
44
+ - [Import batch tasks](#import-batch-tasks)
45
+ - [Update task](#update-task)
46
+ - [Delete task](#delete-task)
47
+ - [Create prediction](#create-prediction)
48
+ - [Update prediction](#update-prediction)
49
+ - [Delete prediction](#delete-prediction)
50
+ - [Async client](#async-client)
51
+
52
+
53
+ # Documentation
54
+ Explore the Label Studio API documentation [here](https://label-studio.docs.buildwithfern.com/).
55
+
56
+
57
+ <!-- Begin Installation, generated by Fern -->
58
+ # Installation
59
+
60
+ ```sh
61
+ pip install --upgrade label-studio-sdk
62
+ ```
63
+ <!-- End Installation -->
64
+
65
+ <!-- Begin Usage, generated by Fern -->
66
+ # Usage
67
+
68
+ ```python
69
+ from label_studio_sdk.client import LabelStudio
70
+
71
+ client = LabelStudio(
72
+ api_key="YOUR_API_KEY",
73
+ )
74
+ ```
75
+ <!-- End Usage -->
76
+
77
+ # Examples
78
+
79
+ ## Get all projects
80
+
81
+ ```python
82
+ projects = client.projects.list()
83
+ ```
84
+
85
+ ## Create a new project
86
+
87
+ ```python
88
+ project = client.projects.create(
89
+ name="Project name",
90
+ description="Project description",
91
+ label_config="""
92
+ <View>
93
+ <Image name="image" value="$image" />
94
+ <RectangleLabels name="label" toName="image">
95
+ <Label value="cat" />
96
+ <Label value="dog" />
97
+ </RectangleLabels>
98
+ </View>
99
+ """
100
+ )
101
+ ```
102
+
103
+ ## Get project by ID
104
+
105
+ ```python
106
+ project = client.projects.get("PROJECT_ID")
107
+ ```
108
+
109
+ ## Update project
110
+
111
+ ```python
112
+ project = client.projects.update(
113
+ project="PROJECT_ID",
114
+ description="New project description",
115
+ )
116
+ ```
117
+
118
+ ## Delete project
119
+
120
+ ```python
121
+ client.projects.delete("PROJECT_ID")
122
+ ```
123
+
124
+ ## Get tasks with annotations and predictions
125
+
126
+ ```python
127
+ tasks = client.tasks.list(project="PROJECT_ID")
128
+ ```
129
+
130
+ ## Get task by ID
131
+
132
+ ```python
133
+ task = client.tasks.get("TASK_ID")
134
+ print(task)
135
+ ```
136
+ Task data, annotations and predictions in [Label Studio tasks format](https://labelstud.io/guide/task_format#Label-Studio-JSON-format-of-annotated-tasks):
137
+ ```json
138
+ {
139
+ "id": "TASK_ID",
140
+ "data": {
141
+ "image": "https://example.com/image.jpg",
142
+ "label": "cat"
143
+ },
144
+ "annotations": [],
145
+ "predictions": []
146
+ }
147
+ ```
148
+
149
+ ## Get all annotations for a task
150
+
151
+ ```python
152
+ annotations = client.annotations.list(task="TASK_ID")
153
+ ```
154
+
155
+ ## Create a new task
156
+
157
+ ```python
158
+ task = client.tasks.create(
159
+ project="PROJECT_ID",
160
+ data={
161
+ "data": {
162
+ "image": "https://example.com/image.jpg",
163
+ "label": "cat"
164
+ }
165
+ }
166
+ )
167
+ ```
168
+
169
+ ## Import batch tasks
170
+
171
+ ```python
172
+ tasks = client.projects.import_tasks(
173
+ project="PROJECT_ID",
174
+ data=[
175
+ {
176
+ "data": {
177
+ "image": "https://example.com/image1.jpg",
178
+ "label": "cat"
179
+ }
180
+ },
181
+ {
182
+ "data": {
183
+ "image": "https://example.com/image2.jpg",
184
+ "label": "dog"
185
+ }
186
+ }
187
+ ]
188
+ )
189
+ ```
190
+
191
+ ## Update task
192
+
193
+ ```python
194
+ task = client.tasks.update(
195
+ project="PROJECT_ID",
196
+ task="TASK_ID",
197
+ data={
198
+ "data": {
199
+ "image": "https://example.com/image.jpg",
200
+ "label": "dog"
201
+ }
202
+ }
203
+ )
204
+ ```
205
+
206
+ ## Delete task
207
+
208
+ ```python
209
+ client.tasks.delete(project="PROJECT_ID", task="TASK_ID")
210
+ ```
211
+
212
+ ## Create prediction
213
+
214
+ ```python
215
+ prediction = client.predictions.create(
216
+ task="TASK_ID",
217
+ result=[{'from_name': 'bbox', 'to_name': 'image', 'type': 'labels', 'value': {'rectanglelabels': [{'x': 10, 'y': 20, 'width': 30, 'height': 40, 'rectanglelabels': ['cat']}]}}],
218
+ score=0.9,
219
+ model_version='yolov8',
220
+ )
221
+ ```
222
+
223
+ ## Update prediction
224
+
225
+ ```python
226
+ prediction = client.predictions.update(
227
+ task="TASK_ID",
228
+ prediction="PREDICTION_ID",
229
+ result=[{'from_name': 'bbox', 'to_name': 'image', 'type': 'labels', 'value': {'rectanglelabels': [{'x': 10, 'y': 20, 'width': 30, 'height': 40, 'rectanglelabels': ['dog']}]}}],
230
+ score=0.8,
231
+ model_version='yolov8',
232
+ )
233
+ ```
234
+
235
+ ## Delete prediction
236
+
237
+ ```python
238
+ client.predictions.delete(task="TASK_ID", prediction="PREDICTION_ID")
239
+ ```
240
+
241
+ ## Async client
242
+
243
+ ```python
244
+ from label_studio_sdk.client import AsyncLabelStudio
245
+
246
+ client = AsyncLabelStudio(
247
+ api_key="YOUR_API_KEY",
248
+ )
249
+ ```
250
+
251
+ <!-- Begin Status, generated by Fern -->
252
+ # Beta Status
253
+
254
+ This SDK is in beta, and there may be breaking changes between versions without a major
255
+ version update. Therefore, we recommend pinning the package version to a specific version.
256
+ This way, you can install the same version each time without breaking changes.
257
+ <!-- End Status -->
258
+
259
+ <!-- Begin Contributing, generated by Fern -->
260
+ # Contributing
261
+
262
+ While we value open-source contributions to this SDK, this library is generated programmatically.
263
+ Additions made directly to this library would have to be moved over to our generation code,
264
+ otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
265
+ a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
266
+ an issue first to discuss with us!
267
+
268
+ On the other hand, contributions to the README are always very welcome!
269
+ <!-- End Contributing -->
270
+
@@ -0,0 +1,67 @@
1
+ [tool.poetry]
2
+ name = "label-studio-sdk"
3
+ version = "1.0.0"
4
+ description = ""
5
+ readme = "README.md"
6
+ authors = []
7
+ keywords = []
8
+
9
+ classifiers = [
10
+ "Intended Audience :: Developers",
11
+ "Programming Language :: Python",
12
+ "Programming Language :: Python :: 3",
13
+ "Programming Language :: Python :: 3.8",
14
+ "Programming Language :: Python :: 3.9",
15
+ "Programming Language :: Python :: 3.10",
16
+ "Programming Language :: Python :: 3.11",
17
+ "Programming Language :: Python :: 3.12",
18
+ "Operating System :: OS Independent",
19
+ "Operating System :: POSIX",
20
+ "Operating System :: MacOS",
21
+ "Operating System :: POSIX :: Linux",
22
+ "Operating System :: Microsoft :: Windows",
23
+ "Topic :: Software Development :: Libraries :: Python Modules",
24
+ "Typing :: Typed"
25
+ ]
26
+ packages = [
27
+ { include = "label_studio_sdk", from = "src"}
28
+ ]
29
+
30
+ [project.urls]
31
+ Repository = 'https://github.com/HumanSignal/label-studio-sdk'
32
+
33
+ [tool.poetry.dependencies]
34
+ python = "^3.8"
35
+ Pillow = ">=10.0.1"
36
+ appdirs = ">=1.4.3"
37
+ httpx = ">=0.21.2"
38
+ ijson = ">=3.2.3"
39
+ jsonschema = "3.2.0"
40
+ lxml = ">=4.2.5"
41
+ nltk = "3.6.7"
42
+ pandas = ">=0.24.0"
43
+ pydantic = ">= 1.9.2"
44
+ requests = ">=2.22.0"
45
+ requests-mock = "1.12.1"
46
+ typing_extensions = ">= 4.0.0"
47
+ ujson = ">=5.8.0"
48
+ xmljson = "0.2.1"
49
+
50
+ [tool.poetry.dev-dependencies]
51
+ mypy = "1.9.0"
52
+ pytest = "^7.4.0"
53
+ pytest-asyncio = "^0.23.5"
54
+ python-dateutil = "^2.9.0"
55
+ types-python-dateutil = "^2.9.0.20240316"
56
+
57
+ [tool.pytest.ini_options]
58
+ testpaths = [ "tests" ]
59
+ asyncio_mode = "auto"
60
+
61
+ [tool.mypy]
62
+ plugins = ["pydantic.mypy"]
63
+
64
+
65
+ [build-system]
66
+ requires = ["poetry-core"]
67
+ build-backend = "poetry.core.masonry.api"