annofabapi.wrapper module

class annofabapi.Wrapper(api: annofabapi.api.AnnofabApi)[source]

AnnofabApiのラッパー.

Parameters

api – AnnofabApi Instance

can_execute_job(project_id: str, job_type: annofabapi.models.ProjectJobType)bool[source]

ジョブが実行できる状態か否か。他のジョブが実行中で同時に実行できない場合はFalseを返す。

Parameters
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Returns

ジョブが実行できる状態か否か

cancel_completed_task(project_id: str, task_id: str, operator_account_id: Optional[str] = None)Dict[str, Any][source]

タスクの受入完了状態を取り消す。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

  • operator_account_id – 受入完了状態を取り消した後の担当者のaccount_id

Returns

変更後のタスク

cancel_submitted_task(project_id: str, task_id: str)Dict[str, Any][source]

タスクの提出を取り消します。 「提出されたタスク」とは以下の状態になっています。 * 教師付フェーズで「提出」ボタンを押して、検査/受入フェーズへ遷移したタスク * 検査フェーズから「合格」ボタンを押して、受入フェーズへ遷移したタスク

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • タスク提出後に検査/受入(抜取含む)等の作業が一切行われていない場合のみ、この操作を行うことができます。

  • 現在の状態が未着手(not_started)のタスクに対してのみ、この操作を行うことができます。

  • 現在のフェーズが検査(inspection)、もしくは受入(acceptance)のタスクに対してのみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

Returns

変更後のタスク

change_task_operator(project_id: str, task_id: str, operator_account_id: Optional[str] = None)Dict[str, Any][source]

タスクの担当者を変更します。

Notes

  • プロジェクトオーナー(owner)、もしくは受入担当者(accepter)のみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

  • operator_account_id – 新しい担当者のaccount_id。Noneの場合は、担当者を「未割り当て」にします。

Returns

変更後のタスク

change_task_status_to_break(project_id: str, task_id: str)Dict[str, Any][source]

タスクのステータスを「休憩中」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

Returns

変更後のタスク

change_task_status_to_on_hold(project_id: str, task_id: str)Dict[str, Any][source]

タスクのステータスを「保留」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

Returns

変更後のタスク

change_task_status_to_working(project_id: str, task_id: str)Dict[str, Any][source]

タスクのステータスを「作業中」に変更します。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が未着手(not_started)、休憩中(break)、保留(on_hold)のいずれかであるタスクに対してのみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

Returns

変更後のタスク

complete_task(project_id: str, task_id: str)Dict[str, Any][source]

今のフェーズを完了させ、 次のフェーズに遷移させます。 教師付フェーズのときはタスクを提出します。 検査/受入フェーズのときは、タスクを合格にします。

Notes

  • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

  • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

Returns

変更後のタスク

copy_annotation(src: annofabapi.wrapper.TaskFrameKey, dest: annofabapi.wrapper.TaskFrameKey, account_id: Optional[str] = None, annotation_specs_relation: Optional[annofabapi.wrapper.AnnotationSpecsRelation] = None)bool[source]

アノテーションをコピーする。

Parameters
  • src – コピー元のTaskFrame情報

  • dest – コピー先のTaskFrame情報

  • account_id – アノテーションを登録するユーザのアカウントID。Noneの場合、自分自身のアカウントIDで登録する。

  • annotation_specs_relation – アノテーション仕様間の紐付け情報。get_annotation_specs_relation メソッドで紐付け情報を取得できる。 Noneの場合、コピー元のアノテーション仕様のID情報(ラベルID、属性ID、選択肢ID)を変換せずに、アノテーションをコピーします。

Returns

アノテーションのコピー実施したかどうか

delete_all_succeeded_job(project_id: str, job_type: annofabapi.models.ProjectJobType)List[Dict[str, Any]][source]

成功したジョブをすべて削除する

Parameters
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Returns

削除したジョブの一覧

download_annotation_archive(project_id: str, dest_path: str)str[source]

simpleアノテーションZIPをダウンロードする。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先のファイルパス

Returns

ダウンロード元のURL

download_full_annotation_archive(project_id: str, dest_path: str)str[source]

FullアノテーションZIPをダウンロードする。

Deprecated since version X.

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先のファイルパス

Returns

ダウンロード元のURL

download_project_inputs_url(project_id: str, dest_path: str)str[source]

プロジェクトの入力データ全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns

ダウンロード元のURL

download_project_inspections_url(project_id: str, dest_path: str)str[source]

プロジェクトの検査コメント全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns

ダウンロード元のURL

download_project_task_histories_url(project_id: str, dest_path: str)str[source]

プロジェクトのタスク履歴全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns

ダウンロード元のURL

download_project_task_history_events_url(project_id: str, dest_path: str)str[source]

プロジェクトのタスク履歴イベント全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns

ダウンロード元のURL

download_project_tasks_url(project_id: str, dest_path: str)str[source]

プロジェクトのタスク全件ファイルをダウンロードする。 ファイルの中身はJSON。

Parameters
  • project_id – プロジェクトID

  • dest_path – ダウンロード先ファイルのパス

Returns

ダウンロード元のURL

get_account_statistics(project_id: str)List[Any][source]

getAccountStatistics APIのLocation headerの中身を返す。

Parameters

project_id

Returns:

get_all_annotation_list(project_id: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

すべてのアノテーション情報を取得する。

Parameters
  • project_id – プロジェクトID

  • query_paramsapi.get_annotation_list メソッドのQuery Parameter

Returns:l

すべてのアノテーション一覧

get_all_input_data_list(project_id: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

すべての入力データを取得する。

Parameters
  • project_id – プロジェクトID

  • query_paramsapi.get_input_data_list メソッドのQuery Parameter

Returns

入力データ一覧

get_all_my_organizations()List[Dict[str, Any]][source]

所属しているすべての組織一覧を取得する

Returns

すべての所属一覧

get_all_organization_members(organization_name: str)List[Dict[str, Any]][source]

すべての組織メンバ一覧を取得する

Parameters

organization_name – 組織名

Returns

すべての組織メンバ一覧

get_all_project_job(project_id: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

すべてのバックグランドジョブを取得する。

Parameters
  • project_id – プロジェクトID

  • query_paramsapi.get_project_job メソッドに渡すQuery Parameter

Returns

すべてのバックグランドジョブ一覧

get_all_project_members(project_id: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

すべてのプロジェクトメンバを取得する.

Parameters
  • project_id – プロジェクトID

  • query_paramsapi.get_project_members メソッドのQuery Parameter

Returns

すべてのプロジェクトメンバ一覧

get_all_projects_of_organization(organization_name: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

組織配下のすべてのプロジェクト一覧を取得する

Parameters
  • organization_name – 組織名

  • query_paramsapi.get_projects_of_organization メソッドに渡すQuery Parameter

Returns

すべてのプロジェクト一覧

get_all_tasks(project_id: str, query_params: Optional[Dict[str, Any]] = None)List[Dict[str, Any]][source]

すべてのタスクを取得する。

Parameters
  • project_id – プロジェクトID

  • query_paramsapi.get_tasks メソッドに渡すQuery Parameter

Returns

すべてのタスク一覧

get_annotation_specs_relation(src_project_id: str, dest_project_id: str)annofabapi.wrapper.AnnotationSpecsRelation[source]

プロジェクト間のアノテーション仕様の紐付け情報を取得する。 ラベル、属性、選択肢の英語名で紐付ける。 ただし、属性は、参照されるラベルが一致していることも判定する。 紐付け先がない場合は無視する。

Parameters
  • src_project_id – 紐付け元のプロジェクトID

  • dest_project_id – 紐付け先のプロジェクトID

Returns

アノテーション仕様の紐付け情報

get_input_data_or_none(project_id: str, input_data_id: str)Optional[Dict[str, Any]][source]

入力データを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters
  • project_id

  • input_data_id

Returns

入力データ

get_inspection_statistics(project_id: str)List[Any][source]

getInspectionStatistics APIのLocation headerの中身を返す。

Parameters

project_id

Returns:

get_label_statistics(project_id: str)List[Any][source]

getLabelStatistics APIのLocation headerの中身を返す。

Parameters

project_id

Returns:

get_labor_control_availability(account_id: str, from_date: Optional[str] = None, to_date: Optional[str] = None)List[Dict[str, Any]][source]

労務管理の予定稼働時間を取得する。

Parameters
  • account_id – 絞り込み対象のアカウントID

  • from_date – 絞り込み対象の開始日(YYYY-MM-DD)

  • to_date – 絞り込み対象の終了日(YYYY-MM-DD)

Returns

予定稼働時間情報
  • account_id

  • date

  • availability:予定稼働時間[hour]

get_labor_control_worktime(*, organization_id: Optional[str] = None, project_id: Optional[str] = None, account_id: Optional[str] = None, from_date: Optional[str] = None, to_date: Optional[str] = None)List[Dict[str, Any]][source]

実績作業時間(actual_worktime)と予定作業時間(plan_worktime)を扱いやすいフォーマットで取得する。 ただし、organization_id または project_id のいずれかを指定する必要がある。

Parameters
  • organization_id – 絞り込み対象の組織ID

  • project_id – 絞り込み対象のプロジェクトID

  • account_id – 絞り込み対象のアカウントID

  • from_date – 絞り込み対象の開始日(YYYY-MM-DD)

  • to_date – 絞り込み対象の終了日(YYYY-MM-DD)

Returns

労務管理情報
  • organization_id

  • project_id

  • account_id

  • date

  • actual_worktime:実績作業時間[hour]

  • plan_worktime:予定作業時間[hour]

  • working_description:実績に関するコメント

get_latest_instruction(project_id: str)Optional[Dict[str, Any]][source]

最新の作業ガイドの取得.

Parameters

project_id – プロジェクトID

Returns

作業ガイド情報。作業ガイドが登録されいてない場合はNone。

get_organization_member_or_none(organization_name: str, user_id: str)Optional[Dict[str, Any]][source]

組織メンバを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters
  • organization_name – 組織名

  • user_id

Returns

組織メンバ

get_organization_or_none(organization_name: str)Optional[Dict[str, Any]][source]

組織情報を取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters

organization_name – 組織名

Returns

組織情報

get_project_member_or_none(project_id: str, user_id: str)Optional[Dict[str, Any]][source]

プロジェクトメンバを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters
  • project_id

  • user_id

Returns

プロジェクトメンバ

get_project_or_none(project_id: str)Optional[Dict[str, Any]][source]

プロジェクトを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters

project_id

Returns

プロジェクト

get_task_or_none(project_id: str, task_id: str)Optional[Dict[str, Any]][source]

タスクを取得する。存在しない場合(HTTP 404 Error)はNoneを返す。

Parameters
  • project_id

  • task_id

Returns

タスク

get_task_phase_statistics(project_id: str)List[Any][source]

getTaskPhaseStatistics APIのLocation headerの中身を返す。

Parameters

project_id

Returns:

get_task_statistics(project_id: str)List[Any][source]

getTaskStatistics APIのLocation headerの中身を返す。

Parameters

project_id – プロジェクトID

Returns:

get_worktime_statistics(project_id: str)List[Any][source]

タスク作業時間集計取得. Location Headerに記載されたURLのレスポンスをJSON形式で返す。

Parameters

project_id – プロジェクトID

Returns

タスク作業時間集計

initiate_tasks_generation_by_csv(project_id: str, csvfile_path: str, query_params: Optional[Dict[str, Any]] = None)Dict[str, Any][source]

タスクID,入力データ名,入力データID」を1行毎に指定したCSVを使って、タスクを生成する

Parameters
  • project_id – プロジェクトID

  • csvfile_path – CSVファイルのパス

  • query_paramsinitiate_tasks_generation メソッドに渡す`query_params`

Returns

initiate_tasks_generation APIのContent

job_in_progress(project_id: str, job_type: annofabapi.models.ProjectJobType)bool[source]

ジョブが進行中かどうか

Parameters
  • project_id – プロジェクトID

  • job_type – ジョブ種別

Returns

ジョブが進行中かどうか

put_annotation_for_simple_annotation_json(project_id: str, task_id: str, input_data_id: str, simple_annotation_json: str, annotation_specs_labels: List[Dict[str, Any]], annotation_specs_additionals: Optional[List[Dict[str, Any]]] = None)bool[source]

AnnoFabからダウンロードしたアノテーションzip配下のJSONと同じフォーマット(Simple Annotation)の内容から、アノテーションを登録する。

Parameters
  • project_id

  • task_id

  • input_data_id

  • simple_annotation_json – AnnoFabからダウンロードしたアノテーションzip配下のJSONのパス

  • annotation_specs_labels – アノテーション仕様のラベル情報。annotation_specs_additionalsが指定されている場合はV2版、指定されない場合はV1版。

  • annotation_specs_additionals – アノテーション仕様の属性情報(V2版)

Returns

アノテーション情報をした。False: 登録するアノテーション情報がなかったため、登録しなかった。

Return type

True

Notes

2021/07以降、引数annotation_specs_labelsはV1版をサポートしなくなる予定です。

put_input_data_from_file(project_id: str, input_data_id: str, file_path: str, request_body: Optional[Dict[str, Any]] = None, content_type: Optional[str] = None)Dict[str, Any][source]

ファイル(画像データ、動画データ、 zipファイル)を入力データとして登録する。

Parameters
  • project_id – プロジェクトID

  • input_data_id – 入力データID

  • file_path – アップロードするファイルのパス

  • request_bodyput_input_data に渡すrequest body. Keyに`input_data_name` がなければ、ファイルパスが設定される。

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns

put_input_data のcontent

put_labor_control_actual_worktime(organization_id: str, project_id: str, account_id: str, date: str, actual_worktime: Optional[float], working_description: Optional[str])Dict[str, Any][source]

労務管理の実績作業時間を登録する。

Parameters
  • organization_id – 組織ID

  • project_id – プロジェクトID

  • account_id – account_id

  • date – 登録対象日

  • actual_worktime – 実績作業時間[hour]

  • working_description – 実績に関するコメント

Returns

登録後の労務管理データ

put_labor_control_availability(account_id: str, date: str, availability: Optional[float])Dict[str, Any][source]

労務管理の予定稼働時間を登録する

Parameters
  • account_id – account_id

  • date – 登録対象日

  • availability – 予定稼働時間[hour]

Returns

登録後の労務管理データ

put_labor_control_plan_worktime(organization_id: str, project_id: str, account_id: str, date: str, plan_worktime: Optional[float])Dict[str, Any][source]

労務管理の予定作業時間を登録する。

Parameters
  • organization_id – 組織ID

  • project_id – プロジェクトID

  • account_id – account_id

  • date – 登録対象日

  • plan_worktime – 予定作業時間[hour]

Returns

登録後の労務管理データ

put_supplementary_data_from_file(project_id, input_data_id: str, supplementary_data_id: str, file_path: str, request_body: Dict[str, Any], content_type: Optional[str] = None)Dict[str, Any][source]

補助情報ファイルをアップロードする

Parameters
  • project_id – プロジェクトID

  • input_data_id – 入力データID

  • supplementary_data_id – 補助情報ID

  • file_path – アップロードするファイル(text , image)

  • request_bodyput_supplementary_data に渡すRequest Body. supplementary_data_name , supplementary_data_type は指定されていなければ、ファイルパスから取得した情報が設定される。

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns

put_supplementary_data のレスポンス

reject_task(project_id: str, task_id: str, force: bool = False)Dict[str, Any][source]

タスクを差し戻します。 * 通常の差し戻しの場合、タスクの担当者は未割り当てになります。 * 強制差し戻しの場合、タスクの担当者は直前の教師付フェーズの担当者になります。

Notes

  • 通常の差し戻しの場合
    • 現在タスクを担当しているユーザーのみ、この操作を行うことができます。

    • 現在の状態が作業中(working)のタスクに対してのみ、この操作を行うことができます。

    • 現在のフェーズが検査(inspection)、もしくは受入(acceptance)のタスクに対してのみ、この操作を行うことができます。

  • 強制差し戻しの場合
    • タスクの状態・フェーズを無視して、フェーズを教師付け(annotation)に、状態を未作業(not started)に変更します。

    • タスクの担当者としては、直前の教師付け(annotation)フェーズの担当者を割り当てます。

    • この差戻しは、抜取検査・抜取受入のスキップ判定に影響を及ぼしません。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

  • force – Trueなら強制差し戻し、Falseなら通常の差し戻しを実施する

Returns

変更後のタスク

update_status_of_inspections(project_id: str, task_id: str, input_data_id: str, filter_inspection: Callable[[Dict[str, Any]], bool], inspection_status: annofabapi.models.InspectionStatus, updated_datetime: Optional[str] = None)List[Dict[str, Any]][source]

検査コメント(返信コメント以外)のstatusを変更する。

Parameters
  • project_id – プロジェクトID

  • task_id – タスクID

  • input_data_id – 入力データID

  • filter_inspection – 変更対象の検査コメントを絞り込む条件

  • inspection_status – 検査コメントのstatus

  • updated_datetime – 検査コメントの更新日時。タスクの更新日時以降を指定する必要があります。Noneの場合、現在時刻を指定します。

Returns

batch_update_inspections メソッドのcontent

upload_data_as_instruction_image(project_id: str, image_id: str, data: Any, content_type: str)str[source]

data を作業ガイドの画像としてアップロードする。

Parameters
  • project_id – プロジェクトID

  • image_id – 作業ガイド画像ID

  • data – アップロード対象のdata. requests.put メソッドの data 引数にそのまま渡す。

  • content_type – アップロードするファイルのMIME Type.

Returns

一時データ保存先であるS3パス

upload_data_to_s3(project_id: str, data: Any, content_type: str)str[source]

createTempPath APIを使ってアップロード用のURLとS3パスを取得して、”data” をアップロードする。

Parameters
  • project_id – プロジェクトID

  • data – アップロード対象のdata. open(mode="b") 関数の戻り値、またはバイナリ型の値です。 requests.put メソッドの data 引数にそのまま渡します。

  • content_type – アップロードするfile objectのMIME Type.

Returns

一時データ保存先であるS3パス

Raises

CheckSumError – アップロードしたデータのMD5ハッシュ値が、S3にアップロードしたときのレスポンスのETagと一致しない

upload_file_to_s3(project_id: str, file_path: str, content_type: Optional[str] = None)str[source]

createTempPath APIを使ってアップロード用のURLとS3パスを取得して、ファイルをアップロードする。

Parameters
  • project_id – プロジェクトID

  • file_path – アップロードするファイルのパス

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns

一時データ保存先であるS3パス

Raises

CheckSumError – アップロードしたファイルのMD5ハッシュ値が、S3にアップロードしたときのレスポンスのETagと一致しない

upload_instruction_image(project_id: str, image_id: str, file_path: str, content_type: Optional[str] = None)str[source]

作業ガイドの画像をアップロードする。

Parameters
  • project_id – プロジェクトID

  • image_id – 作業ガイド画像ID

  • file_path – アップロードするファイル

  • content_type – アップロードするファイルのMIME Type. Noneの場合、ファイルパスから推測する。

Returns

一時データ保存先であるS3パス

wait_for_completion(project_id: str, job_type: annofabapi.models.ProjectJobType, job_access_interval: int = 60, max_job_access: int = 10)bool[source]

ジョブが完了するまで待つ。

Parameters
  • project_id – プロジェクトID

  • job_type – 取得するジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

Returns

Trueならば、ジョブが成功した or 実行中のジョブがない。 Falseならば、ジョブが失敗 or max_job_access 回アクセスしても、ジョブが完了しなかった。

wait_until_job_finished(project_id: str, job_type: annofabapi.models.ProjectJobType, job_id: Optional[str] = None, job_access_interval: int = 60, max_job_access: int = 360)Optional[annofabapi.models.JobStatus][source]

指定したジョブが終了するまで待つ。

Parameters
  • project_id – プロジェクトID

  • job_type – 取得するジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

  • job_id – ジョブID。Noneの場合は、現在進行中のジョブが終了するまで待つ。

Returns

指定した時間(アクセス頻度と回数)待った後のジョブのステータスを返す。 指定したジョブ(job_idがNoneの場合は現在進行中のジョブ)が存在しない場合は、Noneを返す。

wait_until_job_is_executable(project_id: str, job_type: annofabapi.models.ProjectJobType, job_access_interval: int = 60, max_job_access: int = 360)bool[source]

ジョブが実行可能な状態になるまで待ちます。他のジョブが実行されているときは、他のジョブが終了するまで待ちます。

Parameters
  • project_id – プロジェクトID

  • job_type – ジョブ種別

  • job_access_interval – ジョブにアクセスする間隔[sec]

  • max_job_access – ジョブに最大何回アクセスするか

Returns

指定した時間(アクセス頻度と回数)待った後、ジョブが実行可能な状態かどうか。進行中のジョブが存在する場合は、ジョブが実行不可能。