Skip to content

Commit 10e8a46

Browse files
authored
Merge pull request #141 from kurusugawa-computer/v0.76.0
AnnoFab v0.76.0 対応
2 parents 6a61ae6 + 803f288 commit 10e8a46

14 files changed

+534
-170
lines changed

Pipfile

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ annofabapi = {editable = true,path = "."} # For reading setup.py
1313
pytest = "*"
1414
pytest-xdist = "*"
1515
pytest-cov = "*"
16-
tox = "*"
1716
isort = "*"
1817
yapf = "*"
1918
mypy = "*"

Pipfile.lock

+1-44
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.27.12'
1+
__version__ = '0.28.0'

annofabapi/dataclass/annotation.py

+20-14
Original file line numberDiff line numberDiff line change
@@ -136,19 +136,19 @@ class AdditionalData:
136136
137137
"""
138138
additional_data_definition_id: str
139-
""""""
139+
"""属性ID。[アノテーション仕様](#tag/af-annotation-specs)で定義されます。"""
140140

141141
flag: Optional[bool]
142-
""""""
142+
"""`additional_data_definition`の`type`が`flag`のときの属性値。 """
143143

144144
integer: Optional[int]
145-
""""""
145+
"""`additional_data_definition`の`type`が`integer`のときの属性値。 """
146146

147147
comment: Optional[str]
148-
""""""
148+
"""`additional_data_definition`の`type`が`text`,`comment`,`link` または `tracking`のときの属性値。 """
149149

150150
choice: Optional[str]
151-
""""""
151+
"""`additional_data_definition`の`type`が`choice` または `select `のときの属性値(選択肢ID)。 """
152152

153153

154154
@dataclass_json
@@ -363,31 +363,37 @@ class AnnotationDetail:
363363
"""アノテーションID。[値の制約についてはこちら。](#section/API-Convention/APIID)<br> annotation_type が classification の場合は label_id と同じ値が格納されます。 """
364364

365365
account_id: str
366-
""""""
366+
"""アノテーションを作成したユーザのアカウントID。"""
367367

368368
label_id: str
369-
""""""
369+
"""ラベルID。[アノテーション仕様](#tag/af-annotation-specs)で定義されます。"""
370370

371371
is_protected: bool
372-
""""""
372+
"""`true`の場合、アノテーションをアノテーションエディタ上での削除から保護できます。 外部から取り込んだアノテーションに属性を追加するときなどに指定すると、データの削除を防げます。 """
373373

374374
data_holding_type: AnnotationDataHoldingType
375375
""""""
376376

377377
data: Optional[OneOfstringFullAnnotationData]
378-
"""data_holding_type が inner の場合のみ存在し、annotation_type に応じたデータの値が格納されます。 `string`もしくは`object`の値を指定することができ、`string`の形式は次の通りです。 * annotation_type が bounding_box の場合: 左上x,左上y,右下x,右下y のCSV文字列形式。 * annotation_type が polygon/polyline の場合: x1,y1,x2,y2, ... のCSV文字列形式。 * annotation_type が segmentation または segmentation_v2 の場合: 塗っていないところは rgba(0,0,0,0)、塗ったところは rgba(255,255,255,1) の PNGデータをBase64エンコードしたもの。 * annotation_type が classification の場合: data 属性は存在しない。 * annotation_type が range の場合: 開始時間,終了時間 のCSV文字列形式。 """
378+
"""アノテーションの座標値や区間などのデータ。レスポンスの場合は`string`形式、[putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は`string`または`object`形式です。 `annotation_type`に応じて`string`,`object`の形式が変わります。 <table> <tr><th>annotation_type</th><th>data_holding_type</th><th>string形式</th><th>object形式</th></tr> <tr><td>bounding_box </td><td>inner</td><td><code>左上x,左上y,右下x,右下y</code></td><td><code>FullAnnotationDataBoundingBox</code></td></tr> <tr><td>point</td><td>inner</td><td><code>x1,y1</code></td><td><code>FullAnnotationDataSinglePoint</code></td></tr> <tr><td>polygon / polyline </td><td>inner</td><td><code>x1,y1,x2,y2, ... </code></td><td><code>FullAnnotationDataPoints</code></td></tr> <tr><td>range </td><td>inner</td><td><code>開始時間(ミリ秒),終了時間(ミリ秒) </code></td><td><code>FullAnnotationDataRange</code></td></tr> <tr><td>classification </td><td>inner</td><td><code>null </code></td><td><code>FullAnnotationDataClassification</code> / <code>null </code></td></tr> <tr><td>segmentation</td><td>outer</td><td><code>null </code></td><td><code>FullAnnotationDataSegmentation</code> / <code>null </code></td></tr> <tr><td>segmentation_v2 </td><td>outer</td><td><code>null </code></td><td><code>FullAnnotationDataSegmentationV2</code> / <code>null </code></td></tr> </table> """
379379

380380
path: Optional[str]
381-
"""data_holding_typeがouterの場合のみ存在し、データのパスが格納される (現在はアノテーションIDと等しい)"""
381+
"""外部ファイルに保存されたアノテーションのパス。`data_holding_type`が`inner`の場合は未指定です。 レスポンスの場合は`annotation_id`と同じ値が格納されます。 [putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は、[createTempPath](#operation/createTempPath) APIで取得できる一時データ保存先S3パスを格納してください。 更新しない場合は、[getEditorAnnotation](#operation/getEditorAnnotation) APIで取得した`path`をそのまま渡せます。 外部ファイルのフォーマットは下表の通りです。 <table> <tr><th>annotation_type</th><th>形式</th></tr> <tr><td>segmentation / segmentation_v2 </td><td>PNG画像。塗りつぶした部分は<code>rgba(255, 255, 255, 1) </code>、塗りつぶしていない部分は<code>rgba(0, 0, 0, 0) </code>。</td></tr> </table> """
382382

383383
etag: Optional[str]
384-
"""data_holding_typeがouterの場合のみ存在し、データのETagが格納される"""
384+
"""外部ファイルに保存されたアノテーションのETag。`data_holding_type`が`inner`の場合、または[putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は未指定です。"""
385385

386386
url: Optional[str]
387-
"""data_holding_typeがouterの場合のみ存在し、データへの一時URLが格納される"""
387+
"""外部ファイルに保存されたアノテーションの認証済み一時URL。`data_holding_type`が`inner`の場合、または[putAnnotation](#operation/putAnnotation) APIのリクエストボディに渡す場合は未指定です。"""
388388

389389
additional_data_list: List[AdditionalData]
390-
"""各要素は、 [アノテーション仕様](#operation/getAnnotationSpecs)で定義された属性(`additional_data_definitions`内)のいずれかの要素と対応づけます。 各要素は、どの属性なのかを表す`additional_data_definition_id`、値が必要です。値は、属性の種類に対応するキーに格納します(下表)。 <table> <tr><th>アノテーション属性の種類<br>(`additional_data_definition`の`type`)</th><th>属性の値を格納するキー</th><th>データ型</th></tr> <tr><td>`comment` または `tracking`</td><td>`comment`</td><td>string</td></tr> <tr><td>`flag`</td><td>`flag`</td><td>boolean</td></tr> <tr><td>`integer`</td><td>`integer`</td><td>integer</td></tr> <tr><td>`choice` または `select`</td><td>`choice`</td><td>string(選択肢ID)</td></tr> <tr><td>`link`</td><td>`comment`</td><td>string(アノテーションID)</td></tr> </table> """
390+
"""各要素は、 [アノテーション仕様](#operation/getAnnotationSpecs)で定義された属性(`additional_data_definitions`内)のいずれかの要素と対応づけます。 各要素は、どの属性なのかを表す`additional_data_definition_id`と値が必要です。値は、属性の種類に対応するキーに格納します(下表)。 <table> <tr><th>アノテーション属性の種類<br>(<code>additional_data_definition</code>の<code>type</code>)</th><th>属性の値を格納するキー</th><th>データ型</th></tr> <tr><td><code>text</code>, <code>comment</code> または <code>tracking</code></td><td><code>comment</code></td><td>string</td></tr> <tr><td><code>flag<c/ode></td><td><code>flag</code></td><td>boolean</td></tr> <tr><td><code>integer</code></td><td><code>integer</code></td><td>integer</td></tr> <tr><td><code>choice</code> または <code>select</code></td><td><code>choice</code></td><td>string(選択肢ID)</td></tr> <tr><td><code>link</code></td><td><code>comment</code></td><td>string(アノテーションID)</td></tr> </table> """
391+
392+
created_datetime: Optional[str]
393+
""""""
394+
395+
updated_datetime: Optional[str]
396+
""""""
391397

392398

393399
@dataclass_json
@@ -406,7 +412,7 @@ class Annotation:
406412
"""入力データID。[値の制約についてはこちら。](#section/API-Convention/APIID) """
407413

408414
details: List[AnnotationDetail]
409-
""""""
415+
"""矩形、ポリゴン、全体アノテーションなど個々のアノテーションの配列。"""
410416

411417
updated_datetime: Optional[str]
412418
"""新規作成時は未指定、更新時は必須(更新前の日時) """

annofabapi/dataclass/annotation_specs.py

+9
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,9 @@ class AnnotationSpecsV1:
391391
inspection_phrases: Optional[List[InspectionPhrase]]
392392
""""""
393393

394+
updated_datetime: Optional[str]
395+
"""アノテーション仕様の最終更新時刻 """
396+
394397

395398
@dataclass_json
396399
@dataclass
@@ -412,3 +415,9 @@ class AnnotationSpecsV2:
412415

413416
inspection_phrases: Optional[List[InspectionPhrase]]
414417
""""""
418+
419+
format_version: Optional[str]
420+
""""""
421+
422+
updated_datetime: Optional[str]
423+
"""アノテーション仕様の最終更新時刻 """

annofabapi/dataclass/task.py

+3
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ class TaskHistoryShort:
6666
account_id: str
6767
""""""
6868

69+
worked: Optional[bool]
70+
"""そのフェーズでタスクの作業を行ったかどうか(行った場合はtrue)"""
71+
6972

7073
@dataclass_json
7174
@dataclass

annofabapi/generated_api.py

+26
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,10 @@ def get_my_projects(self, query_params: Optional[Dict[str, Any]] = None, **kwarg
11451145
query_params (Dict[str, Any]): Query Parameters
11461146
page (int): 表示するページ番号
11471147
limit (int): 1ページあたりの取得するデータ件数
1148+
organization_id (str): 指定した組織に属するプロジェクトに絞り込む。未指定時は全プロジェクト。
1149+
title (str): プロジェクトタイトルでの部分一致検索。1文字以上あれば使用します。利便性のため、大文字小文字は区別しません。
11481150
status (ProjectStatus): 指定した状態のプロジェクトで絞り込む。未指定時は全プロジェクト。
1151+
input_data_type (InputDataType): 指定した入力データ種別でプロジェクトを絞り込む。未指定時は全プロジェクト
11491152
sort_by (str): `date` を指定することでプロジェクトの最新のタスク更新時間の順にソートして出力する。 未指定時はプロジェクト名でソートする。
11501153
11511154
Returns:
@@ -1705,6 +1708,28 @@ def initiate_project_copy(self, project_id: str, query_params: Optional[Dict[str
17051708
}
17061709
return self._request_wrapper(http_method, url_path, **keyword_params)
17071710

1711+
def post_project_inputs_update(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
1712+
"""プロジェクトの入力データ情報全件ファイル更新開始
1713+
1714+
1715+
authorizations: ProjectOwner
1716+
1717+
1718+
プロジェクト内の入力データ情報全件ファイルの更新を開始します。 ファイルの更新時間は、データ量に応じて数分~数十分程度かかります。 本APIを実行すると、バックグラウンドジョブが登録されます。ジョブは [getProjectJob](#operation/getProjectJob) APIで確認できます(ジョブ種別は`gen-inputs-list`)。 入力データ情報全件ファイルは毎日AM 02:00 JSTに自動更新されます。 本APIを用いると、自動更新を待たずに更新を要求できます。 ただし、入力データ情報全件ファイル以外は更新されません。 入力データ情報全件ファイルについては、[getProjectInputsUrl](#operation/getProjectInputsUrl) APIを参照ください。
1719+
1720+
Args:
1721+
project_id (str): プロジェクトID (required)
1722+
1723+
Returns:
1724+
Tuple[ProjectInputsUpdateResponse, requests.Response]
1725+
1726+
1727+
"""
1728+
url_path = f'/projects/{project_id}/rawdata/inputs'
1729+
http_method = 'POST'
1730+
keyword_params: Dict[str, Any] = {}
1731+
return self._request_wrapper(http_method, url_path, **keyword_params)
1732+
17081733
def post_project_tasks_update(self, project_id: str, **kwargs) -> Tuple[Any, requests.Response]:
17091734
"""プロジェクトのタスク全件ファイル更新開始
17101735
@@ -1789,6 +1814,7 @@ def get_project_members(self, project_id: str, query_params: Optional[Dict[str,
17891814
authorizations: AllProjectMember
17901815
17911816
1817+
備考: 組織に加入していないメンバーも取得できることがあります([プロジェクト更新](#operation/putProject)でプロジェクトの組織移動をおこなった場合)。
17921818
17931819
Args:
17941820
project_id (str): プロジェクトID (required)

0 commit comments

Comments
 (0)