Skip to content

Commit e06e45d

Browse files
feat: DIA-1980: Option to run only on tasks w/o predictions (#744)
Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com> Co-authored-by: robot-ci-heartex <[email protected]>
1 parent 5a89968 commit e06e45d

10 files changed

Lines changed: 183 additions & 160 deletions

File tree

poetry.lock

Lines changed: 127 additions & 160 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

reference.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9903,6 +9903,14 @@ client.projects.update(
99039903
<dl>
99049904
<dd>
99059905

9906+
**strict_task_overlap:** `typing.Optional[bool]`
9907+
9908+
</dd>
9909+
</dl>
9910+
9911+
<dl>
9912+
<dd>
9913+
99069914
**task_data_login:** `typing.Optional[str]` — Task data credentials: login
99079915

99089916
</dd>
@@ -37337,6 +37345,14 @@ client.prompts.runs.create(
3733737345
<dl>
3733837346
<dd>
3733937347

37348+
**only_missing_predictions:** `typing.Optional[bool]` — When true, only tasks without successful predictions for this prompt version are submitted for inference.
37349+
37350+
</dd>
37351+
</dl>
37352+
37353+
<dl>
37354+
<dd>
37355+
3734037356
**organization:** `typing.Optional[int]`
3734137357

3734237358
</dd>

src/label_studio_sdk/projects/client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,7 @@ def update(
528528
show_skip_button: typing.Optional[bool] = OMIT,
529529
show_unused_data_columns_to_annotators: typing.Optional[bool] = OMIT,
530530
skip_queue: typing.Optional[SkipQueueEnum] = OMIT,
531+
strict_task_overlap: typing.Optional[bool] = OMIT,
531532
task_data_login: typing.Optional[str] = OMIT,
532533
task_data_password: typing.Optional[str] = OMIT,
533534
title: typing.Optional[str] = OMIT,
@@ -651,6 +652,8 @@ def update(
651652
652653
skip_queue : typing.Optional[SkipQueueEnum]
653654
655+
strict_task_overlap : typing.Optional[bool]
656+
654657
task_data_login : typing.Optional[str]
655658
Task data credentials: login
656659
@@ -726,6 +729,7 @@ def update(
726729
show_skip_button=show_skip_button,
727730
show_unused_data_columns_to_annotators=show_unused_data_columns_to_annotators,
728731
skip_queue=skip_queue,
732+
strict_task_overlap=strict_task_overlap,
729733
task_data_login=task_data_login,
730734
task_data_password=task_data_password,
731735
title=title,
@@ -1623,6 +1627,7 @@ async def update(
16231627
show_skip_button: typing.Optional[bool] = OMIT,
16241628
show_unused_data_columns_to_annotators: typing.Optional[bool] = OMIT,
16251629
skip_queue: typing.Optional[SkipQueueEnum] = OMIT,
1630+
strict_task_overlap: typing.Optional[bool] = OMIT,
16261631
task_data_login: typing.Optional[str] = OMIT,
16271632
task_data_password: typing.Optional[str] = OMIT,
16281633
title: typing.Optional[str] = OMIT,
@@ -1746,6 +1751,8 @@ async def update(
17461751
17471752
skip_queue : typing.Optional[SkipQueueEnum]
17481753
1754+
strict_task_overlap : typing.Optional[bool]
1755+
17491756
task_data_login : typing.Optional[str]
17501757
Task data credentials: login
17511758
@@ -1829,6 +1836,7 @@ async def main() -> None:
18291836
show_skip_button=show_skip_button,
18301837
show_unused_data_columns_to_annotators=show_unused_data_columns_to_annotators,
18311838
skip_queue=skip_queue,
1839+
strict_task_overlap=strict_task_overlap,
18321840
task_data_login=task_data_login,
18331841
task_data_password=task_data_password,
18341842
title=title,

src/label_studio_sdk/projects/raw_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@ def update(
557557
show_skip_button: typing.Optional[bool] = OMIT,
558558
show_unused_data_columns_to_annotators: typing.Optional[bool] = OMIT,
559559
skip_queue: typing.Optional[SkipQueueEnum] = OMIT,
560+
strict_task_overlap: typing.Optional[bool] = OMIT,
560561
task_data_login: typing.Optional[str] = OMIT,
561562
task_data_password: typing.Optional[str] = OMIT,
562563
title: typing.Optional[str] = OMIT,
@@ -680,6 +681,8 @@ def update(
680681
681682
skip_queue : typing.Optional[SkipQueueEnum]
682683
684+
strict_task_overlap : typing.Optional[bool]
685+
683686
task_data_login : typing.Optional[str]
684687
Task data credentials: login
685688
@@ -754,6 +757,7 @@ def update(
754757
"show_skip_button": show_skip_button,
755758
"show_unused_data_columns_to_annotators": show_unused_data_columns_to_annotators,
756759
"skip_queue": skip_queue,
760+
"strict_task_overlap": strict_task_overlap,
757761
"task_data_login": task_data_login,
758762
"task_data_password": task_data_password,
759763
"title": title,
@@ -1676,6 +1680,7 @@ async def update(
16761680
show_skip_button: typing.Optional[bool] = OMIT,
16771681
show_unused_data_columns_to_annotators: typing.Optional[bool] = OMIT,
16781682
skip_queue: typing.Optional[SkipQueueEnum] = OMIT,
1683+
strict_task_overlap: typing.Optional[bool] = OMIT,
16791684
task_data_login: typing.Optional[str] = OMIT,
16801685
task_data_password: typing.Optional[str] = OMIT,
16811686
title: typing.Optional[str] = OMIT,
@@ -1799,6 +1804,8 @@ async def update(
17991804
18001805
skip_queue : typing.Optional[SkipQueueEnum]
18011806
1807+
strict_task_overlap : typing.Optional[bool]
1808+
18021809
task_data_login : typing.Optional[str]
18031810
Task data credentials: login
18041811
@@ -1873,6 +1880,7 @@ async def update(
18731880
"show_skip_button": show_skip_button,
18741881
"show_unused_data_columns_to_annotators": show_unused_data_columns_to_annotators,
18751882
"skip_queue": skip_queue,
1883+
"strict_task_overlap": strict_task_overlap,
18761884
"task_data_login": task_data_login,
18771885
"task_data_password": task_data_password,
18781886
"title": title,

src/label_studio_sdk/prompts/runs/client.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ def create(
106106
*,
107107
project: int,
108108
job_id: typing.Optional[str] = OMIT,
109+
only_missing_predictions: typing.Optional[bool] = OMIT,
109110
organization: typing.Optional[int] = OMIT,
110111
predictions_updated_at: typing.Optional[dt.datetime] = OMIT,
111112
project_subset: typing.Optional[ProjectSubsetEnum] = OMIT,
@@ -134,6 +135,9 @@ def create(
134135
job_id : typing.Optional[str]
135136
Job ID for inference job for a ModelRun e.g. Adala job ID
136137
138+
only_missing_predictions : typing.Optional[bool]
139+
When true, only tasks without successful predictions for this prompt version are submitted for inference.
140+
137141
organization : typing.Optional[int]
138142
139143
predictions_updated_at : typing.Optional[dt.datetime]
@@ -172,6 +176,7 @@ def create(
172176
version_id,
173177
project=project,
174178
job_id=job_id,
179+
only_missing_predictions=only_missing_predictions,
175180
organization=organization,
176181
predictions_updated_at=predictions_updated_at,
177182
project_subset=project_subset,
@@ -331,6 +336,7 @@ async def create(
331336
*,
332337
project: int,
333338
job_id: typing.Optional[str] = OMIT,
339+
only_missing_predictions: typing.Optional[bool] = OMIT,
334340
organization: typing.Optional[int] = OMIT,
335341
predictions_updated_at: typing.Optional[dt.datetime] = OMIT,
336342
project_subset: typing.Optional[ProjectSubsetEnum] = OMIT,
@@ -359,6 +365,9 @@ async def create(
359365
job_id : typing.Optional[str]
360366
Job ID for inference job for a ModelRun e.g. Adala job ID
361367
368+
only_missing_predictions : typing.Optional[bool]
369+
When true, only tasks without successful predictions for this prompt version are submitted for inference.
370+
362371
organization : typing.Optional[int]
363372
364373
predictions_updated_at : typing.Optional[dt.datetime]
@@ -405,6 +414,7 @@ async def main() -> None:
405414
version_id,
406415
project=project,
407416
job_id=job_id,
417+
only_missing_predictions=only_missing_predictions,
408418
organization=organization,
409419
predictions_updated_at=predictions_updated_at,
410420
project_subset=project_subset,

src/label_studio_sdk/prompts/runs/raw_client.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ def create(
102102
*,
103103
project: int,
104104
job_id: typing.Optional[str] = OMIT,
105+
only_missing_predictions: typing.Optional[bool] = OMIT,
105106
organization: typing.Optional[int] = OMIT,
106107
predictions_updated_at: typing.Optional[dt.datetime] = OMIT,
107108
project_subset: typing.Optional[ProjectSubsetEnum] = OMIT,
@@ -130,6 +131,9 @@ def create(
130131
job_id : typing.Optional[str]
131132
Job ID for inference job for a ModelRun e.g. Adala job ID
132133
134+
only_missing_predictions : typing.Optional[bool]
135+
When true, only tasks without successful predictions for this prompt version are submitted for inference.
136+
133137
organization : typing.Optional[int]
134138
135139
predictions_updated_at : typing.Optional[dt.datetime]
@@ -155,6 +159,7 @@ def create(
155159
method="POST",
156160
json={
157161
"job_id": job_id,
162+
"only_missing_predictions": only_missing_predictions,
158163
"organization": organization,
159164
"predictions_updated_at": predictions_updated_at,
160165
"project": project,
@@ -321,6 +326,7 @@ async def create(
321326
*,
322327
project: int,
323328
job_id: typing.Optional[str] = OMIT,
329+
only_missing_predictions: typing.Optional[bool] = OMIT,
324330
organization: typing.Optional[int] = OMIT,
325331
predictions_updated_at: typing.Optional[dt.datetime] = OMIT,
326332
project_subset: typing.Optional[ProjectSubsetEnum] = OMIT,
@@ -349,6 +355,9 @@ async def create(
349355
job_id : typing.Optional[str]
350356
Job ID for inference job for a ModelRun e.g. Adala job ID
351357
358+
only_missing_predictions : typing.Optional[bool]
359+
When true, only tasks without successful predictions for this prompt version are submitted for inference.
360+
352361
organization : typing.Optional[int]
353362
354363
predictions_updated_at : typing.Optional[dt.datetime]
@@ -374,6 +383,7 @@ async def create(
374383
method="POST",
375384
json={
376385
"job_id": job_id,
386+
"only_missing_predictions": only_missing_predictions,
377387
"organization": organization,
378388
"predictions_updated_at": predictions_updated_at,
379389
"project": project,

src/label_studio_sdk/types/all_roles_project_list.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ class AllRolesProjectList(UncheckedBaseModel):
203203
"""
204204

205205
state: typing.Optional[str] = None
206+
strict_task_overlap: typing.Optional[bool] = None
206207
task_number: typing.Optional[int] = pydantic.Field(default=None)
207208
"""
208209
Total task number in project

src/label_studio_sdk/types/lse_project.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ class LseProject(UncheckedBaseModel):
203203
"""
204204

205205
state: typing.Optional[str] = None
206+
strict_task_overlap: typing.Optional[bool] = None
206207
task_data_login: typing.Optional[str] = pydantic.Field(default=None)
207208
"""
208209
Task data credentials: login

src/label_studio_sdk/types/lse_project_response.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ class LseProjectResponse(UncheckedBaseModel):
203203
"""
204204

205205
state: typing.Optional[str] = None
206+
strict_task_overlap: typing.Optional[bool] = None
206207
task_data_login: typing.Optional[str] = pydantic.Field(default=None)
207208
"""
208209
Task data credentials: login

src/label_studio_sdk/types/lse_project_update.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ class LseProjectUpdate(UncheckedBaseModel):
200200
"""
201201

202202
state: typing.Optional[str] = None
203+
strict_task_overlap: typing.Optional[bool] = None
203204
task_data_login: typing.Optional[str] = pydantic.Field(default=None)
204205
"""
205206
Task data credentials: login

0 commit comments

Comments
 (0)