annofabapi 1.7.0__tar.gz → 1.7.2__tar.gz

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.
Files changed (592) hide show
  1. {annofabapi-1.7.0 → annofabapi-1.7.2}/PKG-INFO +1 -1
  2. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/generated_api.py +1 -2
  3. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/attribute_restrictions.py +250 -3
  4. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/annotation.py +1 -1
  5. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/annotation_specs.py +1 -1
  6. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/swagger/swagger.v2.yaml +1 -1
  7. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/swagger/swagger.yaml +2 -10
  8. {annofabapi-1.7.0 → annofabapi-1.7.2}/pyproject.toml +1 -1
  9. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/util/test_attribute_restrictions.py +64 -0
  10. annofabapi-1.7.2/uv.lock +1805 -0
  11. annofabapi-1.7.0/uv.lock +0 -1739
  12. {annofabapi-1.7.0 → annofabapi-1.7.2}/.agents/skills/python-coding-style/SKILL.md +0 -0
  13. {annofabapi-1.7.0 → annofabapi-1.7.2}/.agents/skills/test-writing/SKILL.md +0 -0
  14. {annofabapi-1.7.0 → annofabapi-1.7.2}/.codex/config.toml +0 -0
  15. {annofabapi-1.7.0 → annofabapi-1.7.2}/.devcontainer/.extensions/.gitignore +0 -0
  16. {annofabapi-1.7.0 → annofabapi-1.7.2}/.devcontainer/Dockerfile +0 -0
  17. {annofabapi-1.7.0 → annofabapi-1.7.2}/.devcontainer/devcontainer.json +0 -0
  18. {annofabapi-1.7.0 → annofabapi-1.7.2}/.devcontainer/entrypoint.sh +0 -0
  19. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  20. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  21. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/copilot-instructions.md +0 -0
  22. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/dependabot.yml +0 -0
  23. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/workflows/codeql-analysis.yml +0 -0
  24. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/workflows/codeql.yml +0 -0
  25. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/workflows/lint-test.yml +0 -0
  26. {annofabapi-1.7.0 → annofabapi-1.7.2}/.github/workflows/publish-to-pypi.yml +0 -0
  27. {annofabapi-1.7.0 → annofabapi-1.7.2}/.gitignore +0 -0
  28. {annofabapi-1.7.0 → annofabapi-1.7.2}/.readthedocs.yaml +0 -0
  29. {annofabapi-1.7.0 → annofabapi-1.7.2}/.vscode/cspell.json +0 -0
  30. {annofabapi-1.7.0 → annofabapi-1.7.2}/.vscode/settings.json +0 -0
  31. {annofabapi-1.7.0 → annofabapi-1.7.2}/AGENTS.md +0 -0
  32. {annofabapi-1.7.0 → annofabapi-1.7.2}/LICENSE +0 -0
  33. {annofabapi-1.7.0 → annofabapi-1.7.2}/Makefile +0 -0
  34. {annofabapi-1.7.0 → annofabapi-1.7.2}/README.md +0 -0
  35. {annofabapi-1.7.0 → annofabapi-1.7.2}/README_for_developer.md +0 -0
  36. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/__init__.py +0 -0
  37. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/_utils.py +0 -0
  38. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/api.py +0 -0
  39. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/api2.py +0 -0
  40. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/credentials.py +0 -0
  41. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/__init__.py +0 -0
  42. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/annotation.py +0 -0
  43. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/annotation_specs.py +0 -0
  44. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/comment.py +0 -0
  45. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/input.py +0 -0
  46. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/job.py +0 -0
  47. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/organization.py +0 -0
  48. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/organization_member.py +0 -0
  49. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/project.py +0 -0
  50. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/project_member.py +0 -0
  51. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/supplementary.py +0 -0
  52. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/dataclass/task.py +0 -0
  53. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/exceptions.py +0 -0
  54. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/generated_api2.py +0 -0
  55. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/models.py +0 -0
  56. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/parser.py +0 -0
  57. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/plugin.py +0 -0
  58. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/project_member_repository.py +0 -0
  59. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/py.typed +0 -0
  60. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/__init__.py +0 -0
  61. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/accept_organization_invitation_request.py +0 -0
  62. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/account.py +0 -0
  63. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/account_worktime_statistics.py +0 -0
  64. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/action_required.py +0 -0
  65. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_default_type.py +0 -0
  66. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_definition_type.py +0 -0
  67. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_definition_v1.py +0 -0
  68. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_definition_v1_choices_inner.py +0 -0
  69. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_definition_v2.py +0 -0
  70. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction.py +0 -0
  71. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition.py +0 -0
  72. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_can_input.py +0 -0
  73. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_equals.py +0 -0
  74. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_has_label.py +0 -0
  75. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_imply.py +0 -0
  76. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_matches.py +0 -0
  77. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_not_equals.py +0 -0
  78. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_restriction_condition_not_matches.py +0 -0
  79. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_v1.py +0 -0
  80. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_v2.py +0 -0
  81. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value.py +0 -0
  82. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_choice.py +0 -0
  83. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_comment.py +0 -0
  84. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_flag.py +0 -0
  85. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_integer.py +0 -0
  86. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_link.py +0 -0
  87. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_select.py +0 -0
  88. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_text.py +0 -0
  89. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/additional_data_value_tracking.py +0 -0
  90. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/aggregation_result.py +0 -0
  91. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/all_oidc_endpoints.py +0 -0
  92. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_data_holding_type.py +0 -0
  93. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_data_v1.py +0 -0
  94. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_input.py +0 -0
  95. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_input_inner.py +0 -0
  96. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_input_outer.py +0 -0
  97. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_output.py +0 -0
  98. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_output_inner.py +0 -0
  99. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_output_inner_unknown.py +0 -0
  100. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_output_outer.py +0 -0
  101. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_content_output_outer_unresolved.py +0 -0
  102. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v1.py +0 -0
  103. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_create.py +0 -0
  104. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_get.py +0 -0
  105. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_import.py +0 -0
  106. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_input.py +0 -0
  107. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_output.py +0 -0
  108. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_detail_v2_update.py +0 -0
  109. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_editor_feature.py +0 -0
  110. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_input.py +0 -0
  111. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_list.py +0 -0
  112. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_output.py +0 -0
  113. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_props_for_editor.py +0 -0
  114. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_query.py +0 -0
  115. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs.py +0 -0
  116. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_history.py +0 -0
  117. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_movie_option.py +0 -0
  118. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_option.py +0 -0
  119. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_request.py +0 -0
  120. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_request_v1.py +0 -0
  121. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_request_v2.py +0 -0
  122. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_request_v3.py +0 -0
  123. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_v1.py +0 -0
  124. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_v2.py +0 -0
  125. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_specs_v3.py +0 -0
  126. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail.py +0 -0
  127. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_detail.py +0 -0
  128. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_detail_failed.py +0 -0
  129. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_detail_image_slice.py +0 -0
  130. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_detail_unsupported.py +0 -0
  131. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_image.py +0 -0
  132. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_thumbnail_image_source.py +0 -0
  133. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type.py +0 -0
  134. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_annotation_editor_feature.py +0 -0
  135. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_display_line_direction.py +0 -0
  136. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_margin_of_error_tolerance.py +0 -0
  137. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_minimum_area2d.py +0 -0
  138. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_minimum_size2d.py +0 -0
  139. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_minimum_size2d_with_default_insert_position.py +0 -0
  140. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_one_boolean_field.py +0 -0
  141. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_one_integer_field.py +0 -0
  142. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_one_string_field.py +0 -0
  143. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_definition_vertex_count_min_max.py +0 -0
  144. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_min_warn_rule.py +0 -0
  145. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value.py +0 -0
  146. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_annotation_editor_feature.py +0 -0
  147. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_display_line_direction.py +0 -0
  148. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_empty_field_value.py +0 -0
  149. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_margin_of_error_tolerance.py +0 -0
  150. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_minimum_area2d.py +0 -0
  151. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_minimum_size.py +0 -0
  152. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_minimum_size2d_with_default_insert_position.py +0 -0
  153. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_one_boolean_field_value.py +0 -0
  154. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_one_integer_field_value.py +0 -0
  155. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_one_string_field_value.py +0 -0
  156. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_type_field_value_vertex_count_min_max.py +0 -0
  157. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_v1.py +0 -0
  158. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_v2_input.py +0 -0
  159. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotation_v2_output.py +0 -0
  160. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/annotations_by_input_data_id_identifier.py +0 -0
  161. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/assignee_rule_of_resubmitted_task.py +0 -0
  162. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_request_item.py +0 -0
  163. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_request_item_delete.py +0 -0
  164. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_request_item_put_v1.py +0 -0
  165. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_request_item_put_v2.py +0 -0
  166. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_v1.py +0 -0
  167. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_annotation_v2.py +0 -0
  168. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_comment_request_item.py +0 -0
  169. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_comment_request_item_delete.py +0 -0
  170. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_comment_request_item_put.py +0 -0
  171. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_input_data_request_item.py +0 -0
  172. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_input_data_request_item_delete.py +0 -0
  173. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_inspection_request_item.py +0 -0
  174. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_inspection_request_item_delete.py +0 -0
  175. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_inspection_request_item_put.py +0 -0
  176. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_task_request_item.py +0 -0
  177. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/batch_task_request_item_delete.py +0 -0
  178. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/bounding_box_metadata.py +0 -0
  179. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/change_password_request.py +0 -0
  180. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/color.py +0 -0
  181. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/comment.py +0 -0
  182. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/comment_node.py +0 -0
  183. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/comment_status.py +0 -0
  184. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/comment_type.py +0 -0
  185. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/comment_validation_error.py +0 -0
  186. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/confirm_account_delete_request.py +0 -0
  187. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/confirm_reset_email_request.py +0 -0
  188. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/confirm_reset_password_request.py +0 -0
  189. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/confirm_sign_up_request.py +0 -0
  190. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/confirm_verify_email_request.py +0 -0
  191. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/count.py +0 -0
  192. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/count_result.py +0 -0
  193. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/data_path.py +0 -0
  194. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/date_range.py +0 -0
  195. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/default_annotation_type.py +0 -0
  196. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/delete_project_response.py +0 -0
  197. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/duplicated_segmentation_v2.py +0 -0
  198. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/duplicated_v1.py +0 -0
  199. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/duplicated_v2.py +0 -0
  200. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/editor_usage_timespan.py +0 -0
  201. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/error_item.py +0 -0
  202. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/errors.py +0 -0
  203. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/external_idp_determinant.py +0 -0
  204. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation.py +0 -0
  205. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data.py +0 -0
  206. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_choice_value.py +0 -0
  207. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value.py +0 -0
  208. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_choice.py +0 -0
  209. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_comment.py +0 -0
  210. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_flag.py +0 -0
  211. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_integer.py +0 -0
  212. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_link.py +0 -0
  213. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_additional_data_value_tracking.py +0 -0
  214. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data.py +0 -0
  215. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_bounding_box.py +0 -0
  216. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_classification.py +0 -0
  217. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_points.py +0 -0
  218. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_range.py +0 -0
  219. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_segmentation.py +0 -0
  220. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_segmentation_v2.py +0 -0
  221. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_single_point.py +0 -0
  222. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_data_unknown.py +0 -0
  223. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/full_annotation_detail.py +0 -0
  224. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/get_editor_annotations_in_bulk_response.py +0 -0
  225. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/get_input_data_in_bulk_response.py +0 -0
  226. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/get_supplementary_data_in_bulk_response.py +0 -0
  227. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/get_tasks_in_bulk_response.py +0 -0
  228. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/global_idp_name_determinant.py +0 -0
  229. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/graph_type.py +0 -0
  230. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/histogram_item.py +0 -0
  231. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/illegal_state.py +0 -0
  232. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/initiate_mfa_setup_request.py +0 -0
  233. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/initiate_mfa_setup_response.py +0 -0
  234. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data.py +0 -0
  235. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_identifier.py +0 -0
  236. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_list.py +0 -0
  237. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_order.py +0 -0
  238. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_request.py +0 -0
  239. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_set.py +0 -0
  240. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_summary.py +0 -0
  241. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/input_data_type.py +0 -0
  242. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection.py +0 -0
  243. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data.py +0 -0
  244. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data_custom.py +0 -0
  245. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data_point.py +0 -0
  246. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data_polyline.py +0 -0
  247. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data_polyline_coordinates_inner.py +0 -0
  248. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_data_time.py +0 -0
  249. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_or_reply_required.py +0 -0
  250. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_phrase.py +0 -0
  251. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_statistics.py +0 -0
  252. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_statistics_breakdown.py +0 -0
  253. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_statistics_phrases.py +0 -0
  254. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_status.py +0 -0
  255. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_summary.py +0 -0
  256. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/inspection_validation_error.py +0 -0
  257. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/instruction.py +0 -0
  258. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/instruction_history.py +0 -0
  259. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/instruction_image.py +0 -0
  260. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/instruction_image_path.py +0 -0
  261. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/internationalization_message.py +0 -0
  262. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/internationalization_message_messages_inner.py +0 -0
  263. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/invalid_annotation_data.py +0 -0
  264. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/invalid_choice.py +0 -0
  265. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/invalid_link_target.py +0 -0
  266. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/invalid_value.py +0 -0
  267. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/invite_organization_member_request.py +0 -0
  268. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/issue_personal_access_token_request.py +0 -0
  269. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/issue_project_guest_user_token_request.py +0 -0
  270. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/issue_project_token_request.py +0 -0
  271. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/issuer_only_oidc_endpoints.py +0 -0
  272. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail.py +0 -0
  273. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail_copy_project.py +0 -0
  274. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail_gen_inputs.py +0 -0
  275. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail_gen_tasks.py +0 -0
  276. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail_invoke_hook.py +0 -0
  277. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_detail_move_project.py +0 -0
  278. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/job_status.py +0 -0
  279. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/key_layout.py +0 -0
  280. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/keybind.py +0 -0
  281. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/label_statistics.py +0 -0
  282. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/label_v1.py +0 -0
  283. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/label_v2.py +0 -0
  284. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/label_v3.py +0 -0
  285. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/lang.py +0 -0
  286. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/login_need_challenge_response.py +0 -0
  287. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/login_request.py +0 -0
  288. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/login_respond_to_auth_challenge_request.py +0 -0
  289. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/login_response.py +0 -0
  290. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/login_succeed_response.py +0 -0
  291. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/marker.py +0 -0
  292. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/markers.py +0 -0
  293. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/message.py +0 -0
  294. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/message_or_job_info.py +0 -0
  295. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/mfa_setting.py +0 -0
  296. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_account.py +0 -0
  297. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_notification_list.py +0 -0
  298. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_notification_message.py +0 -0
  299. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_notification_unread_messages_count.py +0 -0
  300. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_organization.py +0 -0
  301. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/my_organization_list.py +0 -0
  302. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/no_comment.py +0 -0
  303. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/no_comment_inspection.py +0 -0
  304. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/oidc_attribute_mapping.py +0 -0
  305. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/oidc_endpoints.py +0 -0
  306. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization.py +0 -0
  307. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_activity.py +0 -0
  308. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_cache_record.py +0 -0
  309. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_idp_id_determinant.py +0 -0
  310. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_job_info.py +0 -0
  311. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_job_info_container.py +0 -0
  312. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_member.py +0 -0
  313. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_member_list.py +0 -0
  314. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_member_role.py +0 -0
  315. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_member_status.py +0 -0
  316. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_oidc_idp.py +0 -0
  317. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin.py +0 -0
  318. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_compatibility.py +0 -0
  319. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_compatibility_type.py +0 -0
  320. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_compatibility_type_bottom.py +0 -0
  321. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_compatibility_type_constant.py +0 -0
  322. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_compatibility_type_top.py +0 -0
  323. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_plugin_list.py +0 -0
  324. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/organization_registration_request.py +0 -0
  325. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/overlapped_range_annotation.py +0 -0
  326. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/password_reset_request.py +0 -0
  327. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/personal_access_token.py +0 -0
  328. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/personal_access_token_info.py +0 -0
  329. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/personal_access_token_permission.py +0 -0
  330. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/personal_access_token_permission_all.py +0 -0
  331. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/phase_statistics.py +0 -0
  332. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_detail.py +0 -0
  333. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_detail_annotation_editor.py +0 -0
  334. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_detail_annotation_specs.py +0 -0
  335. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_detail_extended_annotation_specs.py +0 -0
  336. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_detail_task_assignment.py +0 -0
  337. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_token_request.py +0 -0
  338. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_token_request_authorization_code.py +0 -0
  339. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_token_request_refresh_token.py +0 -0
  340. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/plugin_token_response.py +0 -0
  341. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/point.py +0 -0
  342. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/position_for_minimum_bounding_box_insertion.py +0 -0
  343. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_annotation_archive_update_response.py +0 -0
  344. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_annotation_archive_update_response_wrapper.py +0 -0
  345. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_exchange_code_login_response.py +0 -0
  346. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_exchange_code_response.py +0 -0
  347. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_mfa_setting_request.py +0 -0
  348. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/post_project_tasks_update_response.py +0 -0
  349. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/price_plan.py +0 -0
  350. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project.py +0 -0
  351. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_account_statistics.py +0 -0
  352. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_account_statistics_history.py +0 -0
  353. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_cache_record.py +0 -0
  354. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_configuration_get.py +0 -0
  355. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_configuration_put.py +0 -0
  356. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_container.py +0 -0
  357. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_copy_request.py +0 -0
  358. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_copy_response.py +0 -0
  359. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data.py +0 -0
  360. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_kind.py +0 -0
  361. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_kind_scope.py +0 -0
  362. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_value.py +0 -0
  363. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_value_default.py +0 -0
  364. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_value_empty.py +0 -0
  365. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_extra_data_value_saved.py +0 -0
  366. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_guest_user_profile.py +0 -0
  367. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_inputs_update_response.py +0 -0
  368. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_job_info.py +0 -0
  369. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_job_info_container.py +0 -0
  370. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_job_type.py +0 -0
  371. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_list.py +0 -0
  372. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_member.py +0 -0
  373. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_member_list.py +0 -0
  374. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_member_request.py +0 -0
  375. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_member_role.py +0 -0
  376. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_member_status.py +0 -0
  377. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_status.py +0 -0
  378. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_summary.py +0 -0
  379. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_task_counts.py +0 -0
  380. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_task_counts_task_counts_inner.py +0 -0
  381. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_task_statistics.py +0 -0
  382. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_task_statistics_history.py +0 -0
  383. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_token.py +0 -0
  384. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/project_token_info.py +0 -0
  385. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_annotation_request.py +0 -0
  386. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_annotation_thumbnail_body.py +0 -0
  387. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_input_data_set_request.py +0 -0
  388. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_instruction_request.py +0 -0
  389. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_markers_request.py +0 -0
  390. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_my_account_request.py +0 -0
  391. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_my_notification_message_opened_request.py +0 -0
  392. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_organization_idp_body.py +0 -0
  393. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_organization_member_role_request.py +0 -0
  394. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_organization_plugin_request.py +0 -0
  395. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_organization_request.py +0 -0
  396. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_project_extra_data_body.py +0 -0
  397. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_project_request.py +0 -0
  398. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_project_response.py +0 -0
  399. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/put_webhook_request.py +0 -0
  400. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/refresh_token_request.py +0 -0
  401. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/reply_comment.py +0 -0
  402. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/reply_required.py +0 -0
  403. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/reset_email_request.py +0 -0
  404. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/resolution.py +0 -0
  405. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/revoke_personal_access_token_request.py +0 -0
  406. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/revoke_project_token_request.py +0 -0
  407. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/root_comment.py +0 -0
  408. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/segmentation_metadata.py +0 -0
  409. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/sign_up_request.py +0 -0
  410. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/simple_annotation.py +0 -0
  411. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/simple_annotation_detail.py +0 -0
  412. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/single_annotation.py +0 -0
  413. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/single_annotation_detail_v1.py +0 -0
  414. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/single_annotation_detail_v2.py +0 -0
  415. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/single_annotation_v1.py +0 -0
  416. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/single_annotation_v2.py +0 -0
  417. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/supplementary_data.py +0 -0
  418. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/supplementary_data_by_input_data_id_identifier.py +0 -0
  419. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/supplementary_data_request.py +0 -0
  420. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/supplementary_data_type.py +0 -0
  421. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/system_metadata.py +0 -0
  422. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/system_metadata_custom.py +0 -0
  423. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/system_metadata_image.py +0 -0
  424. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/system_metadata_movie.py +0 -0
  425. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task.py +0 -0
  426. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assign_request.py +0 -0
  427. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assign_request_type.py +0 -0
  428. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assign_request_type_random.py +0 -0
  429. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assign_request_type_selection.py +0 -0
  430. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assign_request_type_task_property.py +0 -0
  431. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assignment_order.py +0 -0
  432. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assignment_property.py +0 -0
  433. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_assignment_type.py +0 -0
  434. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_request.py +0 -0
  435. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_response.py +0 -0
  436. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_response_wrapper.py +0 -0
  437. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_rule.py +0 -0
  438. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_rule_by_count.py +0 -0
  439. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_rule_by_directory.py +0 -0
  440. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_generate_rule_by_input_data_csv.py +0 -0
  441. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_history.py +0 -0
  442. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_history_event.py +0 -0
  443. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_history_short.py +0 -0
  444. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_identifier.py +0 -0
  445. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_input_validation.py +0 -0
  446. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_list.py +0 -0
  447. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_operation.py +0 -0
  448. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_phase.py +0 -0
  449. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_phase_statistics.py +0 -0
  450. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_request.py +0 -0
  451. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_status.py +0 -0
  452. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/task_validation.py +0 -0
  453. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/temporary_url.py +0 -0
  454. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/token.py +0 -0
  455. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/unconfirmed_user_response.py +0 -0
  456. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/unknown_additional_data.py +0 -0
  457. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/unknown_label.py +0 -0
  458. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/unknown_link_target.py +0 -0
  459. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/update_status_required.py +0 -0
  460. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/usage_status.py +0 -0
  461. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/usage_status_by_day.py +0 -0
  462. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/usage_status_csv_file_url.py +0 -0
  463. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_cache_record.py +0 -0
  464. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_defined_annotation_data_type.py +0 -0
  465. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_defined_annotation_type_definition.py +0 -0
  466. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_defined_annotation_type_definition_field_definitions_inner.py +0 -0
  467. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_defined_annotation_type_field_definition.py +0 -0
  468. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/user_id_determinant.py +0 -0
  469. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/validation_error.py +0 -0
  470. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/verify_email_request.py +0 -0
  471. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook.py +0 -0
  472. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_event_type.py +0 -0
  473. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_header.py +0 -0
  474. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_http_method.py +0 -0
  475. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_status.py +0 -0
  476. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_test_request.py +0 -0
  477. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/webhook_test_response.py +0 -0
  478. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/worktime_statistics.py +0 -0
  479. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/worktime_statistics_by_account.py +0 -0
  480. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/worktime_statistics_by_project.py +0 -0
  481. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/worktime_statistics_data.py +0 -0
  482. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/pydantic_models/worktime_statistics_item.py +0 -0
  483. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/resource.py +0 -0
  484. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/segmentation.py +0 -0
  485. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/__init__.py +0 -0
  486. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/annotation_specs.py +0 -0
  487. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/page.py +0 -0
  488. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/task_history.py +0 -0
  489. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/util/type_util.py +0 -0
  490. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/utils.py +0 -0
  491. {annofabapi-1.7.0 → annofabapi-1.7.2}/annofabapi/wrapper.py +0 -0
  492. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/Makefile +0 -0
  493. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/_static/.gitkeep +0 -0
  494. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/_static/css/custom.css +0 -0
  495. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/_templates/links.html +0 -0
  496. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/api.rst +0 -0
  497. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/api2.rst +0 -0
  498. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/credentials.rst +0 -0
  499. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/dataclass.rst +0 -0
  500. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/exceptions.rst +0 -0
  501. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/index.rst +0 -0
  502. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/models.rst +0 -0
  503. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/parser.rst +0 -0
  504. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/plugin.rst +0 -0
  505. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/project_member_repository.rst +0 -0
  506. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/pydantic_models.rst +0 -0
  507. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/resource.rst +0 -0
  508. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/segmentation.rst +0 -0
  509. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/util.rst +0 -0
  510. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/utils.rst +0 -0
  511. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/api_reference/wrapper.rst +0 -0
  512. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/conf.py +0 -0
  513. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/create_pydantic_modes_rst.sh +0 -0
  514. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/faq.rst +0 -0
  515. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/img/logo_landscape.png +0 -0
  516. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/index.rst +0 -0
  517. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/requirements.txt +0 -0
  518. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/user_guide/advanced_usage.rst +0 -0
  519. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/user_guide/basic_usage.rst +0 -0
  520. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/user_guide/for_developer.rst +0 -0
  521. {annofabapi-1.7.0 → annofabapi-1.7.2}/docs/user_guide/index.rst +0 -0
  522. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/.openapi-generator-ignore_v1 +0 -0
  523. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/.openapi-generator-ignore_v2 +0 -0
  524. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/README.md +0 -0
  525. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/generate.sh +0 -0
  526. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-footer/models_partial_footer.py +0 -0
  527. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/comment.py +0 -0
  528. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/common.py +0 -0
  529. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/input.py +0 -0
  530. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/instruction.py +0 -0
  531. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/my.py +0 -0
  532. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/organization.py +0 -0
  533. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/organization_member.py +0 -0
  534. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/project_member.py +0 -0
  535. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/statistics.py +0 -0
  536. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/supplementary.py +0 -0
  537. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/task.py +0 -0
  538. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/dataclass/webhook.py +0 -0
  539. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/generated_api_partial_header_v1.py +0 -0
  540. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/generated_api_partial_header_v2.py +0 -0
  541. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/partial-header/models_partial_header_v1.py +0 -0
  542. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/swagger/swagger-api-components.yaml +0 -0
  543. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/swagger/swagger-partial-header.yaml +0 -0
  544. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/template/api.mustache +0 -0
  545. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/template/model.mustache +0 -0
  546. {annofabapi-1.7.0 → annofabapi-1.7.2}/generate/template_dataclass/model.mustache +0 -0
  547. {annofabapi-1.7.0 → annofabapi-1.7.2}/pytest.ini +0 -0
  548. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/__init__.py +0 -0
  549. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/conftest.py +0 -0
  550. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/create_test_project.py +0 -0
  551. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_0/0733d1e1-ef85-455e-aec0-ff05c499b711.json +0 -0
  552. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_0/a3281975-e632-47a7-a71f-08013fad5604.json +0 -0
  553. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
  554. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/762f113a-5e17-4b49-861e-dfbea1dda09d +0 -0
  555. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839.json +0 -0
  556. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b/e2a1fbe3-fa8e-413c-be31-882f12ef62b9 +0 -0
  557. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b/ee83756f-074d-4aab-8bfc-6ab6e754c2b8 +0 -0
  558. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b.json +0 -0
  559. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/full-annotation.zip +0 -0
  560. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/lenna.png +0 -0
  561. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/sample.txt +0 -0
  562. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/segmentation/segment1 +0 -0
  563. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_0/0733d1e1-ef85-455e-aec0-ff05c499b711.json +0 -0
  564. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_0/a3281975-e632-47a7-a71f-08013fad5604.json +0 -0
  565. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/.__tests__data__lenna.png/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
  566. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/.__tests__data__lenna.png/762f113a-5e17-4b49-861e-dfbea1dda09d +0 -0
  567. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/.__tests__data__lenna.png/e2a1fbe3-fa8e-413c-be31-882f12ef62b9 +0 -0
  568. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/.__tests__data__lenna.png/ee83756f-074d-4aab-8bfc-6ab6e754c2b8 +0 -0
  569. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
  570. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/762f113a-5e17-4b49-861e-dfbea1dda09d +0 -0
  571. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839.json +0 -0
  572. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b/e2a1fbe3-fa8e-413c-be31-882f12ef62b9 +0 -0
  573. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b/ee83756f-074d-4aab-8bfc-6ab6e754c2b8 +0 -0
  574. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation/sample_1/c86205d1-bdd4-4110-ae46-194e661d622b.json +0 -0
  575. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/simple-annotation.zip +0 -0
  576. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/data/util/attribute_restrictions/annotation_specs.json +0 -0
  577. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_api.py +0 -0
  578. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_api2.py +0 -0
  579. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_build.py +0 -0
  580. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_parser.py +0 -0
  581. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_project_member_repository.py +0 -0
  582. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_pydantic_models.py +0 -0
  583. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_resource.py +0 -0
  584. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_sandbox.py +0 -0
  585. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_segmentation.py +0 -0
  586. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_utils.py +0 -0
  587. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/test_wrapper.py +0 -0
  588. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/util/__init__.py +0 -0
  589. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/util/test_annotation_specs.py +0 -0
  590. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/util/test_page.py +0 -0
  591. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/util/test_task_history.py +0 -0
  592. {annofabapi-1.7.0 → annofabapi-1.7.2}/tests/utils_for_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annofabapi
3
- Version: 1.7.0
3
+ Version: 1.7.2
4
4
  Summary: Python Client Library of Annofab WebAPI (https://annofab.com/docs/api/)
5
5
  Project-URL: Repository, https://github.com/kurusugawa-computer/annofab-api-python-client
6
6
  Author: Kurusugawa Computer Inc.
@@ -131,7 +131,6 @@ class AbstractAnnofabApi(abc.ABC):
131
131
  query_params (dict[str, Any]): Query Parameters
132
132
  page (int): 検索結果のうち、取得したいページの番号(1始まり)
133
133
  limit (int): 1ページあたりの取得するデータ件数
134
- aggregate_by_task_and_input (bool): `true`を指定すると、「タスクIDと入力データIDの組」ごとに検索結果を集計します。
135
134
  no_aggregate_label_and_input (bool): `true`を指定すると、ラベルIDによるアノテーション検索数の集約結果、および属性IDによるアノテーション検索数の集約結果を取得しません。 このパラメーターを`true`に指定することで集約計算は行われなくなるので、アノテーションの検索が速くなる可能性があります。
136
135
  query (str): 絞り込み条件([AnnotationQuery](#tag/x-data-types/AnnotationQuery))をJSON形式で表した文字列。
137
136
  sort (str): ソート順の指定。 以下のキーを使用できます。 * `task_id` * `input_data_id` * `detail.annotation_id` * `detail.account_id` * `detail.label_id` * `detail.data_holding_type` * `detail.created_datetime` * `detail.updated_datetime` キーの先頭に`-`を付けると、降順でソートされます。 `,`でキーを区切ると、複数のキーでソートされます。先頭のキーから順に優先順位が割り振られます。
@@ -2034,7 +2033,7 @@ class AbstractAnnofabApi(abc.ABC):
2034
2033
  authorizations: ProjectDataUser
2035
2034
 
2036
2035
 
2037
- 入力データ全件ファイルにアクセスするための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 入力データ全件ファイルは、すべての入力データが記載されたJSONファイルです。SON構造は、[InputData](#tag/x-data-types/InputData)の配列です。 ただしInputData中のurlは常にnullです。 毎日AM02:00(JST)頃に更新されます。 [postProjectInputsUpdate](#operation/postProjectInputsUpdate) APIを利用すれば、手動で入力データ全件ファイルを更新できます。
2036
+ 入力データ全件ファイルにアクセスするための、認証済み一時URLを取得します。 取得したURLは1時間で失効し、アクセスできなくなります。 入力データ全件ファイルは、すべての入力データが記載されたJSONファイルです。JSON構造は、[InputData](#tag/x-data-types/InputData)の配列です。 ただしInputData中のurlは常にnullです。 毎日AM02:00(JST)頃に更新されます。 [postProjectInputsUpdate](#operation/postProjectInputsUpdate) APIを利用すれば、手動で入力データ全件ファイルを更新できます。
2038
2037
 
2039
2038
  Args:
2040
2039
  project_id (str): プロジェクトID (required)
@@ -32,7 +32,9 @@ from collections.abc import Collection
32
32
  from enum import Enum
33
33
  from typing import Any, NoReturn, cast
34
34
 
35
- from pydantic import BaseModel, ConfigDict, Field, field_serializer, model_validator
35
+ from pydantic import BaseModel, ConfigDict, Field, GetJsonSchemaHandler, field_serializer, model_validator
36
+ from pydantic.json_schema import JsonSchemaValue
37
+ from pydantic_core import CoreSchema
36
38
 
37
39
  from annofabapi.pydantic_models.additional_data_definition_type import AdditionalDataDefinitionType
38
40
  from annofabapi.util.annotation_specs import AnnotationSpecsAccessor, AttributeChoice, AttributeDefinition, get_choice, get_english_message
@@ -49,7 +51,7 @@ class RestrictionAstType(str, Enum):
49
51
  IS_EMPTY = "is_empty"
50
52
  """属性値が空であることを表すAST種別です。"""
51
53
  IS_NOT_EMPTY = "is_not_empty"
52
- """属性値が空でないことを表すAST種別です。"""
54
+ """属性値が空でないことを表すAST種別です。必須制約に相当します。"""
53
55
  EQUALS_STRING = "equals_string"
54
56
  """文字列属性またはtracking属性が指定文字列と一致することを表すAST種別です。"""
55
57
  NOT_EQUALS_STRING = "not_equals_string"
@@ -76,6 +78,44 @@ class RestrictionAstType(str, Enum):
76
78
  def __str__(self) -> str:
77
79
  return self.value
78
80
 
81
+ @property
82
+ def description(self) -> str:
83
+ """AST種別の説明文を返します。"""
84
+ return _RESTRICTION_AST_TYPE_DESCRIPTIONS[self]
85
+
86
+ @classmethod
87
+ def __get_pydantic_json_schema__(cls, core_schema: CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue:
88
+ """AST種別ごとの説明を含むJSON Schemaを返します。"""
89
+ json_schema = handler(core_schema)
90
+ json_schema["oneOf"] = [
91
+ {
92
+ "const": ast_type.value,
93
+ "title": ast_type.name,
94
+ "description": ast_type.description,
95
+ }
96
+ for ast_type in cls
97
+ ]
98
+ return json_schema
99
+
100
+
101
+ _RESTRICTION_AST_TYPE_DESCRIPTIONS: dict[RestrictionAstType, str] = {
102
+ RestrictionAstType.CHECKED: "チェックボックス属性がチェックされていることを表すAST種別です。",
103
+ RestrictionAstType.UNCHECKED: "チェックボックス属性がチェックされていないことを表すAST種別です。",
104
+ RestrictionAstType.IS_EMPTY: "属性値が空であることを表すAST種別です。",
105
+ RestrictionAstType.IS_NOT_EMPTY: "属性値が空でないことを表すAST種別です。必須制約に相当します。",
106
+ RestrictionAstType.EQUALS_STRING: "文字列属性またはtracking属性が指定文字列と一致することを表すAST種別です。",
107
+ RestrictionAstType.NOT_EQUALS_STRING: "文字列属性またはtracking属性が指定文字列と一致しないことを表すAST種別です。",
108
+ RestrictionAstType.MATCHES_STRING: "文字列属性が指定した正規表現に一致することを表すAST種別です。",
109
+ RestrictionAstType.NOT_MATCHES_STRING: "文字列属性が指定した正規表現に一致しないことを表すAST種別です。",
110
+ RestrictionAstType.EQUALS_INTEGER: "整数属性が指定した整数値と一致することを表すAST種別です。",
111
+ RestrictionAstType.NOT_EQUALS_INTEGER: "整数属性が指定した整数値と一致しないことを表すAST種別です。",
112
+ RestrictionAstType.HAS_CHOICE: "選択属性で指定した選択肢が選ばれていることを表すAST種別です。",
113
+ RestrictionAstType.NOT_HAS_CHOICE: "選択属性で指定した選択肢が選ばれていないことを表すAST種別です。",
114
+ RestrictionAstType.HAS_LABEL: "リンク属性が指定したラベル群のいずれかを指すことを表すAST種別です。",
115
+ RestrictionAstType.CAN_INPUT: "属性が編集可能かどうかを表すAST種別です。",
116
+ RestrictionAstType.IMPLY: "前提を満たす場合に結論を要求する含意制約を表すAST種別です。",
117
+ }
118
+
79
119
 
80
120
  class Restriction(ABC):
81
121
  """属性の制約を表すクラス。"""
@@ -119,16 +159,19 @@ class Restriction(ABC):
119
159
  accessor = AnnotationSpecsAccessor(annotation_specs)
120
160
  return _restriction_to_ast(self, accessor=accessor)
121
161
 
122
- def to_human_readable(self, annotation_specs: dict[str, Any]) -> str:
162
+ def to_human_readable(self, annotation_specs: dict[str, Any], *, include_ids: bool = False) -> str:
123
163
  """
124
164
  Restrictionオブジェクトを、人にとって読みやすい文字列表現へ変換します。
125
165
 
126
166
  Args:
127
167
  annotation_specs: アノテーション仕様(v3)の情報です。
168
+ include_ids: Trueの場合、属性ID、選択肢ID、ラベルIDを文字列表現に含めます。
128
169
 
129
170
  Returns:
130
171
  CLIなどで表示しやすい文字列表現です。
131
172
  """
173
+ if include_ids:
174
+ return _restriction_to_human_readable_with_ids(self, accessor=AnnotationSpecsAccessor(annotation_specs))
132
175
  return self.to_ast(annotation_specs).to_human_readable()
133
176
 
134
177
  @classmethod
@@ -1040,6 +1083,210 @@ def _raise_invalid_restriction(*, attribute: AttributeDefinition, condition: dic
1040
1083
  raise ValueError(message)
1041
1084
 
1042
1085
 
1086
+ def _restriction_to_human_readable_with_ids(restriction: Restriction, *, accessor: AnnotationSpecsAccessor) -> str: # noqa: PLR0915
1087
+ """
1088
+ `Restriction` をID付きの人間向け文字列へ変換します。
1089
+
1090
+ Args:
1091
+ restriction: 変換元の `Restriction` です。
1092
+ accessor: 属性名、選択肢名、ラベル名の解決に使う `AnnotationSpecsAccessor` です。
1093
+
1094
+ Returns:
1095
+ 属性ID、選択肢ID、ラベルIDを含む人間向け文字列表現です。
1096
+
1097
+ Raises:
1098
+ ValueError: 人間向け文字列へ変換できない制約が含まれている場合
1099
+ """
1100
+
1101
+ def format_attribute(attribute: AttributeDefinition) -> str:
1102
+ """
1103
+ 属性名と属性IDを人間向け文字列へ変換します。
1104
+
1105
+ Args:
1106
+ attribute: アノテーション仕様上の属性定義です。
1107
+
1108
+ Returns:
1109
+ 属性名と属性IDを含む文字列表現です。
1110
+ """
1111
+ attribute_name = get_english_message(attribute["name"])
1112
+ attribute_id = attribute["additional_data_definition_id"]
1113
+ return f"{attribute_name!r} [attribute_id={attribute_id!r}]"
1114
+
1115
+ def format_choice(choice: AttributeChoice) -> str:
1116
+ """
1117
+ 選択肢名と選択肢IDを人間向け文字列へ変換します。
1118
+
1119
+ Args:
1120
+ choice: アノテーション仕様上の選択肢定義です。
1121
+
1122
+ Returns:
1123
+ 選択肢名と選択肢IDを含む文字列表現です。
1124
+ """
1125
+ choice_name = get_english_message(choice["name"])
1126
+ choice_id = choice["choice_id"]
1127
+ return f"{choice_name!r} [choice_id={choice_id!r}]"
1128
+
1129
+ def format_label(label_id: str) -> str:
1130
+ """
1131
+ ラベル名とラベルIDを人間向け文字列へ変換します。
1132
+
1133
+ Args:
1134
+ label_id: ラベルIDです。
1135
+
1136
+ Returns:
1137
+ ラベル名とラベルIDを含む文字列表現です。
1138
+ """
1139
+ label = accessor.get_label(label_id=label_id)
1140
+ label_name = get_english_message(label["label_name"])
1141
+ return f"{label_name!r} [label_id={label_id!r}]"
1142
+
1143
+ def parse_integer_value(value: str, *, attribute: AttributeDefinition, condition: dict[str, Any]) -> int:
1144
+ """
1145
+ 整数属性向けの文字列値を整数へ変換します。
1146
+
1147
+ Args:
1148
+ value: 変換対象の文字列値です。
1149
+ attribute: アノテーション仕様上の属性定義です。
1150
+ condition: 元の条件辞書です。
1151
+
1152
+ Returns:
1153
+ 変換後の整数値です。
1154
+
1155
+ Raises:
1156
+ ValueError: 整数へ変換できない場合
1157
+ """
1158
+ try:
1159
+ return int(value)
1160
+ except ValueError as exc:
1161
+ _raise_invalid_restriction(attribute=attribute, condition=condition, detail="整数属性には整数値を指定してください。")
1162
+ raise AssertionError("unreachable") from exc
1163
+
1164
+ def equals_restriction_to_text(
1165
+ *, attribute: AttributeDefinition, attribute_text: str, attribute_type: AdditionalDataDefinitionType, value: str
1166
+ ) -> str:
1167
+ match attribute_type:
1168
+ case "flag" if value == "true":
1169
+ return f"{attribute_text} is checked"
1170
+ case "text" | "comment" | "integer" | "link" | "tracking" | "choice" | "select" if value == "":
1171
+ return f"{attribute_text} is empty"
1172
+ case "text" | "comment" | "tracking":
1173
+ return f"{attribute_text} is {value!r}"
1174
+ case "integer":
1175
+ integer_value = parse_integer_value(value, attribute=attribute, condition={"_type": "Equals", "value": value})
1176
+ return f"{attribute_text} is {integer_value!r}"
1177
+ case "choice" | "select":
1178
+ choice = get_choice(cast(list[AttributeChoice], attribute["choices"]), choice_id=value)
1179
+ return f"{attribute_text} is {format_choice(choice)}"
1180
+ case _:
1181
+ raise ValueError(
1182
+ f"Restrictionを人間向け文字列へ変換できません。 :: restriction_type='Equals', attribute_type='{attribute_type}', value={value!r}"
1183
+ )
1184
+
1185
+ def not_equals_restriction_to_text(
1186
+ *, attribute: AttributeDefinition, attribute_text: str, attribute_type: AdditionalDataDefinitionType, value: str
1187
+ ) -> str:
1188
+ match attribute_type:
1189
+ case "flag" if value == "true":
1190
+ return f"{attribute_text} is unchecked"
1191
+ case "text" | "comment" | "integer" | "link" | "tracking" | "choice" | "select" if value == "":
1192
+ return f"{attribute_text} is not empty"
1193
+ case "text" | "comment" | "tracking":
1194
+ return f"{attribute_text} is not {value!r}"
1195
+ case "integer":
1196
+ integer_value = parse_integer_value(value, attribute=attribute, condition={"_type": "NotEquals", "value": value})
1197
+ return f"{attribute_text} is not {integer_value!r}"
1198
+ case "choice" | "select":
1199
+ choice = get_choice(cast(list[AttributeChoice], attribute["choices"]), choice_id=value)
1200
+ return f"{attribute_text} is not {format_choice(choice)}"
1201
+ case _:
1202
+ restriction_type = "NotEquals"
1203
+ raise ValueError(
1204
+ f"Restrictionを人間向け文字列へ変換できません。 :: restriction_type='{restriction_type}', "
1205
+ f"attribute_type='{attribute_type}', value={value!r}"
1206
+ )
1207
+
1208
+ def atomic_restriction_to_text(restriction: Restriction, *, attribute: AttributeDefinition) -> str:
1209
+ """
1210
+ `imply` 以外の `Restriction` をID付きの人間向け文字列へ変換します。
1211
+
1212
+ Args:
1213
+ restriction: 変換元の `Restriction` です。
1214
+ attribute: 制約対象の属性定義です。
1215
+
1216
+ Returns:
1217
+ ID付きの人間向け文字列表現です。
1218
+ """
1219
+ attribute_type = attribute["type"]
1220
+ attribute_text = format_attribute(attribute)
1221
+
1222
+ match restriction:
1223
+ case CanInput(enable=enable):
1224
+ return f"{attribute_text} can be edited" if enable else f"{attribute_text} is read-only"
1225
+ case Equals(value=value):
1226
+ return equals_restriction_to_text(
1227
+ attribute=attribute,
1228
+ attribute_text=attribute_text,
1229
+ attribute_type=attribute_type,
1230
+ value=value,
1231
+ )
1232
+ case NotEquals(value=value):
1233
+ return not_equals_restriction_to_text(
1234
+ attribute=attribute,
1235
+ attribute_text=attribute_text,
1236
+ attribute_type=attribute_type,
1237
+ value=value,
1238
+ )
1239
+ case Matches(value=value) if attribute_type in {"text", "comment"}:
1240
+ return f"{attribute_text} matches {value!r}"
1241
+ case NotMatches(value=value) if attribute_type in {"text", "comment"}:
1242
+ return f"{attribute_text} does not match {value!r}"
1243
+ case HasLabel(label_ids=label_ids) if attribute_type == "link":
1244
+ return f"{attribute_text} has labels {', '.join(format_label(label_id) for label_id in label_ids)}"
1245
+ case _:
1246
+ _raise_invalid_restriction(attribute=attribute, condition=restriction.to_dict()["condition"])
1247
+
1248
+ def flatten_imply_conditions(restriction: Imply) -> tuple[list[Restriction], Restriction]:
1249
+ """
1250
+ 右側にネストした `imply` を条件列と結論へ分解します。
1251
+
1252
+ Args:
1253
+ restriction: `imply` 種別の制約です。
1254
+
1255
+ Returns:
1256
+ 条件制約の一覧と最終的な結論制約です。
1257
+ """
1258
+ conditions = [restriction.premise_restriction]
1259
+ conclusion = restriction.conclusion_restriction
1260
+ while isinstance(conclusion, Imply):
1261
+ conditions.append(conclusion.premise_restriction)
1262
+ conclusion = conclusion.conclusion_restriction
1263
+ return conditions, conclusion
1264
+
1265
+ def to_human_condition_text(restriction: Restriction) -> str:
1266
+ """
1267
+ 条件節で使う人間向け文字列表現へ変換します。
1268
+
1269
+ Args:
1270
+ restriction: 変換対象の制約です。
1271
+
1272
+ Returns:
1273
+ 条件節で使いやすい文字列表現です。
1274
+ """
1275
+ if isinstance(restriction, Imply):
1276
+ return f"({_restriction_to_human_readable_with_ids(restriction, accessor=accessor)})"
1277
+ return _restriction_to_human_readable_with_ids(restriction, accessor=accessor)
1278
+
1279
+ match restriction:
1280
+ case Imply():
1281
+ conditions, conclusion = flatten_imply_conditions(restriction)
1282
+ conditions_text = " and ".join(to_human_condition_text(condition) for condition in conditions)
1283
+ conclusion_text = _restriction_to_human_readable_with_ids(conclusion, accessor=accessor)
1284
+ return f"If {conditions_text}, {conclusion_text}."
1285
+
1286
+ attribute = accessor.get_attribute(attribute_id=restriction.attribute_id)
1287
+ return atomic_restriction_to_text(restriction, attribute=attribute)
1288
+
1289
+
1043
1290
  def _restriction_to_ast(restriction: Restriction, *, accessor: AnnotationSpecsAccessor) -> RestrictionAst:
1044
1291
  """
1045
1292
  `Restriction` を意味ベースの `RestrictionAst` へ変換します。
@@ -7,7 +7,7 @@ from annofabapi.models import (
7
7
  TaskStatus,
8
8
  )
9
9
 
10
- AnnotationDataV1 = Union[str, dict[str, Any]]
10
+ AnnotationDataV1 = str | dict[str, Any]
11
11
  FullAnnotationData = Any
12
12
  AdditionalDataValue = dict[str, Any]
13
13
  FullAnnotationAdditionalDataValue = dict[str, Any]
@@ -1,6 +1,6 @@
1
1
  from annofabapi.models import AdditionalDataDefinitionType, AnnotationTypeFieldMinWarnRule
2
2
 
3
- AdditionalDataDefaultType = Union[bool, int, str]
3
+ AdditionalDataDefaultType = bool | int | str
4
4
 
5
5
  AdditionalDataRestrictionCondition = dict[str, Any]
6
6
 
@@ -115,7 +115,7 @@ info:
115
115
 
116
116
  上記例 `account_id_count` は、タスクのフィールド `account_id` でタスクを分類したところ「`account_id` が `c5eee002` であるタスクが9件、`9f110e48` であるタスクが5件、`b25dfeb3` であるタスクが1件」だったという結果を表しています。
117
117
 
118
- version: 0.206.0
118
+ version: 0.210.0
119
119
  title: Annofab Web API
120
120
  x-logo:
121
121
  url: "https://annofab.com/resource/images/logo_landscape.png"
@@ -119,7 +119,7 @@ info:
119
119
  上記例 `account_id_count` は、タスクのフィールド `account_id` でタスクを分類したところ「`account_id` が `c5eee002` であるタスクが9件、`9f110e48` であるタスクが5件、`b25dfeb3` であるタスクが1件」だったという結果を表しています。
120
120
  また、AggregationResultの集約の件数は、合計で10000件以下に制限されており、それを超える件数がある場合は上位10000件が取得されます。もし、省略された部分を取得したい場合は、検索条件を縛って結果に上る集約の数を減らしてください。
121
121
 
122
- version: 0.206.0
122
+ version: 0.210.0
123
123
  title: Annofab Web API
124
124
  x-logo:
125
125
  url: "https://annofab.com/resource/images/logo_landscape.png"
@@ -2094,7 +2094,7 @@ paths:
2094
2094
  入力データ全件ファイルにアクセスするための、認証済み一時URLを取得します。
2095
2095
  取得したURLは1時間で失効し、アクセスできなくなります。
2096
2096
 
2097
- 入力データ全件ファイルは、すべての入力データが記載されたJSONファイルです。SON構造は、[InputData](#tag/x-data-types/InputData)の配列です。
2097
+ 入力データ全件ファイルは、すべての入力データが記載されたJSONファイルです。JSON構造は、[InputData](#tag/x-data-types/InputData)の配列です。
2098
2098
  ただしInputData中のurlは常にnullです。
2099
2099
 
2100
2100
  毎日AM02:00(JST)頃に更新されます。
@@ -4607,14 +4607,6 @@ paths:
4607
4607
  minimum: 0
4608
4608
  maximum: 200
4609
4609
  default: 30
4610
- - name: aggregate_by_task_and_input
4611
- in: query
4612
- description: |
4613
- `true`を指定すると、「タスクIDと入力データIDの組」ごとに検索結果を集計します。
4614
- required: false
4615
- schema:
4616
- type: boolean
4617
- default: false
4618
4610
  - name: no_aggregate_label_and_input
4619
4611
  in: query
4620
4612
  description: |
@@ -48,7 +48,7 @@ test = [
48
48
  ]
49
49
  linter = [
50
50
  "ruff>=0.15 ; python_version >= '3.13'",
51
- "mypy>=1,<2 ; python_version >= '3.13'",
51
+ "mypy>=2 ; python_version >= '3.13'",
52
52
  "types-requests",
53
53
  "types-python-dateutil",
54
54
  "types-dataclasses",
@@ -281,6 +281,58 @@ class Test__Restriction:
281
281
 
282
282
  assert actual == "If 'occluded' is checked, 'note' is not empty."
283
283
 
284
+ def test__to_human_readable__include_idsがTrueなら属性IDを出力する(self):
285
+ restriction = Restriction.from_dict(
286
+ {
287
+ "additional_data_definition_id": "9b05648d-1e16-4ea2-ab79-48907f5eed00",
288
+ "condition": {
289
+ "_type": "Imply",
290
+ "premise": {
291
+ "additional_data_definition_id": "2517f635-2269-4142-8ef4-16312b4cc9f7",
292
+ "condition": {"_type": "Equals", "value": "true"},
293
+ },
294
+ "condition": {"_type": "NotEquals", "value": ""},
295
+ },
296
+ }
297
+ )
298
+
299
+ actual = restriction.to_human_readable(accessor.annotation_specs, include_ids=True)
300
+
301
+ assert (
302
+ actual == "If 'occluded' [attribute_id='2517f635-2269-4142-8ef4-16312b4cc9f7'] is checked, "
303
+ "'note' [attribute_id='9b05648d-1e16-4ea2-ab79-48907f5eed00'] is not empty."
304
+ )
305
+
306
+ def test__to_human_readable__include_idsがTrueなら選択肢IDを出力する(self):
307
+ restriction = Restriction.from_dict(
308
+ {
309
+ "additional_data_definition_id": "cbb0155f-1631-48e1-8fc3-43c5f254b6f2",
310
+ "condition": {"_type": "Equals", "value": "7512ee39-8073-4e24-9b8c-93d99b76b7d2"},
311
+ }
312
+ )
313
+
314
+ actual = restriction.to_human_readable(accessor.annotation_specs, include_ids=True)
315
+
316
+ assert (
317
+ actual == "'car_kind' [attribute_id='cbb0155f-1631-48e1-8fc3-43c5f254b6f2'] is "
318
+ "'general_car' [choice_id='7512ee39-8073-4e24-9b8c-93d99b76b7d2']"
319
+ )
320
+
321
+ def test__to_human_readable__include_idsがTrueならラベルIDを出力する(self):
322
+ restriction = Restriction.from_dict(
323
+ {
324
+ "additional_data_definition_id": "15ba8b9d-4882-40c2-bb31-ed3f68197c2e",
325
+ "condition": {"_type": "HasLabel", "labels": ["9d6cca8d-3f5a-4808-a6c9-0ae18a478176"]},
326
+ }
327
+ )
328
+
329
+ actual = restriction.to_human_readable(accessor.annotation_specs, include_ids=True)
330
+
331
+ assert (
332
+ actual == "'link_car' [attribute_id='15ba8b9d-4882-40c2-bb31-ed3f68197c2e'] has labels "
333
+ "'car' [label_id='9d6cca8d-3f5a-4808-a6c9-0ae18a478176']"
334
+ )
335
+
284
336
  def test__to_human_readable__右側にネストしたimplyは条件をまとめる(self):
285
337
  restriction = Restriction.from_dict(
286
338
  {
@@ -437,10 +489,22 @@ class Test__RestrictionAst:
437
489
  def test__model_json_schema(self):
438
490
  actual = RestrictionAst.model_json_schema()
439
491
  properties = actual["$defs"]["RestrictionAst"]["properties"]
492
+ ast_type_schema = actual["$defs"]["RestrictionAstType"]
440
493
 
441
494
  assert properties["type"]["description"] == "ASTノードの種類です。"
442
495
  assert properties["attribute_name"]["description"] == "対象属性の名前です。"
443
496
  assert properties["premise"]["description"] == "`imply` ノードの前提です。"
497
+ assert ast_type_schema["description"] == "属性制約ASTの種別です。"
498
+ assert {
499
+ "const": "checked",
500
+ "title": "CHECKED",
501
+ "description": "チェックボックス属性がチェックされていることを表すAST種別です。",
502
+ } in ast_type_schema["oneOf"]
503
+ assert {
504
+ "const": "imply",
505
+ "title": "IMPLY",
506
+ "description": "前提を満たす場合に結論を要求する含意制約を表すAST種別です。",
507
+ } in ast_type_schema["oneOf"]
444
508
 
445
509
 
446
510
  class Test__get_attribute_restriction_catalog: