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.
- label_studio_sdk-1.0.0/PKG-INFO +307 -0
- label_studio_sdk-1.0.0/README.md +270 -0
- label_studio_sdk-1.0.0/pyproject.toml +67 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/__init__.py +208 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +163 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +228 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +45 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +1 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +34 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/example.py +17 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +67 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +97 -0
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/__init__.py +4 -1
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/client.py +94 -78
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/exceptions.py +10 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/__init__.py +1 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/base.py +77 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/control_tags.py +756 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/data_examples.json +96 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/interface.py +925 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/label_tags.py +72 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/object_tags.py +292 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/label_interface/region.py +43 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/objects.py +35 -0
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/project.py +711 -258
- label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy/schema/label_config_schema.json +226 -0
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/users.py +15 -13
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/utils.py +31 -30
- {label-studio-sdk-0.0.32/label_studio_sdk → label_studio_sdk-1.0.0/src/label_studio_sdk/_legacy}/workspaces.py +13 -11
- label_studio_sdk-1.0.0/src/label_studio_sdk/actions/__init__.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/actions/client.py +150 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/annotations/__init__.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/annotations/client.py +750 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/client.py +183 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/__init__.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/audio.py +56 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/brush.py +452 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/converter.py +1175 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/csv.py +82 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/exports/csv2.py +103 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/funsd.py +85 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/__init__.py +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/coco.py +314 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/colors.py +198 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/label_config.py +45 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/pathtrack.py +269 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/imports/yolo.py +236 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/main.py +202 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/converter/utils.py +473 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/__init__.py +33 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/api_error.py +15 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/client_wrapper.py +55 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/datetime_utils.py +28 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/file.py +38 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/http_client.py +443 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/jsonable_encoder.py +99 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/pagination.py +87 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/pydantic_utilities.py +28 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/query_encoder.py +33 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/remove_none_from_dict.py +11 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/core/request_options.py +32 -0
- {label-studio-sdk-0.0.32 → label_studio_sdk-1.0.0/src}/label_studio_sdk/data_manager.py +32 -23
- label_studio_sdk-1.0.0/src/label_studio_sdk/environment.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/errors/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/errors/bad_request_error.py +8 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/errors/internal_server_error.py +8 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/__init__.py +28 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/client.py +722 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/azure_create_response.py +52 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/azure/types/azure_update_response.py +52 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/client.py +107 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/client.py +722 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +52 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +52 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/client.py +688 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/local_create_response.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/local/types/local_update_response.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/client.py +714 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/redis_create_response.py +57 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/redis/types/redis_update_response.py +57 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/client.py +820 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/s3create_response.py +74 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/s3/types/s3update_response.py +74 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/types/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +30 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/files/__init__.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/files/client.py +556 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/__init__.py +28 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/client.py +812 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/azure_create_response.py +72 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/azure/types/azure_update_response.py +72 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/client.py +107 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/client.py +812 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +72 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +72 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/client.py +690 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/local_create_response.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/local/types/local_update_response.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/client.py +768 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/redis_create_response.py +62 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/redis/types/redis_update_response.py +62 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/client.py +912 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/s3create_response.py +99 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/s3/types/s3update_response.py +99 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/types/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +30 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/__init__.py +19 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/client.py +981 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/__init__.py +17 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_request_auth_method.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_response.py +78 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_create_response_auth_method.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_request_auth_method.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_response.py +78 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/ml/types/ml_update_response_auth_method.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/predictions/__init__.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/predictions/client.py +638 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/client.py +1053 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/exports/__init__.py +2 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/exports/client.py +930 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/__init__.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_create_response.py +96 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_import_tasks_response.py +71 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/projects/types/projects_list_response.py +33 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/py.typed +0 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/client.py +811 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/tasks_list_request_fields.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/tasks/types/tasks_list_response.py +48 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/__init__.py +115 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation.py +116 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation_filter_options.py +42 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/annotation_last_action.py +19 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_export_storage.py +112 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_export_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_import_storage.py +113 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/azure_blob_import_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/base_task.py +113 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/base_user.py +42 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/converted_format.py +36 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/converted_format_status.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/export.py +48 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_convert.py +32 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_create.py +54 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_create_status.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/export_status.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/file_upload.py +30 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/filter.py +53 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/filter_group.py +35 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_export_storage.py +112 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_export_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_import_storage.py +113 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/gcs_import_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_export_storage.py +97 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_export_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_import_storage.py +92 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/local_files_import_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend.py +89 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend_auth_method.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/ml_backend_state.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/prediction.py +78 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project.py +198 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_import.py +63 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_import_status.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_label_config.py +32 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_sampling.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/project_skip_queue.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_export_storage.py +117 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_export_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_import_storage.py +112 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/redis_import_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3export_storage.py +134 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3export_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3import_storage.py +140 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/s3import_storage_status.py +7 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/serialization_option.py +36 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/serialization_options.py +45 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/task.py +157 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/task_filter_options.py +49 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/user_simple.py +37 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/view.py +55 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook.py +67 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_actions_item.py +21 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_serializer_for_update.py +67 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +21 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/users/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/users/client.py +830 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/__init__.py +6 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/users_get_token_response.py +36 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/users/types/users_reset_token_response.py +36 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/version.py +4 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/__init__.py +31 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/client.py +564 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/__init__.py +29 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data.py +43 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters.py +43 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item.py +38 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_create_request_data_ordering_item_direction.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data.py +43 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters.py +43 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +47 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item.py +38 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/views/types/views_update_request_data_ordering_item_direction.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/client.py +636 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/types/__init__.py +5 -0
- label_studio_sdk-1.0.0/src/label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +21 -0
- label-studio-sdk-0.0.32/LICENSE +0 -201
- label-studio-sdk-0.0.32/MANIFEST.in +0 -1
- label-studio-sdk-0.0.32/PKG-INFO +0 -18
- label-studio-sdk-0.0.32/README.md +0 -71
- label-studio-sdk-0.0.32/docs/__init__.py +0 -3
- label-studio-sdk-0.0.32/label_studio_sdk.egg-info/PKG-INFO +0 -18
- label-studio-sdk-0.0.32/label_studio_sdk.egg-info/SOURCES.txt +0 -20
- label-studio-sdk-0.0.32/label_studio_sdk.egg-info/dependency_links.txt +0 -1
- label-studio-sdk-0.0.32/label_studio_sdk.egg-info/requires.txt +0 -4
- label-studio-sdk-0.0.32/label_studio_sdk.egg-info/top_level.txt +0 -3
- label-studio-sdk-0.0.32/requirements.txt +0 -4
- label-studio-sdk-0.0.32/setup.cfg +0 -4
- label-studio-sdk-0.0.32/setup.py +0 -33
- label-studio-sdk-0.0.32/tests/test_client.py +0 -26
- {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
|
+
[](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
|
+
[](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"
|