label-studio-sdk 2.0.11__py3-none-any.whl → 2.0.12__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.
- label_studio_sdk/__init__.py +10 -0
- label_studio_sdk/projects/__init__.py +8 -1
- label_studio_sdk/projects/client.py +8 -0
- label_studio_sdk/projects/members/client.py +137 -30
- label_studio_sdk/projects/roles/__init__.py +2 -0
- label_studio_sdk/projects/roles/client.py +555 -0
- label_studio_sdk/projects/stats/__init__.py +6 -0
- label_studio_sdk/projects/stats/client.py +280 -0
- label_studio_sdk/projects/stats/types/__init__.py +8 -0
- label_studio_sdk/projects/stats/types/stats_agreement_annotators_response.py +22 -0
- label_studio_sdk/projects/stats/types/stats_users_prediction_agreement_response.py +27 -0
- label_studio_sdk/projects/stats/types/stats_users_prediction_agreement_response_agreement_value.py +5 -0
- label_studio_sdk/types/__init__.py +10 -0
- label_studio_sdk/types/all_roles_project_list.py +5 -1
- label_studio_sdk/types/lse_project.py +5 -1
- label_studio_sdk/types/lse_project_create.py +5 -1
- label_studio_sdk/types/lse_project_response.py +5 -1
- label_studio_sdk/types/lse_project_update.py +5 -1
- label_studio_sdk/types/project.py +198 -0
- label_studio_sdk/types/project_member.py +19 -0
- label_studio_sdk/types/project_role.py +35 -0
- label_studio_sdk/types/project_sampling.py +7 -0
- label_studio_sdk/types/project_skip_queue.py +7 -0
- label_studio_sdk/workspaces/__init__.py +2 -2
- label_studio_sdk/workspaces/client.py +4 -0
- label_studio_sdk/workspaces/projects/__init__.py +2 -0
- label_studio_sdk/workspaces/projects/client.py +352 -0
- {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.12.dist-info}/METADATA +1 -1
- {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.12.dist-info}/RECORD +31 -19
- {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.12.dist-info}/LICENSE +0 -0
- {label_studio_sdk-2.0.11.dist-info → label_studio_sdk-2.0.12.dist-info}/WHEEL +0 -0
|
@@ -12,10 +12,12 @@ from .types.stats_model_version_ground_truth_agreement_response import StatsMode
|
|
|
12
12
|
from .types.stats_model_version_prediction_agreement_response import StatsModelVersionPredictionAgreementResponse
|
|
13
13
|
from .types.stats_iaa_response import StatsIaaResponse
|
|
14
14
|
from .types.stats_agreement_annotator_response import StatsAgreementAnnotatorResponse
|
|
15
|
+
from .types.stats_agreement_annotators_response import StatsAgreementAnnotatorsResponse
|
|
15
16
|
from .types.stats_data_filters_response import StatsDataFiltersResponse
|
|
16
17
|
from .types.stats_finished_tasks_response import StatsFinishedTasksResponse
|
|
17
18
|
from .types.stats_lead_time_response import StatsLeadTimeResponse
|
|
18
19
|
from .types.stats_total_agreement_response import StatsTotalAgreementResponse
|
|
20
|
+
from .types.stats_users_prediction_agreement_response import StatsUsersPredictionAgreementResponse
|
|
19
21
|
from .types.stats_user_prediction_agreement_response import StatsUserPredictionAgreementResponse
|
|
20
22
|
from .types.stats_user_review_score_response import StatsUserReviewScoreResponse
|
|
21
23
|
from .types.stats_user_ground_truth_agreement_response import StatsUserGroundTruthAgreementResponse
|
|
@@ -355,6 +357,67 @@ class StatsClient:
|
|
|
355
357
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
356
358
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
357
359
|
|
|
360
|
+
def agreement_annotators(
|
|
361
|
+
self, id: int, *, ids: str, request_options: typing.Optional[RequestOptions] = None
|
|
362
|
+
) -> StatsAgreementAnnotatorsResponse:
|
|
363
|
+
"""
|
|
364
|
+
<Card href="https://humansignal.com/goenterprise">
|
|
365
|
+
<img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
|
|
366
|
+
<p style="margin-top: 10px; font-size: 14px;">
|
|
367
|
+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
|
|
368
|
+
</p>
|
|
369
|
+
</Card>
|
|
370
|
+
Get agreement statistics for multiple annotators within a project.
|
|
371
|
+
|
|
372
|
+
Parameters
|
|
373
|
+
----------
|
|
374
|
+
id : int
|
|
375
|
+
|
|
376
|
+
ids : str
|
|
377
|
+
Comma separated list of annotator user IDs to get agreement scores for
|
|
378
|
+
|
|
379
|
+
request_options : typing.Optional[RequestOptions]
|
|
380
|
+
Request-specific configuration.
|
|
381
|
+
|
|
382
|
+
Returns
|
|
383
|
+
-------
|
|
384
|
+
StatsAgreementAnnotatorsResponse
|
|
385
|
+
Multiple annotator agreement statistics
|
|
386
|
+
|
|
387
|
+
Examples
|
|
388
|
+
--------
|
|
389
|
+
from label_studio_sdk import LabelStudio
|
|
390
|
+
|
|
391
|
+
client = LabelStudio(
|
|
392
|
+
api_key="YOUR_API_KEY",
|
|
393
|
+
)
|
|
394
|
+
client.projects.stats.agreement_annotators(
|
|
395
|
+
id=1,
|
|
396
|
+
ids="ids",
|
|
397
|
+
)
|
|
398
|
+
"""
|
|
399
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
400
|
+
f"api/projects/{jsonable_encoder(id)}/stats/agreement_annotators",
|
|
401
|
+
method="GET",
|
|
402
|
+
params={
|
|
403
|
+
"ids": ids,
|
|
404
|
+
},
|
|
405
|
+
request_options=request_options,
|
|
406
|
+
)
|
|
407
|
+
try:
|
|
408
|
+
if 200 <= _response.status_code < 300:
|
|
409
|
+
return typing.cast(
|
|
410
|
+
StatsAgreementAnnotatorsResponse,
|
|
411
|
+
construct_type(
|
|
412
|
+
type_=StatsAgreementAnnotatorsResponse, # type: ignore
|
|
413
|
+
object_=_response.json(),
|
|
414
|
+
),
|
|
415
|
+
)
|
|
416
|
+
_response_json = _response.json()
|
|
417
|
+
except JSONDecodeError:
|
|
418
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
419
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
420
|
+
|
|
358
421
|
def data_filters(
|
|
359
422
|
self, id: int, *, request_options: typing.Optional[RequestOptions] = None
|
|
360
423
|
) -> StatsDataFiltersResponse:
|
|
@@ -627,6 +690,76 @@ class StatsClient:
|
|
|
627
690
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
628
691
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
629
692
|
|
|
693
|
+
def users_prediction_agreement(
|
|
694
|
+
self,
|
|
695
|
+
id: int,
|
|
696
|
+
*,
|
|
697
|
+
ids: str,
|
|
698
|
+
per_label: typing.Optional[bool] = None,
|
|
699
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
700
|
+
) -> StatsUsersPredictionAgreementResponse:
|
|
701
|
+
"""
|
|
702
|
+
<Card href="https://humansignal.com/goenterprise">
|
|
703
|
+
<img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
|
|
704
|
+
<p style="margin-top: 10px; font-size: 14px;">
|
|
705
|
+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
|
|
706
|
+
</p>
|
|
707
|
+
</Card>
|
|
708
|
+
Get prediction agreement statistics for multiple annotators within a project.
|
|
709
|
+
|
|
710
|
+
Parameters
|
|
711
|
+
----------
|
|
712
|
+
id : int
|
|
713
|
+
|
|
714
|
+
ids : str
|
|
715
|
+
Comma separated list of annotator user IDs to get agreement scores for
|
|
716
|
+
|
|
717
|
+
per_label : typing.Optional[bool]
|
|
718
|
+
Per label
|
|
719
|
+
|
|
720
|
+
request_options : typing.Optional[RequestOptions]
|
|
721
|
+
Request-specific configuration.
|
|
722
|
+
|
|
723
|
+
Returns
|
|
724
|
+
-------
|
|
725
|
+
StatsUsersPredictionAgreementResponse
|
|
726
|
+
Prediction agreement statistics for multiple annotators
|
|
727
|
+
|
|
728
|
+
Examples
|
|
729
|
+
--------
|
|
730
|
+
from label_studio_sdk import LabelStudio
|
|
731
|
+
|
|
732
|
+
client = LabelStudio(
|
|
733
|
+
api_key="YOUR_API_KEY",
|
|
734
|
+
)
|
|
735
|
+
client.projects.stats.users_prediction_agreement(
|
|
736
|
+
id=1,
|
|
737
|
+
ids="ids",
|
|
738
|
+
)
|
|
739
|
+
"""
|
|
740
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
741
|
+
f"api/projects/{jsonable_encoder(id)}/user-stats/prediction",
|
|
742
|
+
method="GET",
|
|
743
|
+
params={
|
|
744
|
+
"ids": ids,
|
|
745
|
+
"per_label": per_label,
|
|
746
|
+
},
|
|
747
|
+
request_options=request_options,
|
|
748
|
+
)
|
|
749
|
+
try:
|
|
750
|
+
if 200 <= _response.status_code < 300:
|
|
751
|
+
return typing.cast(
|
|
752
|
+
StatsUsersPredictionAgreementResponse,
|
|
753
|
+
construct_type(
|
|
754
|
+
type_=StatsUsersPredictionAgreementResponse, # type: ignore
|
|
755
|
+
object_=_response.json(),
|
|
756
|
+
),
|
|
757
|
+
)
|
|
758
|
+
_response_json = _response.json()
|
|
759
|
+
except JSONDecodeError:
|
|
760
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
761
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
762
|
+
|
|
630
763
|
def user_prediction_agreement(
|
|
631
764
|
self,
|
|
632
765
|
id: int,
|
|
@@ -1205,6 +1338,75 @@ class AsyncStatsClient:
|
|
|
1205
1338
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1206
1339
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1207
1340
|
|
|
1341
|
+
async def agreement_annotators(
|
|
1342
|
+
self, id: int, *, ids: str, request_options: typing.Optional[RequestOptions] = None
|
|
1343
|
+
) -> StatsAgreementAnnotatorsResponse:
|
|
1344
|
+
"""
|
|
1345
|
+
<Card href="https://humansignal.com/goenterprise">
|
|
1346
|
+
<img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
|
|
1347
|
+
<p style="margin-top: 10px; font-size: 14px;">
|
|
1348
|
+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
|
|
1349
|
+
</p>
|
|
1350
|
+
</Card>
|
|
1351
|
+
Get agreement statistics for multiple annotators within a project.
|
|
1352
|
+
|
|
1353
|
+
Parameters
|
|
1354
|
+
----------
|
|
1355
|
+
id : int
|
|
1356
|
+
|
|
1357
|
+
ids : str
|
|
1358
|
+
Comma separated list of annotator user IDs to get agreement scores for
|
|
1359
|
+
|
|
1360
|
+
request_options : typing.Optional[RequestOptions]
|
|
1361
|
+
Request-specific configuration.
|
|
1362
|
+
|
|
1363
|
+
Returns
|
|
1364
|
+
-------
|
|
1365
|
+
StatsAgreementAnnotatorsResponse
|
|
1366
|
+
Multiple annotator agreement statistics
|
|
1367
|
+
|
|
1368
|
+
Examples
|
|
1369
|
+
--------
|
|
1370
|
+
import asyncio
|
|
1371
|
+
|
|
1372
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
1373
|
+
|
|
1374
|
+
client = AsyncLabelStudio(
|
|
1375
|
+
api_key="YOUR_API_KEY",
|
|
1376
|
+
)
|
|
1377
|
+
|
|
1378
|
+
|
|
1379
|
+
async def main() -> None:
|
|
1380
|
+
await client.projects.stats.agreement_annotators(
|
|
1381
|
+
id=1,
|
|
1382
|
+
ids="ids",
|
|
1383
|
+
)
|
|
1384
|
+
|
|
1385
|
+
|
|
1386
|
+
asyncio.run(main())
|
|
1387
|
+
"""
|
|
1388
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1389
|
+
f"api/projects/{jsonable_encoder(id)}/stats/agreement_annotators",
|
|
1390
|
+
method="GET",
|
|
1391
|
+
params={
|
|
1392
|
+
"ids": ids,
|
|
1393
|
+
},
|
|
1394
|
+
request_options=request_options,
|
|
1395
|
+
)
|
|
1396
|
+
try:
|
|
1397
|
+
if 200 <= _response.status_code < 300:
|
|
1398
|
+
return typing.cast(
|
|
1399
|
+
StatsAgreementAnnotatorsResponse,
|
|
1400
|
+
construct_type(
|
|
1401
|
+
type_=StatsAgreementAnnotatorsResponse, # type: ignore
|
|
1402
|
+
object_=_response.json(),
|
|
1403
|
+
),
|
|
1404
|
+
)
|
|
1405
|
+
_response_json = _response.json()
|
|
1406
|
+
except JSONDecodeError:
|
|
1407
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1408
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1409
|
+
|
|
1208
1410
|
async def data_filters(
|
|
1209
1411
|
self, id: int, *, request_options: typing.Optional[RequestOptions] = None
|
|
1210
1412
|
) -> StatsDataFiltersResponse:
|
|
@@ -1519,6 +1721,84 @@ class AsyncStatsClient:
|
|
|
1519
1721
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1520
1722
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1521
1723
|
|
|
1724
|
+
async def users_prediction_agreement(
|
|
1725
|
+
self,
|
|
1726
|
+
id: int,
|
|
1727
|
+
*,
|
|
1728
|
+
ids: str,
|
|
1729
|
+
per_label: typing.Optional[bool] = None,
|
|
1730
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
1731
|
+
) -> StatsUsersPredictionAgreementResponse:
|
|
1732
|
+
"""
|
|
1733
|
+
<Card href="https://humansignal.com/goenterprise">
|
|
1734
|
+
<img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
|
|
1735
|
+
<p style="margin-top: 10px; font-size: 14px;">
|
|
1736
|
+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
|
|
1737
|
+
</p>
|
|
1738
|
+
</Card>
|
|
1739
|
+
Get prediction agreement statistics for multiple annotators within a project.
|
|
1740
|
+
|
|
1741
|
+
Parameters
|
|
1742
|
+
----------
|
|
1743
|
+
id : int
|
|
1744
|
+
|
|
1745
|
+
ids : str
|
|
1746
|
+
Comma separated list of annotator user IDs to get agreement scores for
|
|
1747
|
+
|
|
1748
|
+
per_label : typing.Optional[bool]
|
|
1749
|
+
Per label
|
|
1750
|
+
|
|
1751
|
+
request_options : typing.Optional[RequestOptions]
|
|
1752
|
+
Request-specific configuration.
|
|
1753
|
+
|
|
1754
|
+
Returns
|
|
1755
|
+
-------
|
|
1756
|
+
StatsUsersPredictionAgreementResponse
|
|
1757
|
+
Prediction agreement statistics for multiple annotators
|
|
1758
|
+
|
|
1759
|
+
Examples
|
|
1760
|
+
--------
|
|
1761
|
+
import asyncio
|
|
1762
|
+
|
|
1763
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
1764
|
+
|
|
1765
|
+
client = AsyncLabelStudio(
|
|
1766
|
+
api_key="YOUR_API_KEY",
|
|
1767
|
+
)
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
async def main() -> None:
|
|
1771
|
+
await client.projects.stats.users_prediction_agreement(
|
|
1772
|
+
id=1,
|
|
1773
|
+
ids="ids",
|
|
1774
|
+
)
|
|
1775
|
+
|
|
1776
|
+
|
|
1777
|
+
asyncio.run(main())
|
|
1778
|
+
"""
|
|
1779
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1780
|
+
f"api/projects/{jsonable_encoder(id)}/user-stats/prediction",
|
|
1781
|
+
method="GET",
|
|
1782
|
+
params={
|
|
1783
|
+
"ids": ids,
|
|
1784
|
+
"per_label": per_label,
|
|
1785
|
+
},
|
|
1786
|
+
request_options=request_options,
|
|
1787
|
+
)
|
|
1788
|
+
try:
|
|
1789
|
+
if 200 <= _response.status_code < 300:
|
|
1790
|
+
return typing.cast(
|
|
1791
|
+
StatsUsersPredictionAgreementResponse,
|
|
1792
|
+
construct_type(
|
|
1793
|
+
type_=StatsUsersPredictionAgreementResponse, # type: ignore
|
|
1794
|
+
object_=_response.json(),
|
|
1795
|
+
),
|
|
1796
|
+
)
|
|
1797
|
+
_response_json = _response.json()
|
|
1798
|
+
except JSONDecodeError:
|
|
1799
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1800
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1801
|
+
|
|
1522
1802
|
async def user_prediction_agreement(
|
|
1523
1803
|
self,
|
|
1524
1804
|
id: int,
|
|
@@ -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,14 @@ 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_prediction_agreement_response import StatsUsersPredictionAgreementResponse
|
|
31
|
+
from .stats_users_prediction_agreement_response_agreement_value import (
|
|
32
|
+
StatsUsersPredictionAgreementResponseAgreementValue,
|
|
33
|
+
)
|
|
29
34
|
|
|
30
35
|
__all__ = [
|
|
31
36
|
"StatsAgreementAnnotatorResponse",
|
|
37
|
+
"StatsAgreementAnnotatorsResponse",
|
|
32
38
|
"StatsDataFiltersResponse",
|
|
33
39
|
"StatsDataFiltersResponseUserFilters",
|
|
34
40
|
"StatsDataFiltersResponseUserFiltersStatsItem",
|
|
@@ -52,4 +58,6 @@ __all__ = [
|
|
|
52
58
|
"StatsUserReviewScoreResponse",
|
|
53
59
|
"StatsUserReviewScoreResponsePerformanceScore",
|
|
54
60
|
"StatsUserReviewScoreResponseReviewScore",
|
|
61
|
+
"StatsUsersPredictionAgreementResponse",
|
|
62
|
+
"StatsUsersPredictionAgreementResponseAgreementValue",
|
|
55
63
|
]
|
|
@@ -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_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
|
|
@@ -163,13 +163,18 @@ from .pause import Pause
|
|
|
163
163
|
from .pause_request import PauseRequest
|
|
164
164
|
from .prediction import Prediction
|
|
165
165
|
from .prediction_request import PredictionRequest
|
|
166
|
+
from .project import Project
|
|
166
167
|
from .project_group import ProjectGroup
|
|
167
168
|
from .project_group_request import ProjectGroupRequest
|
|
168
169
|
from .project_group_role_enum import ProjectGroupRoleEnum
|
|
169
170
|
from .project_import import ProjectImport
|
|
170
171
|
from .project_label_config import ProjectLabelConfig
|
|
171
172
|
from .project_label_config_request import ProjectLabelConfigRequest
|
|
173
|
+
from .project_member import ProjectMember
|
|
172
174
|
from .project_member_bulk_assign_roles_request import ProjectMemberBulkAssignRolesRequest
|
|
175
|
+
from .project_role import ProjectRole
|
|
176
|
+
from .project_sampling import ProjectSampling
|
|
177
|
+
from .project_skip_queue import ProjectSkipQueue
|
|
173
178
|
from .project_subset_enum import ProjectSubsetEnum
|
|
174
179
|
from .project_subset_item import ProjectSubsetItem
|
|
175
180
|
from .project_subset_task_item import ProjectSubsetTaskItem
|
|
@@ -400,13 +405,18 @@ __all__ = [
|
|
|
400
405
|
"PauseRequest",
|
|
401
406
|
"Prediction",
|
|
402
407
|
"PredictionRequest",
|
|
408
|
+
"Project",
|
|
403
409
|
"ProjectGroup",
|
|
404
410
|
"ProjectGroupRequest",
|
|
405
411
|
"ProjectGroupRoleEnum",
|
|
406
412
|
"ProjectImport",
|
|
407
413
|
"ProjectLabelConfig",
|
|
408
414
|
"ProjectLabelConfigRequest",
|
|
415
|
+
"ProjectMember",
|
|
409
416
|
"ProjectMemberBulkAssignRolesRequest",
|
|
417
|
+
"ProjectRole",
|
|
418
|
+
"ProjectSampling",
|
|
419
|
+
"ProjectSkipQueue",
|
|
410
420
|
"ProjectSubsetEnum",
|
|
411
421
|
"ProjectSubsetItem",
|
|
412
422
|
"ProjectSubsetTaskItem",
|
|
@@ -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
|
|
@@ -151,7 +151,11 @@ class LseProject(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
|
|
@@ -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
|