label-studio-sdk 1.0.1__py3-none-any.whl → 1.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. label_studio_sdk/__init__.py +26 -1
  2. label_studio_sdk/actions/__init__.py +2 -0
  3. label_studio_sdk/actions/client.py +62 -14
  4. label_studio_sdk/actions/types/__init__.py +2 -0
  5. label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +3 -2
  6. label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +5 -0
  7. label_studio_sdk/core/client_wrapper.py +1 -1
  8. label_studio_sdk/errors/bad_request_error.py +3 -1
  9. label_studio_sdk/label_interface/interface.py +1 -1
  10. label_studio_sdk/{_legacy → label_interface}/objects.py +8 -22
  11. label_studio_sdk/projects/__init__.py +8 -2
  12. label_studio_sdk/projects/client.py +150 -17
  13. label_studio_sdk/projects/types/__init__.py +2 -1
  14. label_studio_sdk/projects/types/projects_update_response.py +96 -0
  15. label_studio_sdk/tasks/client.py +11 -8
  16. label_studio_sdk/types/__init__.py +18 -0
  17. label_studio_sdk/types/annotations_dm_field.py +120 -0
  18. label_studio_sdk/types/annotations_dm_field_last_action.py +19 -0
  19. label_studio_sdk/types/base_task.py +4 -2
  20. label_studio_sdk/types/base_task_file_upload.py +5 -0
  21. label_studio_sdk/types/base_task_updated_by.py +5 -0
  22. label_studio_sdk/types/data_manager_task_serializer.py +124 -0
  23. label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +5 -0
  24. label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +31 -0
  25. label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +37 -0
  26. label_studio_sdk/types/task.py +3 -2
  27. label_studio_sdk/types/task_annotators_item.py +5 -0
  28. label_studio_sdk/views/__init__.py +4 -0
  29. label_studio_sdk/views/types/__init__.py +4 -0
  30. label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +3 -2
  31. label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +5 -0
  32. label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +3 -2
  33. label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +5 -0
  34. {label_studio_sdk-1.0.1.dist-info → label_studio_sdk-1.0.3.dist-info}/METADATA +39 -7
  35. {label_studio_sdk-1.0.1.dist-info → label_studio_sdk-1.0.3.dist-info}/RECORD +36 -23
  36. {label_studio_sdk-1.0.1.dist-info → label_studio_sdk-1.0.3.dist-info}/WHEEL +0 -0
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ BaseTaskFileUpload = typing.Union[typing.Optional[str], typing.Optional[int]]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ BaseTaskUpdatedBy = typing.Union[typing.Optional[int], typing.Optional[typing.List[typing.Dict[str, typing.Any]]]]
@@ -0,0 +1,124 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+ from .annotations_dm_field import AnnotationsDmField
9
+ from .data_manager_task_serializer_annotators_item import DataManagerTaskSerializerAnnotatorsItem
10
+ from .data_manager_task_serializer_drafts_item import DataManagerTaskSerializerDraftsItem
11
+ from .data_manager_task_serializer_predictions_item import DataManagerTaskSerializerPredictionsItem
12
+
13
+
14
+ class DataManagerTaskSerializer(pydantic_v1.BaseModel):
15
+ id: typing.Optional[int] = None
16
+ predictions: typing.Optional[typing.List[DataManagerTaskSerializerPredictionsItem]] = pydantic_v1.Field(
17
+ default=None
18
+ )
19
+ """
20
+ Predictions for this task
21
+ """
22
+
23
+ annotations: typing.Optional[typing.List[AnnotationsDmField]] = None
24
+ drafts: typing.Optional[typing.List[DataManagerTaskSerializerDraftsItem]] = pydantic_v1.Field(default=None)
25
+ """
26
+ Drafts for this task
27
+ """
28
+
29
+ annotators: typing.Optional[typing.List[DataManagerTaskSerializerAnnotatorsItem]] = pydantic_v1.Field(default=None)
30
+ """
31
+ Annotators who annotated this task
32
+ """
33
+
34
+ inner_id: typing.Optional[int] = None
35
+ cancelled_annotations: typing.Optional[int] = None
36
+ total_annotations: typing.Optional[int] = None
37
+ total_predictions: typing.Optional[int] = None
38
+ completed_at: typing.Optional[dt.datetime] = None
39
+ annotations_results: typing.Optional[str] = None
40
+ predictions_results: typing.Optional[str] = None
41
+ predictions_score: typing.Optional[float] = None
42
+ file_upload: typing.Optional[str] = None
43
+ storage_filename: typing.Optional[str] = None
44
+ annotations_ids: typing.Optional[str] = None
45
+ predictions_model_versions: typing.Optional[str] = None
46
+ avg_lead_time: typing.Optional[float] = None
47
+ draft_exists: typing.Optional[bool] = None
48
+ updated_by: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic_v1.Field(default=None)
49
+ """
50
+ User IDs who updated this task
51
+ """
52
+
53
+ data: typing.Dict[str, typing.Any] = pydantic_v1.Field()
54
+ """
55
+ User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
56
+ """
57
+
58
+ meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
59
+ """
60
+ Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
61
+ """
62
+
63
+ created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
64
+ """
65
+ Time a task was created
66
+ """
67
+
68
+ updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
69
+ """
70
+ Last time a task was updated
71
+ """
72
+
73
+ is_labeled: typing.Optional[bool] = pydantic_v1.Field(default=None)
74
+ """
75
+ True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
76
+ """
77
+
78
+ overlap: typing.Optional[int] = pydantic_v1.Field(default=None)
79
+ """
80
+ Number of distinct annotators that processed the current task
81
+ """
82
+
83
+ comment_count: typing.Optional[int] = pydantic_v1.Field(default=None)
84
+ """
85
+ Number of comments in the task including all annotations
86
+ """
87
+
88
+ unresolved_comment_count: typing.Optional[int] = pydantic_v1.Field(default=None)
89
+ """
90
+ Number of unresolved comments in the task including all annotations
91
+ """
92
+
93
+ last_comment_updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
94
+ """
95
+ When the last comment was updated
96
+ """
97
+
98
+ project: typing.Optional[int] = pydantic_v1.Field(default=None)
99
+ """
100
+ Project ID for this task
101
+ """
102
+
103
+ comment_authors: typing.Optional[typing.List[int]] = pydantic_v1.Field(default=None)
104
+ """
105
+ Users who wrote comments
106
+ """
107
+
108
+ def json(self, **kwargs: typing.Any) -> str:
109
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
110
+ return super().json(**kwargs_with_defaults)
111
+
112
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
113
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
114
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
115
+
116
+ return deep_union_pydantic_dicts(
117
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
118
+ )
119
+
120
+ class Config:
121
+ frozen = True
122
+ smart_union = True
123
+ extra = pydantic_v1.Extra.allow
124
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DataManagerTaskSerializerAnnotatorsItem = typing.Union[int, typing.Dict[str, typing.Any]]
@@ -0,0 +1,31 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class DataManagerTaskSerializerDraftsItem(pydantic_v1.BaseModel):
11
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None
12
+ created_at: typing.Optional[dt.datetime] = None
13
+ updated_at: typing.Optional[dt.datetime] = None
14
+
15
+ def json(self, **kwargs: typing.Any) -> str:
16
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
17
+ return super().json(**kwargs_with_defaults)
18
+
19
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
20
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
21
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
22
+
23
+ return deep_union_pydantic_dicts(
24
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
25
+ )
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic_v1.Extra.allow
31
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,37 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class DataManagerTaskSerializerPredictionsItem(pydantic_v1.BaseModel):
11
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None
12
+ score: typing.Optional[float] = None
13
+ model_version: typing.Optional[str] = None
14
+ model: typing.Optional[typing.Dict[str, typing.Any]] = None
15
+ model_run: typing.Optional[typing.Dict[str, typing.Any]] = None
16
+ task: typing.Optional[int] = None
17
+ project: typing.Optional[float] = None
18
+ created_at: typing.Optional[dt.datetime] = None
19
+ updated_at: typing.Optional[dt.datetime] = None
20
+
21
+ def json(self, **kwargs: typing.Any) -> str:
22
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
23
+ return super().json(**kwargs_with_defaults)
24
+
25
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
26
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
27
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
28
+
29
+ return deep_union_pydantic_dicts(
30
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
31
+ )
32
+
33
+ class Config:
34
+ frozen = True
35
+ smart_union = True
36
+ extra = pydantic_v1.Extra.allow
37
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -5,6 +5,7 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+ from .task_annotators_item import TaskAnnotatorsItem
8
9
 
9
10
 
10
11
  class Task(pydantic_v1.BaseModel):
@@ -28,9 +29,9 @@ class Task(pydantic_v1.BaseModel):
28
29
  Drafts for this task
29
30
  """
30
31
 
31
- annotators: typing.Optional[typing.List[int]] = pydantic_v1.Field(default=None)
32
+ annotators: typing.Optional[typing.List[TaskAnnotatorsItem]] = pydantic_v1.Field(default=None)
32
33
  """
33
- List of annotators' IDs for this task
34
+ List of annotators for this task
34
35
  """
35
36
 
36
37
  inner_id: typing.Optional[int] = pydantic_v1.Field(default=None)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TaskAnnotatorsItem = typing.Union[int, typing.Dict[str, typing.Any]]
@@ -7,6 +7,7 @@ from .types import (
7
7
  ViewsCreateRequestDataFiltersItemsItem,
8
8
  ViewsCreateRequestDataFiltersItemsItemFilter,
9
9
  ViewsCreateRequestDataFiltersItemsItemOperator,
10
+ ViewsCreateRequestDataFiltersItemsItemValue,
10
11
  ViewsCreateRequestDataOrderingItem,
11
12
  ViewsUpdateRequestData,
12
13
  ViewsUpdateRequestDataFilters,
@@ -14,6 +15,7 @@ from .types import (
14
15
  ViewsUpdateRequestDataFiltersItemsItem,
15
16
  ViewsUpdateRequestDataFiltersItemsItemFilter,
16
17
  ViewsUpdateRequestDataFiltersItemsItemOperator,
18
+ ViewsUpdateRequestDataFiltersItemsItemValue,
17
19
  ViewsUpdateRequestDataOrderingItem,
18
20
  )
19
21
 
@@ -24,6 +26,7 @@ __all__ = [
24
26
  "ViewsCreateRequestDataFiltersItemsItem",
25
27
  "ViewsCreateRequestDataFiltersItemsItemFilter",
26
28
  "ViewsCreateRequestDataFiltersItemsItemOperator",
29
+ "ViewsCreateRequestDataFiltersItemsItemValue",
27
30
  "ViewsCreateRequestDataOrderingItem",
28
31
  "ViewsUpdateRequestData",
29
32
  "ViewsUpdateRequestDataFilters",
@@ -31,5 +34,6 @@ __all__ = [
31
34
  "ViewsUpdateRequestDataFiltersItemsItem",
32
35
  "ViewsUpdateRequestDataFiltersItemsItemFilter",
33
36
  "ViewsUpdateRequestDataFiltersItemsItemOperator",
37
+ "ViewsUpdateRequestDataFiltersItemsItemValue",
34
38
  "ViewsUpdateRequestDataOrderingItem",
35
39
  ]
@@ -6,6 +6,7 @@ from .views_create_request_data_filters_conjunction import ViewsCreateRequestDat
6
6
  from .views_create_request_data_filters_items_item import ViewsCreateRequestDataFiltersItemsItem
7
7
  from .views_create_request_data_filters_items_item_filter import ViewsCreateRequestDataFiltersItemsItemFilter
8
8
  from .views_create_request_data_filters_items_item_operator import ViewsCreateRequestDataFiltersItemsItemOperator
9
+ from .views_create_request_data_filters_items_item_value import ViewsCreateRequestDataFiltersItemsItemValue
9
10
  from .views_create_request_data_ordering_item import ViewsCreateRequestDataOrderingItem
10
11
  from .views_update_request_data import ViewsUpdateRequestData
11
12
  from .views_update_request_data_filters import ViewsUpdateRequestDataFilters
@@ -13,6 +14,7 @@ from .views_update_request_data_filters_conjunction import ViewsUpdateRequestDat
13
14
  from .views_update_request_data_filters_items_item import ViewsUpdateRequestDataFiltersItemsItem
14
15
  from .views_update_request_data_filters_items_item_filter import ViewsUpdateRequestDataFiltersItemsItemFilter
15
16
  from .views_update_request_data_filters_items_item_operator import ViewsUpdateRequestDataFiltersItemsItemOperator
17
+ from .views_update_request_data_filters_items_item_value import ViewsUpdateRequestDataFiltersItemsItemValue
16
18
  from .views_update_request_data_ordering_item import ViewsUpdateRequestDataOrderingItem
17
19
 
18
20
  __all__ = [
@@ -22,6 +24,7 @@ __all__ = [
22
24
  "ViewsCreateRequestDataFiltersItemsItem",
23
25
  "ViewsCreateRequestDataFiltersItemsItemFilter",
24
26
  "ViewsCreateRequestDataFiltersItemsItemOperator",
27
+ "ViewsCreateRequestDataFiltersItemsItemValue",
25
28
  "ViewsCreateRequestDataOrderingItem",
26
29
  "ViewsUpdateRequestData",
27
30
  "ViewsUpdateRequestDataFilters",
@@ -29,5 +32,6 @@ __all__ = [
29
32
  "ViewsUpdateRequestDataFiltersItemsItem",
30
33
  "ViewsUpdateRequestDataFiltersItemsItemFilter",
31
34
  "ViewsUpdateRequestDataFiltersItemsItemOperator",
35
+ "ViewsUpdateRequestDataFiltersItemsItemValue",
32
36
  "ViewsUpdateRequestDataOrderingItem",
33
37
  ]
@@ -7,12 +7,13 @@ from ...core.datetime_utils import serialize_datetime
7
7
  from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
  from .views_create_request_data_filters_items_item_filter import ViewsCreateRequestDataFiltersItemsItemFilter
9
9
  from .views_create_request_data_filters_items_item_operator import ViewsCreateRequestDataFiltersItemsItemOperator
10
+ from .views_create_request_data_filters_items_item_value import ViewsCreateRequestDataFiltersItemsItemValue
10
11
 
11
12
 
12
13
  class ViewsCreateRequestDataFiltersItemsItem(pydantic_v1.BaseModel):
13
14
  filter: ViewsCreateRequestDataFiltersItemsItemFilter = pydantic_v1.Field()
14
15
  """
15
- Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
16
+ Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](#tag/Data-Manager/operation/api_dm_columns_list) API endpoint. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
16
17
  """
17
18
 
18
19
  operator: ViewsCreateRequestDataFiltersItemsItemOperator = pydantic_v1.Field()
@@ -25,7 +26,7 @@ class ViewsCreateRequestDataFiltersItemsItem(pydantic_v1.BaseModel):
25
26
  Type of the filter value. Possible values:<br><li>`Boolean`<br> Boolean</li><br><li>`Datetime`<br> Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format</li><br><li>`List`<br> List of items</li><br><li>`Number`<br> Float or Integer</li><br><li>`String`<br> String</li><br><li>`Unknown`<br> Unknown is explicitly converted to string format</li>
26
27
  """
27
28
 
28
- value: str = pydantic_v1.Field()
29
+ value: ViewsCreateRequestDataFiltersItemsItemValue = pydantic_v1.Field()
29
30
  """
30
31
  Value to filter by
31
32
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ViewsCreateRequestDataFiltersItemsItemValue = typing.Union[str, int, float, bool, typing.Dict[str, typing.Any]]
@@ -7,12 +7,13 @@ from ...core.datetime_utils import serialize_datetime
7
7
  from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
  from .views_update_request_data_filters_items_item_filter import ViewsUpdateRequestDataFiltersItemsItemFilter
9
9
  from .views_update_request_data_filters_items_item_operator import ViewsUpdateRequestDataFiltersItemsItemOperator
10
+ from .views_update_request_data_filters_items_item_value import ViewsUpdateRequestDataFiltersItemsItemValue
10
11
 
11
12
 
12
13
  class ViewsUpdateRequestDataFiltersItemsItem(pydantic_v1.BaseModel):
13
14
  filter: ViewsUpdateRequestDataFiltersItemsItemFilter = pydantic_v1.Field()
14
15
  """
15
- Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
16
+ Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](#tag/Data-Manager/operation/api_dm_columns_list) API endpoint. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
16
17
  """
17
18
 
18
19
  operator: ViewsUpdateRequestDataFiltersItemsItemOperator = pydantic_v1.Field()
@@ -25,7 +26,7 @@ class ViewsUpdateRequestDataFiltersItemsItem(pydantic_v1.BaseModel):
25
26
  Type of the filter value. Possible values:<br><li>`Boolean`<br> Boolean</li><br><li>`Datetime`<br> Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format</li><br><li>`List`<br> List of items</li><br><li>`Number`<br> Float or Integer</li><br><li>`String`<br> String</li><br><li>`Unknown`<br> Unknown is explicitly converted to string format</li>
26
27
  """
27
28
 
28
- value: str = pydantic_v1.Field()
29
+ value: ViewsUpdateRequestDataFiltersItemsItemValue = pydantic_v1.Field()
29
30
  """
30
31
  Value to filter by
31
32
  """
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ViewsUpdateRequestDataFiltersItemsItemValue = typing.Union[str, int, float, bool, typing.Dict[str, typing.Any]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: label-studio-sdk
3
- Version: 1.0.1
3
+ Version: 1.0.3
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -59,6 +59,7 @@ Description-Content-Type: text/markdown
59
59
  ---
60
60
 
61
61
  [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)
62
+ [![pypi](https://img.shields.io/pypi/v/label-studio-sdk.svg)](https://pypi.python.org/pypi/label-studio-sdk)
62
63
 
63
64
  The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.
64
65
  <!-- End Title -->
@@ -74,6 +75,8 @@ Explore the Label Studio API documentation [here](https://api.labelstud.io/).
74
75
 
75
76
  ```sh
76
77
  pip install --upgrade label-studio-sdk
78
+ # or
79
+ poetry add label-studio-sdk
77
80
  ```
78
81
 
79
82
  # Usage
@@ -140,13 +143,42 @@ client = AsyncLabelStudio(
140
143
  )
141
144
  ```
142
145
 
143
- <!-- Begin Status, generated by Fern -->
144
- # Beta Status
146
+ ## Advanced
145
147
 
146
- This SDK is in beta, and there may be breaking changes between versions without a major
147
- version update. Therefore, we recommend pinning the package version to a specific version.
148
- This way, you can install the same version each time without breaking changes.
149
- <!-- End Status -->
148
+ ### Timeouts
149
+ By default, requests time out after 60 seconds. You can configure this with a
150
+ timeout option at the client or request level.
151
+
152
+ ```python
153
+ from label_studio_sdk.client import LabelStudio
154
+
155
+ ls = LabelStudio(
156
+ # All timeouts set to 20 seconds
157
+ timeout=20.0
158
+ )
159
+
160
+ ls.projects.create(..., {
161
+ # Override timeout for a specific method
162
+ timeout=20.0
163
+ })
164
+ ```
165
+
166
+ ### Custom HTTP client
167
+ You can override the httpx client to customize it for your use-case. Some common use-cases
168
+ include support for proxies and transports.
169
+
170
+ ```python
171
+ import httpx
172
+
173
+ from label_studio_sdk.client import LabelStudio
174
+
175
+ ls = LabelStudio(
176
+ http_client=httpx.Client(
177
+ proxies="http://my.test.proxy.example.com",
178
+ transport=httpx.HTTPTransport(local_address="0.0.0.0"),
179
+ ),
180
+ )
181
+ ```
150
182
 
151
183
  <!-- Begin Contributing, generated by Fern -->
152
184
  # Contributing
@@ -1,4 +1,4 @@
1
- label_studio_sdk/__init__.py,sha256=9xfqkZgt37ghkGUe8KwGETNgfb1hhqYGvyiaPNsKJwU,6606
1
+ label_studio_sdk/__init__.py,sha256=9rb_bnGiPRqRpPq59CR4zD2PS5HrozLV3nsIrH8wMw8,7558
2
2
  label_studio_sdk/_extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  label_studio_sdk/_extensions/label_studio_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  label_studio_sdk/_extensions/label_studio_tools/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -17,20 +17,20 @@ label_studio_sdk/_extensions/pager_ext.py,sha256=l6QX3nkLwUjB6MQRR76Ry3y-HIY3FKT
17
17
  label_studio_sdk/_legacy/__init__.py,sha256=e1C8VJ0l6EKmQwvzOnkKvy5Cu6uNi2dboNno8cAKJdg,194
18
18
  label_studio_sdk/_legacy/client.py,sha256=7lZeuQNw39C_Iqb6O-LSY8dOYbrE7hhA8qrc0SH3Qw0,14052
19
19
  label_studio_sdk/_legacy/exceptions.py,sha256=Xpx6phdRD_dTWlA-nq0v0Feta0RVDltPUjRXSiXJ0Yk,196
20
- label_studio_sdk/_legacy/objects.py,sha256=BY3IyN2fEWGABpMDNuXFQ8142J7imCvtwhecR45E9b8,1901
21
20
  label_studio_sdk/_legacy/project.py,sha256=4sO4kZQECmDmFZRNo502PpDcRX68la0FO0WDePOyVxI,93567
22
21
  label_studio_sdk/_legacy/schema/label_config_schema.json,sha256=RrwjX3NU4ArFA8Fexb0fbInmJUYBpmFqa3h4-1L1pqg,6063
23
22
  label_studio_sdk/_legacy/users.py,sha256=G5wxBf7sGpZlN_0sR2NDovESIw1v2RfXWveCLHTgvN4,1402
24
23
  label_studio_sdk/_legacy/utils.py,sha256=ZeBEwUmHyK_GdUjAEOdIqkbKRT7SviO4Db0Uj6tMNfI,4518
25
24
  label_studio_sdk/_legacy/workspaces.py,sha256=9SrmZyWqj_0etCyTWzeC6v30jAIDnjerx4cNBlP3MGg,1913
26
- label_studio_sdk/actions/__init__.py,sha256=GVyRYKOyNfY0aDhaGek3LzMu3OxkBmW5fAI0UsxY5vk,955
27
- label_studio_sdk/actions/client.py,sha256=mCQ7TAthoWCleuz1TTXTC5i0SaHJWvTmZNawOw9v648,9350
28
- label_studio_sdk/actions/types/__init__.py,sha256=xI3KZ0e3ZR_gzYEBV7I19lAAdOCNiqtqtCng_si3wps,1423
25
+ label_studio_sdk/actions/__init__.py,sha256=tz8ar7NZQ5Gke5xMizpdY1qQSkFirBkgMQVukVc3EQ8,1051
26
+ label_studio_sdk/actions/client.py,sha256=UaJeQRMNqyiqhgKJ5KMM6mrsv19dQf0zfAN4JhYnOHo,11294
27
+ label_studio_sdk/actions/types/__init__.py,sha256=DXNZ0cUw0OGR5m1NmPx97t6wS3TZE5Rzu3J4mlNtNyA,1575
29
28
  label_studio_sdk/actions/types/actions_create_request_filters.py,sha256=kuWSbU5f2drIE9ixmHVV0u80SY7I8DCKx_XqOWBs2FE,2157
30
29
  label_studio_sdk/actions/types/actions_create_request_filters_conjunction.py,sha256=thuQnCJNFFIxmpSXp7F3anXVkp7BtQntBIVgZVlw21Y,175
31
- label_studio_sdk/actions/types/actions_create_request_filters_items_item.py,sha256=kFJZtpjmw_U8kyQfZVRIDFRPLP1EgHJCguz3m6aT950,5413
30
+ label_studio_sdk/actions/types/actions_create_request_filters_items_item.py,sha256=kU6lgGsJMLzx-KbWk_t6QpGhVHuTqzfY8MsIH8hm0ZU,5691
32
31
  label_studio_sdk/actions/types/actions_create_request_filters_items_item_filter.py,sha256=rwMY2ygY3Wt6hs_ecvL0ZSTyPElY03TRnzGuAHqfb4A,1035
33
32
  label_studio_sdk/actions/types/actions_create_request_filters_items_item_operator.py,sha256=Rhy6MUwQyGZBAnKJPPk_DT1TKjQY43I3C_L5Obz8FYs,472
33
+ label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py,sha256=AD6FVHLg3SMd_c7NJadS3tmQvFSQK-zuCwd_7PGDbw8,190
34
34
  label_studio_sdk/actions/types/actions_create_request_id.py,sha256=UOgIY9tUQyBVFDETLSq3mPZ_oxSFhZHJYqjGhXY4FYw,486
35
35
  label_studio_sdk/actions/types/actions_create_request_ordering_item.py,sha256=dE7E4WPE2GSskJ5lA1sNQwM5OK_cR6_dvxuzTFF4UjQ,871
36
36
  label_studio_sdk/actions/types/actions_create_request_selected_items.py,sha256=9ylitQl78Mrl2ffeYoaXL0JPyFPFriRDQtgvqJOuvRY,426
@@ -58,7 +58,7 @@ label_studio_sdk/converter/main.py,sha256=tB1HbxV_prR67tEjk-YLk4pLJ5isxQAsyChxak
58
58
  label_studio_sdk/converter/utils.py,sha256=etUjYJscKsqSGuFT4iK3AJmYm4NSK9hk6bLLu4L0aWQ,16143
59
59
  label_studio_sdk/core/__init__.py,sha256=Io96G1IY5muGWXsxPKOkzYv3We4OJlBKMkUFvEYfVEQ,1054
60
60
  label_studio_sdk/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
61
- label_studio_sdk/core/client_wrapper.py,sha256=cekz2gsAdUE5qmekCwSKsF6bfEQx_429B9CMqAfGHdA,1819
61
+ label_studio_sdk/core/client_wrapper.py,sha256=gAHaM072HstGpJTGM-OozKcti_1PiZTmoHPM2nQghPU,1817
62
62
  label_studio_sdk/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
63
63
  label_studio_sdk/core/file.py,sha256=sy1RUGZ3aJYuw998bZytxxo6QdgKmlnlgBaMvwEKCGg,1480
64
64
  label_studio_sdk/core/http_client.py,sha256=te8HUpXCsq0v4_vTU6-5tYVg9xTiG-GWESOCH19Gyqo,17924
@@ -71,7 +71,7 @@ label_studio_sdk/core/request_options.py,sha256=-3QoOMMHI2exIyHH6Q2MD7rpo_6w-i6z
71
71
  label_studio_sdk/data_manager.py,sha256=IzmX9qokkVE51hrtX9IuXkLr80pVWSXq8Hp51-xDuHI,8309
72
72
  label_studio_sdk/environment.py,sha256=f1MIpndh-RpLNXkkRNvyIWcCsC3hzMZ6y9VqHdhKH1k,158
73
73
  label_studio_sdk/errors/__init__.py,sha256=otIvsa1TyrQXYDqWJvu4mtMYgdqqfCYy1cfv6wpNVKg,221
74
- label_studio_sdk/errors/bad_request_error.py,sha256=cyaU3HXnyIS--6xv5DFA01VWbOQwzz1DU9PakGrzNp8,226
74
+ label_studio_sdk/errors/bad_request_error.py,sha256=jvBFMSUKdTc6ya16S5O7zwaFnPhOm8N4DjIom_pw5pc,248
75
75
  label_studio_sdk/errors/internal_server_error.py,sha256=K8Rm2Djj0ciGE0uDq3GHL-JTk8R23U2hBiH-84A4ZWY,230
76
76
  label_studio_sdk/export_storage/__init__.py,sha256=wW7LC_rzYYCBltCSTTcW5jFO-eVJwIqtY13Ix0xp6JM,824
77
77
  label_studio_sdk/export_storage/azure/__init__.py,sha256=WflFc5wcr-Pgvi8vGcNCTKOPaIKxy-_RgMx2qttAHYc,183
@@ -137,9 +137,10 @@ label_studio_sdk/label_interface/__init__.py,sha256=Eg6y3mAaYdKzJ5ZPhU_BTX2qoNPa
137
137
  label_studio_sdk/label_interface/base.py,sha256=KnsmCkBAGXw_2WNKg5PQ88qjqoUbFiEnvK-DDcKXcg4,2776
138
138
  label_studio_sdk/label_interface/control_tags.py,sha256=J4kB-q1KZaOnrnRvEFhng_GsXEKiBWTw6I7ADaoLqU8,22090
139
139
  label_studio_sdk/label_interface/data_examples.json,sha256=uCYvCtMIxPi1-jLlFhwJPh01tLyMIRwTjINeAeW-JzE,8195
140
- label_studio_sdk/label_interface/interface.py,sha256=VVZ6htWBSHedK2X_48GEl0geFk03vaU6eii-s-K8gis,35042
140
+ label_studio_sdk/label_interface/interface.py,sha256=Tzmk9UKje424mfk3PjsTBeLZRXNt8UlYn_2kT_kNMQs,35018
141
141
  label_studio_sdk/label_interface/label_tags.py,sha256=nWEo21Gd8IPzIO72UqraLrChIbvrSMCA_eEhzYGnGCc,2282
142
142
  label_studio_sdk/label_interface/object_tags.py,sha256=jZb4OVXjgB_MyHzOyexXZvwKXe2kBw3QgThtNDDAO14,8154
143
+ label_studio_sdk/label_interface/objects.py,sha256=YgZTvLwPrwspUqeaO5FnIY7fBu5wEIOtptlzUUYWIF8,1470
143
144
  label_studio_sdk/label_interface/region.py,sha256=fNZgPESjSQtKTwG8XLOtTttn6eU63kTGe5qMudDoTB0,1845
144
145
  label_studio_sdk/ml/__init__.py,sha256=J4ncAcAOU_qriOx_Im9eFmXyupKM19SXMcpMcXSmw-I,455
145
146
  label_studio_sdk/ml/client.py,sha256=PkwLvK3JO6CEwfqrVBUQJi8FaYUSRoayTqryGtt5LsI,35591
@@ -152,34 +153,43 @@ label_studio_sdk/ml/types/ml_update_response.py,sha256=GhueuUxG0eAqBCQO0KzS2X0hB
152
153
  label_studio_sdk/ml/types/ml_update_response_auth_method.py,sha256=1AhvSHg_qDNKx0bV_vaBdqioaSnbC6wNCIPdFbr9Czg,172
153
154
  label_studio_sdk/predictions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
154
155
  label_studio_sdk/predictions/client.py,sha256=2lsZH8_WMUa6nRNJ1igA0pHHE2AdUIzcLHOn9jlgOqE,25569
155
- label_studio_sdk/projects/__init__.py,sha256=XHzKx2ttQBr1tcp4xyoMiNpbfQoY71fqqEh_AWjWu1k,284
156
- label_studio_sdk/projects/client.py,sha256=yddSkwzCEvMymse7eBakZ1cyuQXBrdy8vML5y_oScRE,42726
156
+ label_studio_sdk/projects/__init__.py,sha256=_iq7sdPqGIwoq8VJqZV5fWU3ziLshGrZDKVe7F8_fbk,357
157
+ label_studio_sdk/projects/client.py,sha256=33wkpol7GqB9lkLmamod3g-lN6OnkYGA8IkqKISQTMU,49253
157
158
  label_studio_sdk/projects/client_ext.py,sha256=9Wa_Jd6mDV98d5_LEgeBuWz0c04R_PvkQiwEtZTu9zU,573
158
159
  label_studio_sdk/projects/exports/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
159
160
  label_studio_sdk/projects/exports/client.py,sha256=l6xLfVe532YJQRrdG50-bxk2BfLaYji_5NIS-7ksloM,35783
160
- label_studio_sdk/projects/types/__init__.py,sha256=Ui_c86Dq2E_2fStSNhwgxwi_3JjoO-YwCqTgiMPxu-k,348
161
+ label_studio_sdk/projects/types/__init__.py,sha256=EPDPCMDXFQp96yNZph2lAnDHw54X7NOvGOQgY9513sA,435
161
162
  label_studio_sdk/projects/types/projects_create_response.py,sha256=fgIEN2_u1EG7CH9VCPNdxRn6ekwXy5Cawf5_2VXeLGk,3391
162
163
  label_studio_sdk/projects/types/projects_import_tasks_response.py,sha256=QleGWz6JFzesJzf8cOCwQ-RbfM5Ig8dmGJXgkkxeUgU,2233
163
164
  label_studio_sdk/projects/types/projects_list_response.py,sha256=6iZSgnw8O5FRizmgobiVKqWJC1UjcXQLWduhJs-9CzU,1274
165
+ label_studio_sdk/projects/types/projects_update_response.py,sha256=46rd7JoE80OT-_PaasWPeKC-h4aRtJ4vq0GkurnD6Bg,3391
164
166
  label_studio_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
167
  label_studio_sdk/tasks/__init__.py,sha256=a30krVHgQie5L6dCoFHY2FinuDWikj_gQUCGalFhVa8,185
166
- label_studio_sdk/tasks/client.py,sha256=lj4DCprYjpBMCL4sya_FbKhWGb173b-Ng9S7WJPT3Rk,30819
168
+ label_studio_sdk/tasks/client.py,sha256=PL1zE3rQuajktH093VrKoL9LTusBt1rLJBGUtPdthgg,31150
167
169
  label_studio_sdk/tasks/client_ext.py,sha256=zOOUKUufEcB89AuwfQ6uFIUIai0k0dS23Sn0V0QQWWI,548
168
170
  label_studio_sdk/tasks/types/__init__.py,sha256=F5n2075irgvO9TyLAXzp26Tybg_lxMC56UySZzHby8I,237
169
171
  label_studio_sdk/tasks/types/tasks_list_request_fields.py,sha256=5YXxQgyzoaL0QjSE-aLs_fepCUuzj28iqUndh5NxGGg,166
170
172
  label_studio_sdk/tasks/types/tasks_list_response.py,sha256=Jc-ncfOVi6b9fFVspOdosE0AKlLto6w7bcURr4F72_E,1705
171
- label_studio_sdk/types/__init__.py,sha256=d-D2OV-PAhWrzrLZQ1tRFFsvG1BujJkPNib3BxK8M_4,4237
173
+ label_studio_sdk/types/__init__.py,sha256=8e_elATmkBrfttknoBMHkRQdJXS-gbBtISIsSYfkDJw,5190
172
174
  label_studio_sdk/types/annotation.py,sha256=EJaFw_Lo5aFNCk4hw4AfR9iobADkJjTNKzRxOdJFYS0,3649
173
175
  label_studio_sdk/types/annotation_filter_options.py,sha256=_MjVVtTtQCb7hq7g9HnfFPktp4mb5n_ut7TL05mL7JQ,1495
174
176
  label_studio_sdk/types/annotation_last_action.py,sha256=g1CU8ypFyneqqf_eWtNH-lC6Q_h1i_IporC-Fq6nkxs,392
177
+ label_studio_sdk/types/annotations_dm_field.py,sha256=FaE5V0s5OKPgm2Fq-jFS3-Xbu_U42QKGVfgZn5dx_Ps,3800
178
+ label_studio_sdk/types/annotations_dm_field_last_action.py,sha256=H7_GwbcY0Gf-cPKHmyKuNq2xY3zf5IZ1Y9djzdluR2U,400
175
179
  label_studio_sdk/types/azure_blob_export_storage.py,sha256=JR3tu4ZYlKXVoVUFZYPdOvbWzcOLQfwGVAYsXDt6XUU,3343
176
180
  label_studio_sdk/types/azure_blob_export_storage_status.py,sha256=rk2DtXXxbEwpUQPBgmwIr2Do3j3LbgwGSPk8yZeb8ow,221
177
181
  label_studio_sdk/types/azure_blob_import_storage.py,sha256=JI9GNcFSACNxq00ngbVzoKsCmbRnOkkgNBbdhl3A4EA,3379
178
182
  label_studio_sdk/types/azure_blob_import_storage_status.py,sha256=wc2Dqk2tVZS0a-Vc8GRs1GC24CphSjYVT_S6c--pmBI,221
179
- label_studio_sdk/types/base_task.py,sha256=RJIyJO-x46pz5rs5FmTAr4dAAbGVCRUHioRsGu5GwKU,3962
183
+ label_studio_sdk/types/base_task.py,sha256=5WTHfQYGQTvqjypnEZiZO3owbox18u8bbQWHhuTI1F0,4097
184
+ label_studio_sdk/types/base_task_file_upload.py,sha256=PdWBe3w8CFB1ytNkuTHOIn8K0HqQVxIdgWjTtYwRmtQ,158
185
+ label_studio_sdk/types/base_task_updated_by.py,sha256=1MZr_m96ZlLhWoYgURrQmgAuc15kQ_vOCZPO-DKaZSU,195
180
186
  label_studio_sdk/types/base_user.py,sha256=vpeAF07_xu5wpZRDagVilzvajzXqOH4em47PH12BuCI,1636
181
187
  label_studio_sdk/types/converted_format.py,sha256=isfQtXCd_IQUJvefLdhAD4sXgH_hYTq3zOFILml372k,1400
182
188
  label_studio_sdk/types/converted_format_status.py,sha256=27Ty_98TvKo1ENlvy10HH6HWXKifB2AYIb_NeTY4D7E,194
189
+ label_studio_sdk/types/data_manager_task_serializer.py,sha256=ya-FboTs16qTgBQFiO1UTkJMA3P9Tc0Yd_bPgsH6l90,4873
190
+ label_studio_sdk/types/data_manager_task_serializer_annotators_item.py,sha256=UCxNAeNyfUp8KAYMTxBJ0cjDoWovl4wVYxwzhnp5kEY,170
191
+ label_studio_sdk/types/data_manager_task_serializer_drafts_item.py,sha256=Mdpo1tutTmanjrMaBBtUCCWjRVWCH6oYMEQkh0vce84,1303
192
+ label_studio_sdk/types/data_manager_task_serializer_predictions_item.py,sha256=o_Ah1TrANjfAt992AJO5Z2Z2DTYdzBeXIaGGO1anOP8,1609
183
193
  label_studio_sdk/types/export.py,sha256=S83GXux12agpJ-MUjI6xz6muOanoedz8GiS8FVbEuL0,1806
184
194
  label_studio_sdk/types/export_convert.py,sha256=Y586VED5B9QMycAZKC-trEuIVfzvwzoPAis3FnGo-j0,1182
185
195
  label_studio_sdk/types/export_create.py,sha256=vctribqAJAYhC0kG2lHWml8TiMjiSOXFDJa2ApDjIss,2219
@@ -216,7 +226,8 @@ label_studio_sdk/types/s3import_storage.py,sha256=ztrH-qqQnpZvgZSSE_l06ZK9GvS6vK
216
226
  label_studio_sdk/types/s3import_storage_status.py,sha256=tufP_yMEimX4e3hzGPmKqVdDPNeaT4P178fBx3BmgIk,214
217
227
  label_studio_sdk/types/serialization_option.py,sha256=WQqHZTqXTERA_83fkPsjxq1yTMj9DsOnfDJy76Xh3xo,1278
218
228
  label_studio_sdk/types/serialization_options.py,sha256=FKubgrOGtD3t6Xi7N81zJxWV6WkWmu0WOrq1WD289TA,1774
219
- label_studio_sdk/types/task.py,sha256=guuakI3ZRl4CdjEtZbbpM8v734Z9nR9pDkk2GrBWcGs,4637
229
+ label_studio_sdk/types/task.py,sha256=mAjcnYZVOKmd1W9nagneBtUiCl2YE_SMJ9-OBIo4zXU,4700
230
+ label_studio_sdk/types/task_annotators_item.py,sha256=ZACM_u0ogzO7VmzJmml7EaaqdLiVLrwE-lxlkdZvuRM,149
220
231
  label_studio_sdk/types/task_filter_options.py,sha256=ECmGUKl-lGXEr5BLkh2enPJMpnHkA3P-Niof_i6AB0A,1926
221
232
  label_studio_sdk/types/user_simple.py,sha256=KfBGAEKWcJfoevRTCsrK1zYa81MXJcUf1IQ9p95nqVA,1333
222
233
  label_studio_sdk/types/view.py,sha256=zIlUL8kgko-Gjdijjzz9L_zgHJfRFSSHJUQIUaX6D4Y,1797
@@ -230,27 +241,29 @@ label_studio_sdk/users/types/__init__.py,sha256=piwIvEOYFNLlEeWae92M9zoJ-LX6-7C-
230
241
  label_studio_sdk/users/types/users_get_token_response.py,sha256=YIejH3pLDEX-t2VvNlFIYvHgsrjh1rWzYryJQV8o6Gk,1234
231
242
  label_studio_sdk/users/types/users_reset_token_response.py,sha256=UJ-3wToXII5gdPhvHH_NOyycAhBNq-zCKnIh0Xx2SGY,1235
232
243
  label_studio_sdk/version.py,sha256=Eku78MTxkaZ9PVTy-mNpvYkPrxl_z3iFk0EtJr4ESTM,84
233
- label_studio_sdk/views/__init__.py,sha256=Uk1XymsEilbfS_Rpg8t_iiPDAOMu0DnotdZNv_fuZTU,1311
244
+ label_studio_sdk/views/__init__.py,sha256=9NHVhlCYpt15V28_9bbrFIsoHy6R-JMXOKPn_EN-7Zs,1511
234
245
  label_studio_sdk/views/client.py,sha256=kmVD3MnfkVnCesncBeQsyNr07zY5PIKU3Ba14gCs9uU,18979
235
- label_studio_sdk/views/types/__init__.py,sha256=hnFtg6bC-Lpbqu9Ul0akQ4XR9ogIgypC8089P392v48,1994
246
+ label_studio_sdk/views/types/__init__.py,sha256=t92IO3Lva_n_LmODFE7FK4VBaFTgtJJdf5pPVa3YTLs,2312
236
247
  label_studio_sdk/views/types/views_create_request_data.py,sha256=6pvIRFJrvtYtaQMZP7bQ3hsEF6oSTgZE-jaR2Os-c_0,2068
237
248
  label_studio_sdk/views/types/views_create_request_data_filters.py,sha256=09RLdykGPKS13AXM8N1RJ9QVY7Lq0Ctvtw0mOqtaxRY,2173
238
249
  label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py,sha256=oAmyia_O5bN1oYIIctlXLuW9CkAXr8uZxGGtY-O522Q,177
239
- label_studio_sdk/views/types/views_create_request_data_filters_items_item.py,sha256=0SaS_ra2JIB1D5cRAS9RKnWxjcG9JR3FZ6bD9oGNcb8,5429
250
+ label_studio_sdk/views/types/views_create_request_data_filters_items_item.py,sha256=H5k5S2jjIy8GzMsN7EuK1U5svSgx4NVRRUCTbNZYVRs,5714
240
251
  label_studio_sdk/views/types/views_create_request_data_filters_items_item_filter.py,sha256=e1118ZrVc677US1CWIyVNL-JKveP7BWgvzVQ9E5E3ak,1037
241
252
  label_studio_sdk/views/types/views_create_request_data_filters_items_item_operator.py,sha256=t0gj-aTmFPmsd4Q7vA7GCkEY3ABX95Rq1rC9-0-So6I,474
253
+ label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py,sha256=gK6El_QQ08lsyZLUULkP4hRbU4HmKZ0A7xle5nHSVf0,192
242
254
  label_studio_sdk/views/types/views_create_request_data_ordering_item.py,sha256=vVlxUECgxTicZ5GkoOj90Wa1HL7LqBy8gTANo6iC3XU,873
243
255
  label_studio_sdk/views/types/views_update_request_data.py,sha256=JRZ35h6usprkIQSD-5KhC253lLLLBnO4Fx-juQ5IisI,2068
244
256
  label_studio_sdk/views/types/views_update_request_data_filters.py,sha256=05PoW8owGbdW08o7s_pLarxmYLDGTWvEmPgDz9SF-as,2173
245
257
  label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py,sha256=ilxbjT2_JkExn6ITSsqugnAw4kw38ihq1MZLh0aw9OI,177
246
- label_studio_sdk/views/types/views_update_request_data_filters_items_item.py,sha256=tj1um-plqYpKTwXSWH_hZl6wBNN5mIxwgqaS0kxTsSs,5429
258
+ label_studio_sdk/views/types/views_update_request_data_filters_items_item.py,sha256=KkrvMWDNHrH77QgTt9qqr0P291G2cpuXgrqIHkYc8P8,5714
247
259
  label_studio_sdk/views/types/views_update_request_data_filters_items_item_filter.py,sha256=76A7qVzjt5wtbhX2zch4AXbwtz-734NS3Im7Y7F_p6A,1037
248
260
  label_studio_sdk/views/types/views_update_request_data_filters_items_item_operator.py,sha256=TL_v2wADS00zfQdOvYAOksMCXKmooWP9qossf7MS44w,474
261
+ label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py,sha256=HGgu8yUBw08tkUuahsGOrCkdZYIjRfz3B_Hn-I53Tps,192
249
262
  label_studio_sdk/views/types/views_update_request_data_ordering_item.py,sha256=6TjHuKVqsCJ2SHWncUTVue182zx8a2ADu0_JOBSFaj4,873
250
263
  label_studio_sdk/webhooks/__init__.py,sha256=0DSbAQyqXqt6PKwuuIVD7omuduXEibruIm5h0_68EKk,165
251
264
  label_studio_sdk/webhooks/client.py,sha256=jAAN8y1f5uS4MjHV_TRFY2syHzHliqBx83s16hJg4ow,23277
252
265
  label_studio_sdk/webhooks/types/__init__.py,sha256=NAHGRDDJqPr2fve8K4XwAV8Dr-OfLPhGmamY_VCzSvk,196
253
266
  label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py,sha256=qBGwoU6G5uRwDGdJCXgqjJ2TzVLcak3sNObxMCgOjJg,517
254
- label_studio_sdk-1.0.1.dist-info/METADATA,sha256=GacPm9jxja9ZDJCXmnugdwPcnZm047pZhMxq2DmMrrg,4692
255
- label_studio_sdk-1.0.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
256
- label_studio_sdk-1.0.1.dist-info/RECORD,,
267
+ label_studio_sdk-1.0.3.dist-info/METADATA,sha256=nIiG3Tk3plo05bp7d2m6iuVZraez7mNlmYGPulGzqIM,5289
268
+ label_studio_sdk-1.0.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
269
+ label_studio_sdk-1.0.3.dist-info/RECORD,,