Skip to content

Commit 8024ef2

Browse files
authored
Merge pull request #103 from kurusugawa-computer/fix/annofab-v0.69.1
Annofab v0.69.1に対応
2 parents 6eb3f44 + fff89e7 commit 8024ef2

19 files changed

+1655
-352
lines changed

Pipfile.lock

+93-93
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

annofabapi/__version__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.23.2'
1+
__version__ = '0.24.0'

annofabapi/dataclass/annotation_specs.py

+113-11
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
OneOfbooleanintegerstring = Union[bool, int, str]
2020

21+
AdditionalDataRestrictionCondition = Dict[str, Any]
22+
2123

2224
@dataclass_json
2325
@dataclass
@@ -40,7 +42,7 @@ class Keybind:
4042

4143
@dataclass_json
4244
@dataclass
43-
class LabelBoundingBoxMetadata:
45+
class LabelV1BoundingBoxMetadata:
4446
"""
4547
4648
"""
@@ -68,7 +70,7 @@ class LabelBoundingBoxMetadata:
6870

6971
@dataclass_json
7072
@dataclass
71-
class LabelSegmentationMetadata:
73+
class LabelV1SegmentationMetadata:
7274
"""
7375
7476
"""
@@ -167,7 +169,7 @@ class Color:
167169

168170
@dataclass_json
169171
@dataclass
170-
class AdditionalDataDefinitionChoices:
172+
class AdditionalDataDefinitionV1Choices:
171173
"""
172174
173175
"""
@@ -183,7 +185,7 @@ class AdditionalDataDefinitionChoices:
183185

184186
@dataclass_json
185187
@dataclass
186-
class AdditionalDataDefinition:
188+
class AdditionalDataDefinitionV1:
187189
"""
188190
189191
"""
@@ -205,7 +207,7 @@ class AdditionalDataDefinition:
205207
type: Optional[AdditionalDataDefinitionType]
206208
""""""
207209

208-
choices: Optional[List[AdditionalDataDefinitionChoices]]
210+
choices: Optional[List[AdditionalDataDefinitionV1Choices]]
209211
""""""
210212

211213
regex: Optional[str]
@@ -218,6 +220,34 @@ class AdditionalDataDefinition:
218220
"""リンク属性において、入力を必須とするかどうか"""
219221

220222

223+
@dataclass_json
224+
@dataclass
225+
class AdditionalDataDefinitionV2:
226+
"""
227+
228+
"""
229+
additional_data_definition_id: Optional[str]
230+
""""""
231+
232+
read_only: Optional[bool]
233+
""""""
234+
235+
name: Optional[InternationalizationMessage]
236+
""""""
237+
238+
default: Optional[OneOfbooleanintegerstring]
239+
"""属性の初期値です。 初期値を指定する場合、属性の種類に応じて次の値を指定します。初期値を設定しない場合には空文字を指定します。 * type が flag の場合: 真偽値(`true` or `false`) * type が integer の場合: 整数値 * type が text の場合: 文字列 * type が comment の場合: 文字列 * type が choice の場合: 選択肢(`choices`)の `choice_id` * type が select の場合: 選択肢(`choices`)の `choice_id` 属性の種類に対して有効でない初期値を設定した場合、その設定は無視されます。 なお、トラッキングとリンクには初期値を設定できません。 """
240+
241+
keybind: Optional[List[Keybind]]
242+
""""""
243+
244+
type: Optional[AdditionalDataDefinitionType]
245+
""""""
246+
247+
choices: Optional[List[AdditionalDataDefinitionV1Choices]]
248+
""""""
249+
250+
221251
@dataclass_json
222252
@dataclass
223253
class AnnotationEditorFeature:
@@ -245,7 +275,7 @@ class AnnotationEditorFeature:
245275

246276
@dataclass_json
247277
@dataclass
248-
class Label:
278+
class LabelV1:
249279
"""
250280
251281
"""
@@ -261,13 +291,13 @@ class Label:
261291
annotation_type: Optional[AnnotationType]
262292
""""""
263293

264-
bounding_box_metadata: Optional[LabelBoundingBoxMetadata]
294+
bounding_box_metadata: Optional[LabelV1BoundingBoxMetadata]
265295
""""""
266296

267-
segmentation_metadata: Optional[LabelSegmentationMetadata]
297+
segmentation_metadata: Optional[LabelV1SegmentationMetadata]
268298
""""""
269299

270-
additional_data_definitions: Optional[List[AdditionalDataDefinition]]
300+
additional_data_definitions: Optional[List[AdditionalDataDefinitionV1]]
271301
""""""
272302

273303
color: Optional[Color]
@@ -282,14 +312,86 @@ class Label:
282312

283313
@dataclass_json
284314
@dataclass
285-
class AnnotationSpecs:
315+
class LabelV2:
316+
"""
317+
318+
"""
319+
label_id: Optional[str]
320+
""""""
321+
322+
label_name: Optional[InternationalizationMessage]
323+
""""""
324+
325+
keybind: Optional[List[Keybind]]
326+
""""""
327+
328+
annotation_type: Optional[AnnotationType]
329+
""""""
330+
331+
bounding_box_metadata: Optional[LabelV1BoundingBoxMetadata]
332+
""""""
333+
334+
segmentation_metadata: Optional[LabelV1SegmentationMetadata]
335+
""""""
336+
337+
additional_data_definitions: Optional[List[str]]
338+
""""""
339+
340+
color: Optional[Color]
341+
""""""
342+
343+
annotation_editor_feature: Optional[AnnotationEditorFeature]
344+
""""""
345+
346+
allow_out_of_image_bounds: Optional[bool]
347+
""""""
348+
349+
350+
@dataclass_json
351+
@dataclass
352+
class AdditionalDataRestriction:
353+
"""
354+
355+
"""
356+
additional_data_definition_id: Optional[str]
357+
""""""
358+
359+
condition: Optional[AdditionalDataRestrictionCondition]
360+
""""""
361+
362+
363+
@dataclass_json
364+
@dataclass
365+
class AnnotationSpecsV1:
366+
"""
367+
368+
"""
369+
project_id: Optional[str]
370+
"""プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) """
371+
372+
labels: Optional[List[LabelV1]]
373+
""""""
374+
375+
inspection_phrases: Optional[List[InspectionPhrase]]
376+
""""""
377+
378+
379+
@dataclass_json
380+
@dataclass
381+
class AnnotationSpecsV2:
286382
"""
287383
288384
"""
289385
project_id: Optional[str]
290386
"""プロジェクトID。[値の制約についてはこちら。](#section/API-Convention/APIID) """
291387

292-
labels: Optional[List[Label]]
388+
labels: Optional[List[LabelV2]]
389+
""""""
390+
391+
additionals: Optional[List[AdditionalDataDefinitionV2]]
392+
""""""
393+
394+
restrictions: Optional[List[AdditionalDataRestriction]]
293395
""""""
294396

295397
inspection_phrases: Optional[List[InspectionPhrase]]

annofabapi/dataclass/project.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from dataclasses_json import dataclass_json
1616

17-
from annofabapi.models import AssigneeRuleOfResubmittedTask, InputDataType, ProjectStatus
17+
from annofabapi.models import AssigneeRuleOfResubmittedTask, InputDataType, ProjectStatus, TaskAssignmentType
1818

1919

2020
@dataclass_json
@@ -39,6 +39,9 @@ class ProjectConfiguration:
3939
assignee_rule_of_resubmitted_task: Optional[AssigneeRuleOfResubmittedTask]
4040
""""""
4141

42+
task_assignment_type: Optional[TaskAssignmentType]
43+
""""""
44+
4245
max_tasks_per_member: Optional[int]
4346
"""保留中のタスクを除き、1人(オーナー以外)に割り当てられるタスク数上限。未指定の場合は10件として扱う。"""
4447

annofabapi/generated_api.py

+34-32
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ def batch_update_annotations(self, project_id: str, request_body: Optional[Any]
265265
authorizations: ProjectAccepter
266266
267267
268-
複数のアノテーションを一括更新します。 リクエストボディは、1個以上の「操作」オブジェクトを含むJSON配列になります。 操作オブジェクトには、「更新」と「削除」の2通りがあり、それぞれJSONオブジェクト構造が異なります。 これら操作オブジェクトを複数含めることで、1リクエストで複数の更新や削除ができます。 **現時点で、このAPIは複数のアノテーションを修正するためのもので、新しいアノテーションを作成することはできません**。 新しいアノテーションを更新や削除の対象に指定した場合、無視されます。 既に作成済みのアノテーションのうち、リクエストボディの配列に含まれないアノテーションは更新されません。 更新対象のアノテーションのうち、属性配列に含まれない属性は更新されません。 更新対象のアノテーションのラベルを変更する場合、変更後のラベルに含まれない属性は削除されます。 複数の操作のうち、1つでも失敗するとAPIのレスポンス全体としては失敗になります。 成功した部分までは反映されます。 受入が完了しているタスクのアノテーション更新を含む場合、オーナー以上の権限が必要になります。
268+
複数のアノテーションを一括更新します。 リクエストボディは、1個以上の「操作」オブジェクトを含むJSON配列になります。 操作オブジェクトには、「更新」と「削除」の2通りがあり、それぞれJSONオブジェクト構造が異なります。 これら操作オブジェクトを複数含めることで、1リクエストで複数の更新や削除ができます。 **現時点で、このAPIは複数のアノテーションを修正するためのもので、新しいアノテーションを作成することはできません**。 新しいアノテーションを更新や削除の対象に指定した場合、無視されます。 既に作成済みのアノテーションのうち、リクエストボディの配列に含まれないアノテーションは更新されません。 更新対象のアノテーションのうち、属性配列に含まれない属性は更新されません。 更新対象のアノテーションのラベルを変更する場合、変更後のラベルに含まれない属性は削除されます。 また、画像全体アノテーションのラベルは変更することができません。 複数の操作のうち、1つでも失敗するとAPIのレスポンス全体としては失敗になります。 成功した部分までは反映されます。 受入が完了しているタスクのアノテーション更新を含む場合、オーナー以上の権限が必要になります。
269269
270270
Args:
271271
project_id (str): プロジェクトID (required)
@@ -389,34 +389,6 @@ def get_archive_full_with_pro_id(self, project_id: str, **kwargs) -> Tuple[Any,
389389
keyword_params: Dict[str, Any] = {}
390390
return self._request_wrapper(http_method, url_path, **keyword_params)
391391

392-
def get_outer_with_pro_id_tas_id_inp_dat_id_ann_id(self, project_id: str, task_id: str, input_data_id: str,
393-
annotation_id: str, **kwargs) -> Tuple[Any, requests.Response]:
394-
"""【エディタ用】外部ファイル形式のアノテーション取得
395-
396-
.. deprecated:: X
397-
398-
authorizations: AllProjectMember
399-
400-
401-
このAPIが返すアノテーションは、エディタ用です。 機械学習などで利用する成果物としてのアノテーションを取得するには、以下をご利用いただけます。 * [getAnnotation](#operation/getAnnotation): 特定のタスク - 入力データのアノテーション取得 * [getAnnotationArchive](#operation/getAnnotationArchive): プロジェクト全体のアノテーション(ZIP)
402-
403-
Args:
404-
project_id (str): プロジェクトID (required)
405-
task_id (str): タスクID (required)
406-
input_data_id (str): 入力データID (required)
407-
annotation_id (str): アノテーションID (required)
408-
409-
Returns:
410-
Tuple[, requests.Response]
411-
412-
413-
"""
414-
warnings.warn("deprecated", DeprecationWarning)
415-
url_path = f'/projects/{project_id}/tasks/{task_id}/inputs/{input_data_id}/annotation/{annotation_id}/outer'
416-
http_method = 'GET'
417-
keyword_params: Dict[str, Any] = {}
418-
return self._request_wrapper(http_method, url_path, **keyword_params)
419-
420392
def post_annotation_archive_update(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
421393
"""アノテーションZIP更新開始
422394
@@ -486,9 +458,10 @@ def get_annotation_specs(self, project_id: str, query_params: Optional[Dict[str,
486458
project_id (str): プロジェクトID (required)
487459
query_params (Dict[str, Any]): Query Parameters
488460
history_id (str): 過去のアノテーション仕様を取得する場合、[アノテーション仕様履歴取得](#operation/getAnnotationSpecsHistories)APIで取得した `history_id` の値を指定します。 未指定時は最新のアノテーション仕様を取得します。
461+
v (str): 取得するアノテーション仕様のフォーマットバージョンを指定します。
489462
490463
Returns:
491-
Tuple[AnnotationSpecs, requests.Response]
464+
Tuple[OneOfAnnotationSpecsV1AnnotationSpecsV2, requests.Response]
492465
493466
494467
"""
@@ -532,10 +505,10 @@ def put_annotation_specs(self, project_id: str, request_body: Optional[Any] = No
532505
Args:
533506
project_id (str): プロジェクトID (required)
534507
request_body (Any): Request Body
535-
annotation_specs_request (AnnotationSpecsRequest): (required)
508+
unknown_base_type (UNKNOWN_BASE_TYPE): (required)
536509
537510
Returns:
538-
Tuple[AnnotationSpecs, requests.Response]
511+
Tuple[AnnotationSpecsV2, requests.Response]
539512
540513
541514
"""
@@ -2066,6 +2039,33 @@ def put_supplementary_data(self, project_id: str, input_data_id: str, supplement
20662039
# NOTE: This method is auto generated by OpenAPI Generator
20672040
#########################################
20682041

2042+
def assign_tasks(self, project_id: str, request_body: Optional[Any] = None,
2043+
**kwargs) -> Tuple[Any, requests.Response]:
2044+
"""タスク割当
2045+
2046+
2047+
authorizations: AllProjectMember
2048+
2049+
2050+
メンバーもしくは自身にタスクを割当します。 個々のタスクの情報を取得する場合は、[タスク取得](#operation/getTask)を使います。
2051+
2052+
Args:
2053+
project_id (str): プロジェクトID (required)
2054+
request_body (Any): Request Body
2055+
task_assign_request (TaskAssignRequest): (required)
2056+
2057+
Returns:
2058+
Tuple[List[Task], requests.Response]
2059+
2060+
2061+
"""
2062+
url_path = f'/projects/{project_id}/assign-tasks'
2063+
http_method = 'POST'
2064+
keyword_params: Dict[str, Any] = {
2065+
'request_body': request_body,
2066+
}
2067+
return self._request_wrapper(http_method, url_path, **keyword_params)
2068+
20692069
def batch_update_tasks(self, project_id: str, request_body: Optional[Any] = None,
20702070
**kwargs) -> Tuple[Any, requests.Response]:
20712071
"""タスク一括更新
@@ -2314,6 +2314,7 @@ def start_task(self, project_id: str, request_body: Optional[Any] = None,
23142314
**kwargs) -> Tuple[Any, requests.Response]:
23152315
"""タスク割当
23162316
2317+
.. deprecated:: X
23172318
23182319
authorizations: AllProjectMember
23192320
@@ -2330,6 +2331,7 @@ def start_task(self, project_id: str, request_body: Optional[Any] = None,
23302331
23312332
23322333
"""
2334+
warnings.warn("deprecated", DeprecationWarning)
23332335
url_path = f'/projects/{project_id}/start-task'
23342336
http_method = 'POST'
23352337
keyword_params: Dict[str, Any] = {

annofabapi/generated_api2.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ def get_annotation_specs_v2(self, project_id: str, query_params: Optional[Dict[s
4545
query_params (Dict[str, Any]): Query Parameters
4646
cache (str): CACHE TIMESTAMP
4747
history_id (str): 過去のアノテーション仕様を取得する場合、[アノテーション仕様履歴取得](#operation/getAnnotationSpecsHistories)APIで取得した `history_id` の値を指定します。 未指定時は最新のアノテーション仕様を取得します。
48+
v (str): 取得するアノテーション仕様のフォーマットバージョンを指定します。
4849
4950
Returns:
50-
Tuple[AnnotationSpecs, requests.Response]
51+
Tuple[OneOfAnnotationSpecsV1AnnotationSpecsV2, requests.Response]
5152
5253
5354
"""

0 commit comments

Comments
 (0)