label-studio-sdk 2.0.11__py3-none-any.whl → 2.0.13__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.

Potentially problematic release.


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

Files changed (80) hide show
  1. label_studio_sdk/__init__.py +12 -8
  2. label_studio_sdk/actions/__init__.py +2 -0
  3. label_studio_sdk/actions/types/__init__.py +2 -0
  4. label_studio_sdk/actions/types/actions_list_response_item.py +2 -1
  5. label_studio_sdk/actions/types/actions_list_response_item_permission.py +5 -0
  6. label_studio_sdk/core/client_wrapper.py +6 -1
  7. label_studio_sdk/export_storage/azure/client.py +14 -10
  8. label_studio_sdk/export_storage/azure_spi/client.py +14 -10
  9. label_studio_sdk/export_storage/databricks/client.py +14 -10
  10. label_studio_sdk/export_storage/gcs/client.py +14 -10
  11. label_studio_sdk/export_storage/gcswif/client.py +14 -10
  12. label_studio_sdk/export_storage/local/client.py +14 -10
  13. label_studio_sdk/export_storage/redis/client.py +14 -10
  14. label_studio_sdk/export_storage/s3/client.py +14 -10
  15. label_studio_sdk/export_storage/s3s/client.py +14 -10
  16. label_studio_sdk/import_storage/azure/client.py +14 -10
  17. label_studio_sdk/import_storage/azure_spi/client.py +14 -10
  18. label_studio_sdk/import_storage/databricks/client.py +14 -10
  19. label_studio_sdk/import_storage/gcs/client.py +14 -10
  20. label_studio_sdk/import_storage/gcswif/client.py +14 -10
  21. label_studio_sdk/import_storage/local/client.py +14 -10
  22. label_studio_sdk/import_storage/redis/client.py +14 -10
  23. label_studio_sdk/import_storage/s3/client.py +14 -10
  24. label_studio_sdk/import_storage/s3s/client.py +14 -10
  25. label_studio_sdk/label_interface/control_tags.py +2 -1
  26. label_studio_sdk/organizations/__init__.py +1 -2
  27. label_studio_sdk/organizations/client.py +0 -36
  28. label_studio_sdk/organizations/permissions/client.py +32 -0
  29. label_studio_sdk/projects/__init__.py +18 -1
  30. label_studio_sdk/projects/client.py +8 -0
  31. label_studio_sdk/projects/members/client.py +137 -30
  32. label_studio_sdk/projects/metrics/custom/client.py +48 -0
  33. label_studio_sdk/projects/roles/__init__.py +2 -0
  34. label_studio_sdk/projects/roles/client.py +555 -0
  35. label_studio_sdk/projects/stats/__init__.py +16 -0
  36. label_studio_sdk/projects/stats/client.py +626 -0
  37. label_studio_sdk/projects/stats/types/__init__.py +22 -0
  38. label_studio_sdk/projects/stats/types/stats_agreement_annotators_response.py +22 -0
  39. label_studio_sdk/projects/stats/types/stats_users_ground_truth_agreement_response.py +27 -0
  40. label_studio_sdk/projects/stats/types/stats_users_ground_truth_agreement_response_agreement_value.py +5 -0
  41. label_studio_sdk/projects/stats/types/stats_users_prediction_agreement_response.py +27 -0
  42. label_studio_sdk/projects/stats/types/stats_users_prediction_agreement_response_agreement_value.py +5 -0
  43. label_studio_sdk/projects/stats/types/stats_users_review_score_response.py +35 -0
  44. label_studio_sdk/projects/stats/types/stats_users_review_score_response_performance_score_value.py +5 -0
  45. label_studio_sdk/projects/stats/types/stats_users_review_score_response_review_score_value.py +5 -0
  46. label_studio_sdk/prompts/versions/client.py +24 -0
  47. label_studio_sdk/tasks/client.py +10 -0
  48. label_studio_sdk/types/__init__.py +10 -6
  49. label_studio_sdk/types/activity_log.py +1 -0
  50. label_studio_sdk/types/all_roles_project_list.py +6 -2
  51. label_studio_sdk/types/billing_flags.py +1 -1
  52. label_studio_sdk/types/default_role.py +0 -9
  53. label_studio_sdk/types/import_api_request.py +5 -0
  54. label_studio_sdk/types/lse_organization.py +1 -10
  55. label_studio_sdk/types/lse_project.py +6 -6
  56. label_studio_sdk/types/lse_project_counts.py +1 -1
  57. label_studio_sdk/types/lse_project_create.py +5 -1
  58. label_studio_sdk/types/lse_project_response.py +5 -1
  59. label_studio_sdk/types/lse_project_update.py +5 -1
  60. label_studio_sdk/types/lse_task.py +5 -0
  61. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +5 -0
  62. label_studio_sdk/types/project.py +198 -0
  63. label_studio_sdk/types/project_member.py +19 -0
  64. label_studio_sdk/types/project_role.py +35 -0
  65. label_studio_sdk/types/project_sampling.py +7 -0
  66. label_studio_sdk/types/project_skip_queue.py +7 -0
  67. label_studio_sdk/versions/client.py +0 -12
  68. label_studio_sdk/workspaces/__init__.py +2 -2
  69. label_studio_sdk/workspaces/client.py +4 -0
  70. label_studio_sdk/workspaces/projects/__init__.py +2 -0
  71. label_studio_sdk/workspaces/projects/client.py +352 -0
  72. {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.13.dist-info}/METADATA +1 -1
  73. {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.13.dist-info}/RECORD +75 -62
  74. label_studio_sdk/organizations/types/__init__.py +0 -5
  75. label_studio_sdk/organizations/types/patched_default_role_request_custom_scripts_editable_by.py +0 -7
  76. label_studio_sdk/types/custom_scripts_editable_by_enum.py +0 -5
  77. label_studio_sdk/types/default_role_custom_scripts_editable_by.py +0 -7
  78. label_studio_sdk/types/lse_organization_custom_scripts_editable_by.py +0 -7
  79. {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.13.dist-info}/LICENSE +0 -0
  80. {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.13.dist-info}/WHEEL +0 -0
@@ -1,6 +1,7 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from .stats_agreement_annotator_response import StatsAgreementAnnotatorResponse
4
+ from .stats_agreement_annotators_response import StatsAgreementAnnotatorsResponse
4
5
  from .stats_data_filters_response import StatsDataFiltersResponse
5
6
  from .stats_data_filters_response_user_filters import StatsDataFiltersResponseUserFilters
6
7
  from .stats_data_filters_response_user_filters_stats_item import StatsDataFiltersResponseUserFiltersStatsItem
@@ -26,9 +27,23 @@ from .stats_user_prediction_agreement_response_average_prediction_agreement_per_
26
27
  from .stats_user_review_score_response import StatsUserReviewScoreResponse
27
28
  from .stats_user_review_score_response_performance_score import StatsUserReviewScoreResponsePerformanceScore
28
29
  from .stats_user_review_score_response_review_score import StatsUserReviewScoreResponseReviewScore
30
+ from .stats_users_ground_truth_agreement_response import StatsUsersGroundTruthAgreementResponse
31
+ from .stats_users_ground_truth_agreement_response_agreement_value import (
32
+ StatsUsersGroundTruthAgreementResponseAgreementValue,
33
+ )
34
+ from .stats_users_prediction_agreement_response import StatsUsersPredictionAgreementResponse
35
+ from .stats_users_prediction_agreement_response_agreement_value import (
36
+ StatsUsersPredictionAgreementResponseAgreementValue,
37
+ )
38
+ from .stats_users_review_score_response import StatsUsersReviewScoreResponse
39
+ from .stats_users_review_score_response_performance_score_value import (
40
+ StatsUsersReviewScoreResponsePerformanceScoreValue,
41
+ )
42
+ from .stats_users_review_score_response_review_score_value import StatsUsersReviewScoreResponseReviewScoreValue
29
43
 
30
44
  __all__ = [
31
45
  "StatsAgreementAnnotatorResponse",
46
+ "StatsAgreementAnnotatorsResponse",
32
47
  "StatsDataFiltersResponse",
33
48
  "StatsDataFiltersResponseUserFilters",
34
49
  "StatsDataFiltersResponseUserFiltersStatsItem",
@@ -52,4 +67,11 @@ __all__ = [
52
67
  "StatsUserReviewScoreResponse",
53
68
  "StatsUserReviewScoreResponsePerformanceScore",
54
69
  "StatsUserReviewScoreResponseReviewScore",
70
+ "StatsUsersGroundTruthAgreementResponse",
71
+ "StatsUsersGroundTruthAgreementResponseAgreementValue",
72
+ "StatsUsersPredictionAgreementResponse",
73
+ "StatsUsersPredictionAgreementResponseAgreementValue",
74
+ "StatsUsersReviewScoreResponse",
75
+ "StatsUsersReviewScoreResponsePerformanceScoreValue",
76
+ "StatsUsersReviewScoreResponseReviewScoreValue",
55
77
  ]
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ....core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class StatsAgreementAnnotatorsResponse(UncheckedBaseModel):
10
+ agreement: typing.Dict[str, float] = pydantic.Field()
11
+ """
12
+ Mapping of annotator ID to their agreement score (0-1) or null if no data
13
+ """
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ....core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .stats_users_ground_truth_agreement_response_agreement_value import (
6
+ StatsUsersGroundTruthAgreementResponseAgreementValue,
7
+ )
8
+ import pydantic
9
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
10
+
11
+
12
+ class StatsUsersGroundTruthAgreementResponse(UncheckedBaseModel):
13
+ agreement: typing.Optional[typing.Dict[str, StatsUsersGroundTruthAgreementResponseAgreementValue]] = pydantic.Field(
14
+ default=None
15
+ )
16
+ """
17
+ Dictionary mapping user IDs to their ground truth agreement scores
18
+ """
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ StatsUsersGroundTruthAgreementResponseAgreementValue = typing.Union[float, typing.Dict[str, float]]
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ....core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .stats_users_prediction_agreement_response_agreement_value import (
6
+ StatsUsersPredictionAgreementResponseAgreementValue,
7
+ )
8
+ import pydantic
9
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
10
+
11
+
12
+ class StatsUsersPredictionAgreementResponse(UncheckedBaseModel):
13
+ agreement: typing.Optional[typing.Dict[str, StatsUsersPredictionAgreementResponseAgreementValue]] = pydantic.Field(
14
+ default=None
15
+ )
16
+ """
17
+ Dictionary mapping user IDs to their prediction agreement scores
18
+ """
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ StatsUsersPredictionAgreementResponseAgreementValue = typing.Union[float, typing.Dict[str, float]]
@@ -0,0 +1,35 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ....core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .stats_users_review_score_response_performance_score_value import (
6
+ StatsUsersReviewScoreResponsePerformanceScoreValue,
7
+ )
8
+ import pydantic
9
+ from .stats_users_review_score_response_review_score_value import StatsUsersReviewScoreResponseReviewScoreValue
10
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
11
+
12
+
13
+ class StatsUsersReviewScoreResponse(UncheckedBaseModel):
14
+ performance_score: typing.Optional[typing.Dict[str, StatsUsersReviewScoreResponsePerformanceScoreValue]] = (
15
+ pydantic.Field(default=None)
16
+ )
17
+ """
18
+ Performance scores mapped by annotator ID
19
+ """
20
+
21
+ review_score: typing.Optional[typing.Dict[str, StatsUsersReviewScoreResponseReviewScoreValue]] = pydantic.Field(
22
+ default=None
23
+ )
24
+ """
25
+ Review scores mapped by annotator ID
26
+ """
27
+
28
+ if IS_PYDANTIC_V2:
29
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
30
+ else:
31
+
32
+ class Config:
33
+ frozen = True
34
+ smart_union = True
35
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ StatsUsersReviewScoreResponsePerformanceScoreValue = typing.Union[float, typing.Dict[str, float]]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ StatsUsersReviewScoreResponseReviewScoreValue = typing.Union[float, typing.Dict[str, float]]
@@ -515,6 +515,12 @@ class VersionsClient:
515
515
  request_options: typing.Optional[RequestOptions] = None,
516
516
  ) -> RefinedPromptResponse:
517
517
  """
518
+ <Card href="https://humansignal.com/goenterprise">
519
+ <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
520
+ <p style="margin-top: 10px; font-size: 14px;">
521
+ This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
522
+ </p>
523
+ </Card>
518
524
  Get the refined prompt based on the `refinement_job_id`.
519
525
 
520
526
  Parameters
@@ -580,6 +586,12 @@ class VersionsClient:
580
586
  request_options: typing.Optional[RequestOptions] = None,
581
587
  ) -> RefinedPromptResponse:
582
588
  """
589
+ <Card href="https://humansignal.com/goenterprise">
590
+ <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
591
+ <p style="margin-top: 10px; font-size: 14px;">
592
+ This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
593
+ </p>
594
+ </Card>
583
595
  Refine a prompt version using a teacher model and save the refined prompt as a new version.
584
596
 
585
597
  Parameters
@@ -1211,6 +1223,12 @@ class AsyncVersionsClient:
1211
1223
  request_options: typing.Optional[RequestOptions] = None,
1212
1224
  ) -> RefinedPromptResponse:
1213
1225
  """
1226
+ <Card href="https://humansignal.com/goenterprise">
1227
+ <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
1228
+ <p style="margin-top: 10px; font-size: 14px;">
1229
+ This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
1230
+ </p>
1231
+ </Card>
1214
1232
  Get the refined prompt based on the `refinement_job_id`.
1215
1233
 
1216
1234
  Parameters
@@ -1284,6 +1302,12 @@ class AsyncVersionsClient:
1284
1302
  request_options: typing.Optional[RequestOptions] = None,
1285
1303
  ) -> RefinedPromptResponse:
1286
1304
  """
1305
+ <Card href="https://humansignal.com/goenterprise">
1306
+ <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
1307
+ <p style="margin-top: 10px; font-size: 14px;">
1308
+ This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
1309
+ </p>
1310
+ </Card>
1287
1311
  Refine a prompt version using a teacher model and save the refined prompt as a new version.
1288
1312
 
1289
1313
  Parameters
@@ -519,6 +519,7 @@ class TasksClient:
519
519
  last_comment_updated_at: typing.Optional[dt.datetime] = OMIT,
520
520
  meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
521
521
  overlap: typing.Optional[int] = OMIT,
522
+ precomputed_agreement: typing.Optional[float] = OMIT,
522
523
  predictions_score: typing.Optional[float] = OMIT,
523
524
  project: typing.Optional[int] = OMIT,
524
525
  reviewed: typing.Optional[bool] = OMIT,
@@ -565,6 +566,9 @@ class TasksClient:
565
566
  overlap : typing.Optional[int]
566
567
  Number of distinct annotators that processed the current task
567
568
 
569
+ precomputed_agreement : typing.Optional[float]
570
+ Average agreement score for the task
571
+
568
572
  predictions_score : typing.Optional[float]
569
573
 
570
574
  project : typing.Optional[int]
@@ -618,6 +622,7 @@ class TasksClient:
618
622
  "last_comment_updated_at": last_comment_updated_at,
619
623
  "meta": meta,
620
624
  "overlap": overlap,
625
+ "precomputed_agreement": precomputed_agreement,
621
626
  "predictions_score": predictions_score,
622
627
  "project": project,
623
628
  "reviewed": reviewed,
@@ -1373,6 +1378,7 @@ class AsyncTasksClient:
1373
1378
  last_comment_updated_at: typing.Optional[dt.datetime] = OMIT,
1374
1379
  meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
1375
1380
  overlap: typing.Optional[int] = OMIT,
1381
+ precomputed_agreement: typing.Optional[float] = OMIT,
1376
1382
  predictions_score: typing.Optional[float] = OMIT,
1377
1383
  project: typing.Optional[int] = OMIT,
1378
1384
  reviewed: typing.Optional[bool] = OMIT,
@@ -1419,6 +1425,9 @@ class AsyncTasksClient:
1419
1425
  overlap : typing.Optional[int]
1420
1426
  Number of distinct annotators that processed the current task
1421
1427
 
1428
+ precomputed_agreement : typing.Optional[float]
1429
+ Average agreement score for the task
1430
+
1422
1431
  predictions_score : typing.Optional[float]
1423
1432
 
1424
1433
  project : typing.Optional[int]
@@ -1480,6 +1489,7 @@ class AsyncTasksClient:
1480
1489
  "last_comment_updated_at": last_comment_updated_at,
1481
1490
  "meta": meta,
1482
1491
  "overlap": overlap,
1492
+ "precomputed_agreement": precomputed_agreement,
1483
1493
  "predictions_score": predictions_score,
1484
1494
  "project": project,
1485
1495
  "reviewed": reviewed,
@@ -47,14 +47,12 @@ from .configurable_permission_option import ConfigurablePermissionOption
47
47
  from .converted_format import ConvertedFormat
48
48
  from .converted_format_request import ConvertedFormatRequest
49
49
  from .count_limit import CountLimit
50
- from .custom_scripts_editable_by_enum import CustomScriptsEditableByEnum
51
50
  from .databricks_export_storage import DatabricksExportStorage
52
51
  from .databricks_export_storage_request import DatabricksExportStorageRequest
53
52
  from .databricks_import_storage import DatabricksImportStorage
54
53
  from .databricks_import_storage_request import DatabricksImportStorageRequest
55
54
  from .default165enum import Default165Enum
56
55
  from .default_role import DefaultRole
57
- from .default_role_custom_scripts_editable_by import DefaultRoleCustomScriptsEditableBy
58
56
  from .edition_enum import EditionEnum
59
57
  from .export import Export
60
58
  from .file_upload import FileUpload
@@ -84,7 +82,6 @@ from .lse_fields_onboarding_state import LseFieldsOnboardingState
84
82
  from .lse_fields_trial_role import LseFieldsTrialRole
85
83
  from .lse_key_indicator_value import LseKeyIndicatorValue
86
84
  from .lse_organization import LseOrganization
87
- from .lse_organization_custom_scripts_editable_by import LseOrganizationCustomScriptsEditableBy
88
85
  from .lse_organization_member_list import LseOrganizationMemberList
89
86
  from .lse_project import LseProject
90
87
  from .lse_project_counts import LseProjectCounts
@@ -163,13 +160,18 @@ from .pause import Pause
163
160
  from .pause_request import PauseRequest
164
161
  from .prediction import Prediction
165
162
  from .prediction_request import PredictionRequest
163
+ from .project import Project
166
164
  from .project_group import ProjectGroup
167
165
  from .project_group_request import ProjectGroupRequest
168
166
  from .project_group_role_enum import ProjectGroupRoleEnum
169
167
  from .project_import import ProjectImport
170
168
  from .project_label_config import ProjectLabelConfig
171
169
  from .project_label_config_request import ProjectLabelConfigRequest
170
+ from .project_member import ProjectMember
172
171
  from .project_member_bulk_assign_roles_request import ProjectMemberBulkAssignRolesRequest
172
+ from .project_role import ProjectRole
173
+ from .project_sampling import ProjectSampling
174
+ from .project_skip_queue import ProjectSkipQueue
173
175
  from .project_subset_enum import ProjectSubsetEnum
174
176
  from .project_subset_item import ProjectSubsetItem
175
177
  from .project_subset_task_item import ProjectSubsetTaskItem
@@ -284,14 +286,12 @@ __all__ = [
284
286
  "ConvertedFormat",
285
287
  "ConvertedFormatRequest",
286
288
  "CountLimit",
287
- "CustomScriptsEditableByEnum",
288
289
  "DatabricksExportStorage",
289
290
  "DatabricksExportStorageRequest",
290
291
  "DatabricksImportStorage",
291
292
  "DatabricksImportStorageRequest",
292
293
  "Default165Enum",
293
294
  "DefaultRole",
294
- "DefaultRoleCustomScriptsEditableBy",
295
295
  "EditionEnum",
296
296
  "Export",
297
297
  "FileUpload",
@@ -321,7 +321,6 @@ __all__ = [
321
321
  "LseFieldsTrialRole",
322
322
  "LseKeyIndicatorValue",
323
323
  "LseOrganization",
324
- "LseOrganizationCustomScriptsEditableBy",
325
324
  "LseOrganizationMemberList",
326
325
  "LseProject",
327
326
  "LseProjectCounts",
@@ -400,13 +399,18 @@ __all__ = [
400
399
  "PauseRequest",
401
400
  "Prediction",
402
401
  "PredictionRequest",
402
+ "Project",
403
403
  "ProjectGroup",
404
404
  "ProjectGroupRequest",
405
405
  "ProjectGroupRoleEnum",
406
406
  "ProjectImport",
407
407
  "ProjectLabelConfig",
408
408
  "ProjectLabelConfigRequest",
409
+ "ProjectMember",
409
410
  "ProjectMemberBulkAssignRolesRequest",
411
+ "ProjectRole",
412
+ "ProjectSampling",
413
+ "ProjectSkipQueue",
410
414
  "ProjectSubsetEnum",
411
415
  "ProjectSubsetItem",
412
416
  "ProjectSubsetTaskItem",
@@ -34,6 +34,7 @@ class ActivityLog(UncheckedBaseModel):
34
34
  response_code: str
35
35
  user_agent: typing.Optional[str] = None
36
36
  user_id: int
37
+ user_session: typing.Optional[str] = None
37
38
  workspace_owner_id: typing.Optional[int] = pydantic.Field(default=None)
38
39
  """
39
40
  Owner id of workspace where action performed
@@ -114,7 +114,7 @@ class AllRolesProjectList(UncheckedBaseModel):
114
114
  Machine learning model version
115
115
  """
116
116
 
117
- num_tasks_with_annotations: int
117
+ num_tasks_with_annotations: typing.Optional[int] = None
118
118
  organization: typing.Optional[int] = None
119
119
  overlap_cohort_percentage: typing.Optional[int] = None
120
120
  parsed_label_config: typing.Optional[typing.Any] = None
@@ -151,7 +151,11 @@ class AllRolesProjectList(UncheckedBaseModel):
151
151
  If set, the annotator can view model predictions
152
152
  """
153
153
 
154
- show_ground_truth_first: typing.Optional[bool] = None
154
+ show_ground_truth_first: typing.Optional[bool] = pydantic.Field(default=None)
155
+ """
156
+ Onboarding mode (true): show ground truth tasks first in the labeling stream
157
+ """
158
+
155
159
  show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
156
160
  """
157
161
  Show instructions to the annotator before they start
@@ -15,6 +15,7 @@ class BillingFlags(UncheckedBaseModel):
15
15
  allow_data_credentials: bool
16
16
  allow_invite_people: bool
17
17
  allow_invite_project_experts: bool
18
+ allow_nda: bool
18
19
  allow_organization_webhooks: bool
19
20
  allow_sso: bool
20
21
  allow_storage_proxy: bool
@@ -27,7 +28,6 @@ class BillingFlags(UncheckedBaseModel):
27
28
  embed_domains: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
28
29
  embed_enabled: bool
29
30
  embed_settings: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
30
- hide_storage_settings_for_manager: bool
31
31
  manual_role_management: bool
32
32
  manual_workspace_management: bool
33
33
  secure_mode: bool
@@ -4,7 +4,6 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import datetime as dt
6
6
  import pydantic
7
- from .default_role_custom_scripts_editable_by import DefaultRoleCustomScriptsEditableBy
8
7
  from .role9e7enum import Role9E7Enum
9
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
9
 
@@ -15,14 +14,6 @@ class DefaultRole(UncheckedBaseModel):
15
14
  Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI.
16
15
  """
17
16
 
18
- custom_scripts_editable_by: typing.Optional[DefaultRoleCustomScriptsEditableBy] = pydantic.Field(default=None)
19
- """
20
- Set the minimum user role that can edit custom scripts (Plugins) in the UI.
21
-
22
- * `AD` - Administrator
23
- * `MA` - Manager
24
- """
25
-
26
17
  custom_scripts_enabled_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
27
18
  """
28
19
  Set to current time to enable custom scripts (Plugins) for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts (Plugins).
@@ -52,6 +52,11 @@ class ImportApiRequest(UncheckedBaseModel):
52
52
  Number of distinct annotators that processed the current task
53
53
  """
54
54
 
55
+ precomputed_agreement: typing.Optional[float] = pydantic.Field(default=None)
56
+ """
57
+ Average agreement score for the task
58
+ """
59
+
55
60
  predictions: typing.Optional[typing.List[PredictionRequest]] = None
56
61
  total_annotations: typing.Optional[int] = pydantic.Field(default=None)
57
62
  """
@@ -4,23 +4,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  from .organization_billing import OrganizationBilling
5
5
  import datetime as dt
6
6
  import typing
7
- from .lse_organization_custom_scripts_editable_by import LseOrganizationCustomScriptsEditableBy
8
- import pydantic
9
7
  from .role9e7enum import Role9E7Enum
8
+ import pydantic
10
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
10
 
12
11
 
13
12
  class LseOrganization(UncheckedBaseModel):
14
13
  billing: OrganizationBilling
15
14
  created_at: dt.datetime
16
- custom_scripts_editable_by: typing.Optional[LseOrganizationCustomScriptsEditableBy] = pydantic.Field(default=None)
17
- """
18
- Set the minimum user role that can edit custom scripts (Plugins) in the UI.
19
-
20
- * `AD` - Administrator
21
- * `MA` - Manager
22
- """
23
-
24
15
  custom_scripts_enabled: str
25
16
  default_role: typing.Optional[Role9E7Enum] = pydantic.Field(default=None)
26
17
  """
@@ -114,11 +114,7 @@ class LseProject(UncheckedBaseModel):
114
114
  Machine learning model version
115
115
  """
116
116
 
117
- num_tasks_with_annotations: int = pydantic.Field()
118
- """
119
- Tasks with annotations count
120
- """
121
-
117
+ num_tasks_with_annotations: typing.Optional[int] = None
122
118
  organization: typing.Optional[int] = None
123
119
  overlap_cohort_percentage: typing.Optional[int] = None
124
120
  parsed_label_config: typing.Optional[typing.Any] = None
@@ -151,7 +147,11 @@ class LseProject(UncheckedBaseModel):
151
147
  If set, the annotator can view model predictions
152
148
  """
153
149
 
154
- show_ground_truth_first: typing.Optional[bool] = None
150
+ show_ground_truth_first: typing.Optional[bool] = pydantic.Field(default=None)
151
+ """
152
+ Onboarding mode (true): show ground truth tasks first in the labeling stream
153
+ """
154
+
155
155
  show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
156
156
  """
157
157
  Show instructions to the annotator before they start
@@ -19,7 +19,7 @@ class LseProjectCounts(UncheckedBaseModel):
19
19
  """
20
20
 
21
21
  id: int
22
- num_tasks_with_annotations: int
22
+ num_tasks_with_annotations: typing.Optional[int] = None
23
23
  queue_done: int
24
24
  queue_left: int
25
25
  queue_total: str
@@ -126,7 +126,11 @@ class LseProjectCreate(UncheckedBaseModel):
126
126
  If set, the annotator can view model predictions
127
127
  """
128
128
 
129
- show_ground_truth_first: typing.Optional[bool] = None
129
+ show_ground_truth_first: typing.Optional[bool] = pydantic.Field(default=None)
130
+ """
131
+ Onboarding mode (true): show ground truth tasks first in the labeling stream
132
+ """
133
+
130
134
  show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
131
135
  """
132
136
  Show instructions to the annotator before they start
@@ -151,7 +151,11 @@ class LseProjectResponse(UncheckedBaseModel):
151
151
  If set, the annotator can view model predictions
152
152
  """
153
153
 
154
- show_ground_truth_first: typing.Optional[bool] = None
154
+ show_ground_truth_first: typing.Optional[bool] = pydantic.Field(default=None)
155
+ """
156
+ Onboarding mode (true): show ground truth tasks first in the labeling stream
157
+ """
158
+
155
159
  show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
156
160
  """
157
161
  Show instructions to the annotator before they start
@@ -144,7 +144,11 @@ class LseProjectUpdate(UncheckedBaseModel):
144
144
  If set, the annotator can view model predictions
145
145
  """
146
146
 
147
- show_ground_truth_first: typing.Optional[bool] = None
147
+ show_ground_truth_first: typing.Optional[bool] = pydantic.Field(default=None)
148
+ """
149
+ Onboarding mode (true): show ground truth tasks first in the labeling stream
150
+ """
151
+
148
152
  show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
149
153
  """
150
154
  Show instructions to the annotator before they start
@@ -72,6 +72,11 @@ class LseTask(UncheckedBaseModel):
72
72
  Number of distinct annotators that processed the current task
73
73
  """
74
74
 
75
+ precomputed_agreement: typing.Optional[float] = pydantic.Field(default=None)
76
+ """
77
+ Average agreement score for the task
78
+ """
79
+
75
80
  predictions: typing.List[LseTaskPredictionsItem] = pydantic.Field()
76
81
  """
77
82
  Predictions for this task
@@ -72,6 +72,11 @@ class LseTaskSerializerForReviewers(UncheckedBaseModel):
72
72
  Number of distinct annotators that processed the current task
73
73
  """
74
74
 
75
+ precomputed_agreement: typing.Optional[float] = pydantic.Field(default=None)
76
+ """
77
+ Average agreement score for the task
78
+ """
79
+
75
80
  predictions: typing.List[LseTaskSerializerForReviewersPredictionsItem] = pydantic.Field()
76
81
  """
77
82
  Predictions for this task