label-studio-sdk 1.0.2__tar.gz → 1.0.4__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.2 → label_studio_sdk-1.0.4}/PKG-INFO +11 -12
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/README.md +10 -11
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/pyproject.toml +1 -1
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/__init__.py +20 -1
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/client.py +8 -8
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/annotations/client.py +24 -24
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/base_client.py +3 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/client_wrapper.py +1 -1
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/http_client.py +36 -8
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/request_options.py +2 -2
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/__init__.py +2 -1
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/azure/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/client.py +7 -4
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/gcs/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/local/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/redis/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/s3/client.py +28 -28
- label_studio_sdk-1.0.4/src/label_studio_sdk/export_storage/s3s/client.py +836 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/files/client.py +24 -24
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/__init__.py +2 -1
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/azure/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/client.py +7 -4
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/gcs/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/local/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/redis/client.py +28 -28
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/s3/client.py +28 -28
- label_studio_sdk-1.0.4/src/label_studio_sdk/import_storage/s3s/client.py +1054 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/base.py +2 -2
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/control_tags.py +32 -18
- label_studio_sdk-1.0.4/src/label_studio_sdk/label_interface/create.py +241 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/interface.py +68 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/object_tags.py +26 -10
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/objects.py +5 -5
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/client.py +36 -36
- label_studio_sdk-1.0.4/src/label_studio_sdk/predictions/__init__.py +2 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/predictions/client.py +24 -24
- label_studio_sdk-1.0.4/src/label_studio_sdk/projects/__init__.py +12 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/client.py +232 -69
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/client_ext.py +16 -1
- label_studio_sdk-1.0.4/src/label_studio_sdk/projects/exports/__init__.py +2 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/exports/client.py +38 -38
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/types/__init__.py +2 -1
- label_studio_sdk-1.0.4/src/label_studio_sdk/projects/types/projects_update_response.py +96 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/client.py +70 -60
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/client_ext.py +4 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/__init__.py +16 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/base_task.py +4 -2
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/base_task_file_upload.py +5 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/base_task_updated_by.py +5 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/data_manager_task_serializer.py +3 -2
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +5 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/s3s_export_storage.py +80 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/s3s_import_storage.py +129 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/s3s_import_storage_status.py +7 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/task.py +3 -2
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/task_annotators_item.py +5 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/types/workspace.py +77 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/users/client.py +32 -32
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/client.py +24 -24
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/webhooks/client.py +24 -24
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/__init__.py +6 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/client.py +569 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/members/__init__.py +5 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/members/client.py +297 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/members/types/__init__.py +6 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/members/types/members_create_response.py +32 -0
- label_studio_sdk-1.0.4/src/label_studio_sdk/workspaces/members/types/members_list_response_item.py +32 -0
- label_studio_sdk-1.0.2/src/label_studio_sdk/projects/__init__.py +0 -6
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/etl/example.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_extensions/pager_ext.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/client.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/exceptions.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/project.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/schema/label_config_schema.json +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/users.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/utils.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/_legacy/workspaces.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters_conjunction.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_filter.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_operator.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_id.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_ordering_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_selected_items.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/annotations/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/client.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/audio.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/brush.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/converter.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/exports/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/exports/csv.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/exports/csv2.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/funsd.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/coco.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/colors.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/label_config.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/pathtrack.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/imports/yolo.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/main.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/converter/utils.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/api_error.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/datetime_utils.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/file.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/jsonable_encoder.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/pagination.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/pydantic_utilities.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/query_encoder.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/remove_none_from_dict.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/data_manager.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/environment.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/errors/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/errors/bad_request_error.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/errors/internal_server_error.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/azure/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/azure/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/azure/types/azure_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/azure/types/azure_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/gcs/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/gcs/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/local/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/local/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/local/types/local_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/local/types/local_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/redis/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/redis/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/redis/types/redis_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/redis/types/redis_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/s3/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/s3/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/s3/types/s3create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/s3/types/s3update_response.py +0 -0
- {label_studio_sdk-1.0.2/src/label_studio_sdk/files → label_studio_sdk-1.0.4/src/label_studio_sdk/export_storage/s3s}/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +0 -0
- {label_studio_sdk-1.0.2/src/label_studio_sdk/predictions → label_studio_sdk-1.0.4/src/label_studio_sdk/files}/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/azure/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/azure/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/azure/types/azure_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/azure/types/azure_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/gcs/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/gcs/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/local/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/local/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/local/types/local_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/local/types/local_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/redis/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/redis/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/redis/types/redis_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/redis/types/redis_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/s3/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/s3/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/s3/types/s3create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/s3/types/s3update_response.py +0 -0
- {label_studio_sdk-1.0.2/src/label_studio_sdk/projects/exports → label_studio_sdk-1.0.4/src/label_studio_sdk/import_storage/s3s}/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/data_examples.json +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/label_tags.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/label_interface/region.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_create_request_auth_method.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_create_response_auth_method.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_update_request_auth_method.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_update_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/ml/types/ml_update_response_auth_method.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/types/projects_create_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/types/projects_import_tasks_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/projects/types/projects_list_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/py.typed +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/types/tasks_list_request_fields.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/tasks/types/tasks_list_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/annotation.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/annotation_filter_options.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/annotation_last_action.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/annotations_dm_field.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/annotations_dm_field_last_action.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/azure_blob_export_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/azure_blob_export_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/azure_blob_import_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/azure_blob_import_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/base_user.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/converted_format.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/converted_format_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/export.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/export_convert.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/export_create.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/export_create_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/export_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/file_upload.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/filter.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/filter_group.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/gcs_export_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/gcs_export_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/gcs_import_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/gcs_import_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/local_files_export_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/local_files_export_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/local_files_import_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/local_files_import_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/ml_backend.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/ml_backend_auth_method.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/ml_backend_state.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/prediction.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project_import.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project_import_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project_label_config.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project_sampling.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/project_skip_queue.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/redis_export_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/redis_export_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/redis_import_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/redis_import_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/s3export_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/s3export_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/s3import_storage.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/s3import_storage_status.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/serialization_option.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/serialization_options.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/task_filter_options.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/user_simple.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/view.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/webhook.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/webhook_actions_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/webhook_serializer_for_update.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/users/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/users/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/users/types/users_get_token_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/users/types/users_reset_token_response.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/version.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_filter.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_operator.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_create_request_data_ordering_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_filter.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_operator.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/views/types/views_update_request_data_ordering_item.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/webhooks/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/webhooks/types/__init__.py +0 -0
- {label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: label-studio-sdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary:
|
|
5
5
|
Requires-Python: >=3.8,<4.0
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -47,12 +47,13 @@ Description-Content-Type: text/markdown
|
|
|
47
47
|
> ```sh
|
|
48
48
|
> git clone https://github.com/HumanSignal/label-studio-sdk.git
|
|
49
49
|
> cd label-studio-sdk
|
|
50
|
-
> git
|
|
50
|
+
> git fetch origin
|
|
51
|
+
> git checkout release/0.0.34
|
|
51
52
|
> ```
|
|
52
53
|
>
|
|
53
54
|
> OR you can change your import statements as follows:
|
|
54
55
|
> ```python
|
|
55
|
-
> from label_studio_sdk import Client
|
|
56
|
+
> from label_studio_sdk._legacy import Client
|
|
56
57
|
> from label_studio_sdk.data_manager import Filters, Column, Operator, Type
|
|
57
58
|
> from label_studio_sdk._legacy import Project
|
|
58
59
|
> ```
|
|
@@ -97,18 +98,16 @@ Check more examples [here](https://api.labelstud.io/).
|
|
|
97
98
|
## Create a new project
|
|
98
99
|
|
|
99
100
|
```python
|
|
101
|
+
from label_studio_sdk.label_interface import LabelInterface
|
|
102
|
+
from label_studio_sdk.label_interface.create import labels
|
|
103
|
+
|
|
100
104
|
project = ls.projects.create(
|
|
101
105
|
name="Project name",
|
|
102
106
|
description="Project description",
|
|
103
|
-
label_config=
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
<Label value="cat" />
|
|
108
|
-
<Label value="dog" />
|
|
109
|
-
</RectangleLabels>
|
|
110
|
-
</View>
|
|
111
|
-
"""
|
|
107
|
+
label_config=LabelInterface.create({
|
|
108
|
+
"image": "Image",
|
|
109
|
+
"bbox": labels(["cat", "dog"], tag_type="RectangleLabels")
|
|
110
|
+
})
|
|
112
111
|
)
|
|
113
112
|
```
|
|
114
113
|
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
> ```sh
|
|
12
12
|
> git clone https://github.com/HumanSignal/label-studio-sdk.git
|
|
13
13
|
> cd label-studio-sdk
|
|
14
|
-
> git
|
|
14
|
+
> git fetch origin
|
|
15
|
+
> git checkout release/0.0.34
|
|
15
16
|
> ```
|
|
16
17
|
>
|
|
17
18
|
> OR you can change your import statements as follows:
|
|
18
19
|
> ```python
|
|
19
|
-
> from label_studio_sdk import Client
|
|
20
|
+
> from label_studio_sdk._legacy import Client
|
|
20
21
|
> from label_studio_sdk.data_manager import Filters, Column, Operator, Type
|
|
21
22
|
> from label_studio_sdk._legacy import Project
|
|
22
23
|
> ```
|
|
@@ -61,18 +62,16 @@ Check more examples [here](https://api.labelstud.io/).
|
|
|
61
62
|
## Create a new project
|
|
62
63
|
|
|
63
64
|
```python
|
|
65
|
+
from label_studio_sdk.label_interface import LabelInterface
|
|
66
|
+
from label_studio_sdk.label_interface.create import labels
|
|
67
|
+
|
|
64
68
|
project = ls.projects.create(
|
|
65
69
|
name="Project name",
|
|
66
70
|
description="Project description",
|
|
67
|
-
label_config=
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<Label value="cat" />
|
|
72
|
-
<Label value="dog" />
|
|
73
|
-
</RectangleLabels>
|
|
74
|
-
</View>
|
|
75
|
-
"""
|
|
71
|
+
label_config=LabelInterface.create({
|
|
72
|
+
"image": "Image",
|
|
73
|
+
"bbox": labels(["cat", "dog"], tag_type="RectangleLabels")
|
|
74
|
+
})
|
|
76
75
|
)
|
|
77
76
|
```
|
|
78
77
|
|
|
@@ -11,10 +11,13 @@ from .types import (
|
|
|
11
11
|
AzureBlobImportStorage,
|
|
12
12
|
AzureBlobImportStorageStatus,
|
|
13
13
|
BaseTask,
|
|
14
|
+
BaseTaskFileUpload,
|
|
15
|
+
BaseTaskUpdatedBy,
|
|
14
16
|
BaseUser,
|
|
15
17
|
ConvertedFormat,
|
|
16
18
|
ConvertedFormatStatus,
|
|
17
19
|
DataManagerTaskSerializer,
|
|
20
|
+
DataManagerTaskSerializerAnnotatorsItem,
|
|
18
21
|
DataManagerTaskSerializerDraftsItem,
|
|
19
22
|
DataManagerTaskSerializerPredictionsItem,
|
|
20
23
|
Export,
|
|
@@ -51,9 +54,13 @@ from .types import (
|
|
|
51
54
|
S3ExportStorageStatus,
|
|
52
55
|
S3ImportStorage,
|
|
53
56
|
S3ImportStorageStatus,
|
|
57
|
+
S3SExportStorage,
|
|
58
|
+
S3SImportStorage,
|
|
59
|
+
S3SImportStorageStatus,
|
|
54
60
|
SerializationOption,
|
|
55
61
|
SerializationOptions,
|
|
56
62
|
Task,
|
|
63
|
+
TaskAnnotatorsItem,
|
|
57
64
|
TaskFilterOptions,
|
|
58
65
|
UserSimple,
|
|
59
66
|
View,
|
|
@@ -61,6 +68,7 @@ from .types import (
|
|
|
61
68
|
WebhookActionsItem,
|
|
62
69
|
WebhookSerializerForUpdate,
|
|
63
70
|
WebhookSerializerForUpdateActionsItem,
|
|
71
|
+
Workspace,
|
|
64
72
|
)
|
|
65
73
|
from .errors import BadRequestError, InternalServerError
|
|
66
74
|
from . import (
|
|
@@ -76,6 +84,7 @@ from . import (
|
|
|
76
84
|
users,
|
|
77
85
|
views,
|
|
78
86
|
webhooks,
|
|
87
|
+
workspaces,
|
|
79
88
|
)
|
|
80
89
|
from ._legacy import Client
|
|
81
90
|
from .actions import (
|
|
@@ -102,7 +111,7 @@ from .ml import (
|
|
|
102
111
|
MlUpdateResponse,
|
|
103
112
|
MlUpdateResponseAuthMethod,
|
|
104
113
|
)
|
|
105
|
-
from .projects import ProjectsCreateResponse, ProjectsImportTasksResponse, ProjectsListResponse
|
|
114
|
+
from .projects import ProjectsCreateResponse, ProjectsImportTasksResponse, ProjectsListResponse, ProjectsUpdateResponse
|
|
106
115
|
from .tasks import TasksListRequestFields, TasksListResponse
|
|
107
116
|
from .users import UsersGetTokenResponse, UsersResetTokenResponse
|
|
108
117
|
from .version import __version__
|
|
@@ -149,11 +158,14 @@ __all__ = [
|
|
|
149
158
|
"AzureBlobImportStorageStatus",
|
|
150
159
|
"BadRequestError",
|
|
151
160
|
"BaseTask",
|
|
161
|
+
"BaseTaskFileUpload",
|
|
162
|
+
"BaseTaskUpdatedBy",
|
|
152
163
|
"BaseUser",
|
|
153
164
|
"Client",
|
|
154
165
|
"ConvertedFormat",
|
|
155
166
|
"ConvertedFormatStatus",
|
|
156
167
|
"DataManagerTaskSerializer",
|
|
168
|
+
"DataManagerTaskSerializerAnnotatorsItem",
|
|
157
169
|
"DataManagerTaskSerializerDraftsItem",
|
|
158
170
|
"DataManagerTaskSerializerPredictionsItem",
|
|
159
171
|
"Export",
|
|
@@ -195,6 +207,7 @@ __all__ = [
|
|
|
195
207
|
"ProjectsCreateResponse",
|
|
196
208
|
"ProjectsImportTasksResponse",
|
|
197
209
|
"ProjectsListResponse",
|
|
210
|
+
"ProjectsUpdateResponse",
|
|
198
211
|
"RedisExportStorage",
|
|
199
212
|
"RedisExportStorageStatus",
|
|
200
213
|
"RedisImportStorage",
|
|
@@ -203,9 +216,13 @@ __all__ = [
|
|
|
203
216
|
"S3ExportStorageStatus",
|
|
204
217
|
"S3ImportStorage",
|
|
205
218
|
"S3ImportStorageStatus",
|
|
219
|
+
"S3SExportStorage",
|
|
220
|
+
"S3SImportStorage",
|
|
221
|
+
"S3SImportStorageStatus",
|
|
206
222
|
"SerializationOption",
|
|
207
223
|
"SerializationOptions",
|
|
208
224
|
"Task",
|
|
225
|
+
"TaskAnnotatorsItem",
|
|
209
226
|
"TaskFilterOptions",
|
|
210
227
|
"TasksListRequestFields",
|
|
211
228
|
"TasksListResponse",
|
|
@@ -234,6 +251,7 @@ __all__ = [
|
|
|
234
251
|
"WebhookSerializerForUpdate",
|
|
235
252
|
"WebhookSerializerForUpdateActionsItem",
|
|
236
253
|
"WebhooksUpdateRequestActionsItem",
|
|
254
|
+
"Workspace",
|
|
237
255
|
"__version__",
|
|
238
256
|
"actions",
|
|
239
257
|
"annotations",
|
|
@@ -247,4 +265,5 @@ __all__ = [
|
|
|
247
265
|
"users",
|
|
248
266
|
"views",
|
|
249
267
|
"webhooks",
|
|
268
|
+
"workspaces",
|
|
250
269
|
]
|
|
@@ -44,9 +44,9 @@ class ActionsClient:
|
|
|
44
44
|
_response = self._client_wrapper.httpx_client.request(
|
|
45
45
|
"api/dm/actions/", method="GET", request_options=request_options
|
|
46
46
|
)
|
|
47
|
-
if 200 <= _response.status_code < 300:
|
|
48
|
-
return
|
|
49
47
|
try:
|
|
48
|
+
if 200 <= _response.status_code < 300:
|
|
49
|
+
return
|
|
50
50
|
_response_json = _response.json()
|
|
51
51
|
except JSONDecodeError:
|
|
52
52
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -134,9 +134,9 @@ class ActionsClient:
|
|
|
134
134
|
request_options=request_options,
|
|
135
135
|
omit=OMIT,
|
|
136
136
|
)
|
|
137
|
-
if 200 <= _response.status_code < 300:
|
|
138
|
-
return
|
|
139
137
|
try:
|
|
138
|
+
if 200 <= _response.status_code < 300:
|
|
139
|
+
return
|
|
140
140
|
_response_json = _response.json()
|
|
141
141
|
except JSONDecodeError:
|
|
142
142
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -172,9 +172,9 @@ class AsyncActionsClient:
|
|
|
172
172
|
_response = await self._client_wrapper.httpx_client.request(
|
|
173
173
|
"api/dm/actions/", method="GET", request_options=request_options
|
|
174
174
|
)
|
|
175
|
-
if 200 <= _response.status_code < 300:
|
|
176
|
-
return
|
|
177
175
|
try:
|
|
176
|
+
if 200 <= _response.status_code < 300:
|
|
177
|
+
return
|
|
178
178
|
_response_json = _response.json()
|
|
179
179
|
except JSONDecodeError:
|
|
180
180
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -262,9 +262,9 @@ class AsyncActionsClient:
|
|
|
262
262
|
request_options=request_options,
|
|
263
263
|
omit=OMIT,
|
|
264
264
|
)
|
|
265
|
-
if 200 <= _response.status_code < 300:
|
|
266
|
-
return
|
|
267
265
|
try:
|
|
266
|
+
if 200 <= _response.status_code < 300:
|
|
267
|
+
return
|
|
268
268
|
_response_json = _response.json()
|
|
269
269
|
except JSONDecodeError:
|
|
270
270
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
{label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/annotations/client.py
RENAMED
|
@@ -51,9 +51,9 @@ class AnnotationsClient:
|
|
|
51
51
|
_response = self._client_wrapper.httpx_client.request(
|
|
52
52
|
f"api/annotations/{jsonable_encoder(id)}/", method="GET", request_options=request_options
|
|
53
53
|
)
|
|
54
|
-
if 200 <= _response.status_code < 300:
|
|
55
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
56
54
|
try:
|
|
55
|
+
if 200 <= _response.status_code < 300:
|
|
56
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
57
57
|
_response_json = _response.json()
|
|
58
58
|
except JSONDecodeError:
|
|
59
59
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -93,9 +93,9 @@ class AnnotationsClient:
|
|
|
93
93
|
_response = self._client_wrapper.httpx_client.request(
|
|
94
94
|
f"api/annotations/{jsonable_encoder(id)}/", method="DELETE", request_options=request_options
|
|
95
95
|
)
|
|
96
|
-
if 200 <= _response.status_code < 300:
|
|
97
|
-
return
|
|
98
96
|
try:
|
|
97
|
+
if 200 <= _response.status_code < 300:
|
|
98
|
+
return
|
|
99
99
|
_response_json = _response.json()
|
|
100
100
|
except JSONDecodeError:
|
|
101
101
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -182,7 +182,7 @@ class AnnotationsClient:
|
|
|
182
182
|
"width": 50,
|
|
183
183
|
"height": 60,
|
|
184
184
|
"rotation": 0,
|
|
185
|
-
"values": {"rectanglelabels":
|
|
185
|
+
"values": {"rectanglelabels": ["Person"]},
|
|
186
186
|
},
|
|
187
187
|
}
|
|
188
188
|
],
|
|
@@ -206,9 +206,9 @@ class AnnotationsClient:
|
|
|
206
206
|
request_options=request_options,
|
|
207
207
|
omit=OMIT,
|
|
208
208
|
)
|
|
209
|
-
if 200 <= _response.status_code < 300:
|
|
210
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
211
209
|
try:
|
|
210
|
+
if 200 <= _response.status_code < 300:
|
|
211
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
212
212
|
_response_json = _response.json()
|
|
213
213
|
except JSONDecodeError:
|
|
214
214
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -247,9 +247,9 @@ class AnnotationsClient:
|
|
|
247
247
|
_response = self._client_wrapper.httpx_client.request(
|
|
248
248
|
f"api/tasks/{jsonable_encoder(id)}/annotations/", method="GET", request_options=request_options
|
|
249
249
|
)
|
|
250
|
-
if 200 <= _response.status_code < 300:
|
|
251
|
-
return pydantic_v1.parse_obj_as(typing.List[Annotation], _response.json()) # type: ignore
|
|
252
250
|
try:
|
|
251
|
+
if 200 <= _response.status_code < 300:
|
|
252
|
+
return pydantic_v1.parse_obj_as(typing.List[Annotation], _response.json()) # type: ignore
|
|
253
253
|
_response_json = _response.json()
|
|
254
254
|
except JSONDecodeError:
|
|
255
255
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -348,7 +348,7 @@ class AnnotationsClient:
|
|
|
348
348
|
"width": 50,
|
|
349
349
|
"height": 60,
|
|
350
350
|
"rotation": 0,
|
|
351
|
-
"values": {"rectanglelabels":
|
|
351
|
+
"values": {"rectanglelabels": ["Person"]},
|
|
352
352
|
},
|
|
353
353
|
}
|
|
354
354
|
],
|
|
@@ -372,9 +372,9 @@ class AnnotationsClient:
|
|
|
372
372
|
request_options=request_options,
|
|
373
373
|
omit=OMIT,
|
|
374
374
|
)
|
|
375
|
-
if 200 <= _response.status_code < 300:
|
|
376
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
377
375
|
try:
|
|
376
|
+
if 200 <= _response.status_code < 300:
|
|
377
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
378
378
|
_response_json = _response.json()
|
|
379
379
|
except JSONDecodeError:
|
|
380
380
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -418,9 +418,9 @@ class AsyncAnnotationsClient:
|
|
|
418
418
|
_response = await self._client_wrapper.httpx_client.request(
|
|
419
419
|
f"api/annotations/{jsonable_encoder(id)}/", method="GET", request_options=request_options
|
|
420
420
|
)
|
|
421
|
-
if 200 <= _response.status_code < 300:
|
|
422
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
423
421
|
try:
|
|
422
|
+
if 200 <= _response.status_code < 300:
|
|
423
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
424
424
|
_response_json = _response.json()
|
|
425
425
|
except JSONDecodeError:
|
|
426
426
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -460,9 +460,9 @@ class AsyncAnnotationsClient:
|
|
|
460
460
|
_response = await self._client_wrapper.httpx_client.request(
|
|
461
461
|
f"api/annotations/{jsonable_encoder(id)}/", method="DELETE", request_options=request_options
|
|
462
462
|
)
|
|
463
|
-
if 200 <= _response.status_code < 300:
|
|
464
|
-
return
|
|
465
463
|
try:
|
|
464
|
+
if 200 <= _response.status_code < 300:
|
|
465
|
+
return
|
|
466
466
|
_response_json = _response.json()
|
|
467
467
|
except JSONDecodeError:
|
|
468
468
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -549,7 +549,7 @@ class AsyncAnnotationsClient:
|
|
|
549
549
|
"width": 50,
|
|
550
550
|
"height": 60,
|
|
551
551
|
"rotation": 0,
|
|
552
|
-
"values": {"rectanglelabels":
|
|
552
|
+
"values": {"rectanglelabels": ["Person"]},
|
|
553
553
|
},
|
|
554
554
|
}
|
|
555
555
|
],
|
|
@@ -573,9 +573,9 @@ class AsyncAnnotationsClient:
|
|
|
573
573
|
request_options=request_options,
|
|
574
574
|
omit=OMIT,
|
|
575
575
|
)
|
|
576
|
-
if 200 <= _response.status_code < 300:
|
|
577
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
578
576
|
try:
|
|
577
|
+
if 200 <= _response.status_code < 300:
|
|
578
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
579
579
|
_response_json = _response.json()
|
|
580
580
|
except JSONDecodeError:
|
|
581
581
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -616,9 +616,9 @@ class AsyncAnnotationsClient:
|
|
|
616
616
|
_response = await self._client_wrapper.httpx_client.request(
|
|
617
617
|
f"api/tasks/{jsonable_encoder(id)}/annotations/", method="GET", request_options=request_options
|
|
618
618
|
)
|
|
619
|
-
if 200 <= _response.status_code < 300:
|
|
620
|
-
return pydantic_v1.parse_obj_as(typing.List[Annotation], _response.json()) # type: ignore
|
|
621
619
|
try:
|
|
620
|
+
if 200 <= _response.status_code < 300:
|
|
621
|
+
return pydantic_v1.parse_obj_as(typing.List[Annotation], _response.json()) # type: ignore
|
|
622
622
|
_response_json = _response.json()
|
|
623
623
|
except JSONDecodeError:
|
|
624
624
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -717,7 +717,7 @@ class AsyncAnnotationsClient:
|
|
|
717
717
|
"width": 50,
|
|
718
718
|
"height": 60,
|
|
719
719
|
"rotation": 0,
|
|
720
|
-
"values": {"rectanglelabels":
|
|
720
|
+
"values": {"rectanglelabels": ["Person"]},
|
|
721
721
|
},
|
|
722
722
|
}
|
|
723
723
|
],
|
|
@@ -741,9 +741,9 @@ class AsyncAnnotationsClient:
|
|
|
741
741
|
request_options=request_options,
|
|
742
742
|
omit=OMIT,
|
|
743
743
|
)
|
|
744
|
-
if 200 <= _response.status_code < 300:
|
|
745
|
-
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
746
744
|
try:
|
|
745
|
+
if 200 <= _response.status_code < 300:
|
|
746
|
+
return pydantic_v1.parse_obj_as(Annotation, _response.json()) # type: ignore
|
|
747
747
|
_response_json = _response.json()
|
|
748
748
|
except JSONDecodeError:
|
|
749
749
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -20,6 +20,7 @@ from .tasks.client import AsyncTasksClient, TasksClient
|
|
|
20
20
|
from .users.client import AsyncUsersClient, UsersClient
|
|
21
21
|
from .views.client import AsyncViewsClient, ViewsClient
|
|
22
22
|
from .webhooks.client import AsyncWebhooksClient, WebhooksClient
|
|
23
|
+
from .workspaces.client import AsyncWorkspacesClient, WorkspacesClient
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class LabelStudioBase:
|
|
@@ -96,6 +97,7 @@ class LabelStudioBase:
|
|
|
96
97
|
self.import_storage = ImportStorageClient(client_wrapper=self._client_wrapper)
|
|
97
98
|
self.export_storage = ExportStorageClient(client_wrapper=self._client_wrapper)
|
|
98
99
|
self.webhooks = WebhooksClient(client_wrapper=self._client_wrapper)
|
|
100
|
+
self.workspaces = WorkspacesClient(client_wrapper=self._client_wrapper)
|
|
99
101
|
|
|
100
102
|
|
|
101
103
|
class AsyncLabelStudioBase:
|
|
@@ -172,6 +174,7 @@ class AsyncLabelStudioBase:
|
|
|
172
174
|
self.import_storage = AsyncImportStorageClient(client_wrapper=self._client_wrapper)
|
|
173
175
|
self.export_storage = AsyncExportStorageClient(client_wrapper=self._client_wrapper)
|
|
174
176
|
self.webhooks = AsyncWebhooksClient(client_wrapper=self._client_wrapper)
|
|
177
|
+
self.workspaces = AsyncWorkspacesClient(client_wrapper=self._client_wrapper)
|
|
175
178
|
|
|
176
179
|
|
|
177
180
|
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: LabelStudioEnvironment) -> str:
|
{label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/client_wrapper.py
RENAMED
|
@@ -17,7 +17,7 @@ class BaseClientWrapper:
|
|
|
17
17
|
headers: typing.Dict[str, str] = {
|
|
18
18
|
"X-Fern-Language": "Python",
|
|
19
19
|
"X-Fern-SDK-Name": "label-studio-sdk",
|
|
20
|
-
"X-Fern-SDK-Version": "1.0.
|
|
20
|
+
"X-Fern-SDK-Version": "1.0.4",
|
|
21
21
|
}
|
|
22
22
|
headers["Authorization"] = f"Token {self.api_key}"
|
|
23
23
|
return headers
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import email.utils
|
|
5
|
+
import json
|
|
5
6
|
import re
|
|
6
7
|
import time
|
|
7
8
|
import typing
|
|
@@ -125,6 +126,25 @@ def maybe_filter_request_body(
|
|
|
125
126
|
return data_content
|
|
126
127
|
|
|
127
128
|
|
|
129
|
+
# Abstracted out for testing purposes
|
|
130
|
+
def get_request_body(
|
|
131
|
+
*,
|
|
132
|
+
json: typing.Optional[typing.Any],
|
|
133
|
+
data: typing.Optional[typing.Any],
|
|
134
|
+
request_options: typing.Optional[RequestOptions],
|
|
135
|
+
omit: typing.Optional[typing.Any],
|
|
136
|
+
) -> typing.Tuple[typing.Optional[typing.Any], typing.Optional[typing.Any]]:
|
|
137
|
+
json_body = None
|
|
138
|
+
data_body = None
|
|
139
|
+
if data is not None:
|
|
140
|
+
data_body = maybe_filter_request_body(data, request_options, omit)
|
|
141
|
+
else:
|
|
142
|
+
# If both data and json are None, we send json data in the event extra properties are specified
|
|
143
|
+
json_body = maybe_filter_request_body(json, request_options, omit)
|
|
144
|
+
|
|
145
|
+
return json_body, data_body
|
|
146
|
+
|
|
147
|
+
|
|
128
148
|
class HttpClient:
|
|
129
149
|
def __init__(
|
|
130
150
|
self,
|
|
@@ -168,6 +188,8 @@ class HttpClient:
|
|
|
168
188
|
else self.base_timeout
|
|
169
189
|
)
|
|
170
190
|
|
|
191
|
+
json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
|
|
192
|
+
|
|
171
193
|
response = self.httpx_client.request(
|
|
172
194
|
method=method,
|
|
173
195
|
url=urllib.parse.urljoin(f"{base_url}/", path),
|
|
@@ -197,8 +219,8 @@ class HttpClient:
|
|
|
197
219
|
)
|
|
198
220
|
)
|
|
199
221
|
),
|
|
200
|
-
json=
|
|
201
|
-
data=
|
|
222
|
+
json=json_body,
|
|
223
|
+
data=data_body,
|
|
202
224
|
content=content,
|
|
203
225
|
files=convert_file_dict_to_httpx_tuples(remove_none_from_dict(files)) if files is not None else None,
|
|
204
226
|
timeout=timeout,
|
|
@@ -248,6 +270,8 @@ class HttpClient:
|
|
|
248
270
|
else self.base_timeout
|
|
249
271
|
)
|
|
250
272
|
|
|
273
|
+
json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
|
|
274
|
+
|
|
251
275
|
with self.httpx_client.stream(
|
|
252
276
|
method=method,
|
|
253
277
|
url=urllib.parse.urljoin(f"{base_url}/", path),
|
|
@@ -277,8 +301,8 @@ class HttpClient:
|
|
|
277
301
|
)
|
|
278
302
|
)
|
|
279
303
|
),
|
|
280
|
-
json=
|
|
281
|
-
data=
|
|
304
|
+
json=json_body,
|
|
305
|
+
data=data_body,
|
|
282
306
|
content=content,
|
|
283
307
|
files=convert_file_dict_to_httpx_tuples(remove_none_from_dict(files)) if files is not None else None,
|
|
284
308
|
timeout=timeout,
|
|
@@ -329,6 +353,8 @@ class AsyncHttpClient:
|
|
|
329
353
|
else self.base_timeout
|
|
330
354
|
)
|
|
331
355
|
|
|
356
|
+
json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
|
|
357
|
+
|
|
332
358
|
# Add the input to each of these and do None-safety checks
|
|
333
359
|
response = await self.httpx_client.request(
|
|
334
360
|
method=method,
|
|
@@ -359,8 +385,8 @@ class AsyncHttpClient:
|
|
|
359
385
|
)
|
|
360
386
|
)
|
|
361
387
|
),
|
|
362
|
-
json=
|
|
363
|
-
data=
|
|
388
|
+
json=json_body,
|
|
389
|
+
data=data_body,
|
|
364
390
|
content=content,
|
|
365
391
|
files=convert_file_dict_to_httpx_tuples(remove_none_from_dict(files)) if files is not None else None,
|
|
366
392
|
timeout=timeout,
|
|
@@ -409,6 +435,8 @@ class AsyncHttpClient:
|
|
|
409
435
|
else self.base_timeout
|
|
410
436
|
)
|
|
411
437
|
|
|
438
|
+
json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
|
|
439
|
+
|
|
412
440
|
async with self.httpx_client.stream(
|
|
413
441
|
method=method,
|
|
414
442
|
url=urllib.parse.urljoin(f"{base_url}/", path),
|
|
@@ -438,8 +466,8 @@ class AsyncHttpClient:
|
|
|
438
466
|
)
|
|
439
467
|
)
|
|
440
468
|
),
|
|
441
|
-
json=
|
|
442
|
-
data=
|
|
469
|
+
json=json_body,
|
|
470
|
+
data=data_body,
|
|
443
471
|
content=content,
|
|
444
472
|
files=convert_file_dict_to_httpx_tuples(remove_none_from_dict(files)) if files is not None else None,
|
|
445
473
|
timeout=timeout,
|
{label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/core/request_options.py
RENAMED
|
@@ -5,10 +5,10 @@ import typing
|
|
|
5
5
|
try:
|
|
6
6
|
from typing import NotRequired # type: ignore
|
|
7
7
|
except ImportError:
|
|
8
|
-
from typing_extensions import NotRequired
|
|
8
|
+
from typing_extensions import NotRequired
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class RequestOptions(typing.TypedDict):
|
|
11
|
+
class RequestOptions(typing.TypedDict, total=False):
|
|
12
12
|
"""
|
|
13
13
|
Additional options for request-specific configuration when calling APIs via the SDK.
|
|
14
14
|
This is used primarily as an optional final parameter for service functions.
|
{label_studio_sdk-1.0.2 → label_studio_sdk-1.0.4}/src/label_studio_sdk/export_storage/__init__.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
3
|
from .types import ExportStorageListTypesResponseItem
|
|
4
|
-
from . import azure, gcs, local, redis, s3
|
|
4
|
+
from . import azure, gcs, local, redis, s3, s3s
|
|
5
5
|
from .azure import AzureCreateResponse, AzureUpdateResponse
|
|
6
6
|
from .gcs import GcsCreateResponse, GcsUpdateResponse
|
|
7
7
|
from .local import LocalCreateResponse, LocalUpdateResponse
|
|
@@ -25,4 +25,5 @@ __all__ = [
|
|
|
25
25
|
"local",
|
|
26
26
|
"redis",
|
|
27
27
|
"s3",
|
|
28
|
+
"s3s",
|
|
28
29
|
]
|