annofabcli 1.104.1__tar.gz → 1.105.1__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 (657) hide show
  1. annofabcli-1.105.1/.clinerules/overview.md +19 -0
  2. {annofabcli-1.104.1 → annofabcli-1.105.1}/PKG-INFO +1 -1
  3. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/annotation_query.py +5 -0
  4. annofabcli-1.105.1/annofabcli/annotation/change_annotation_attributes_per_annotation.py +296 -0
  5. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/delete_annotation.py +1 -2
  6. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/dump_annotation.py +31 -13
  7. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/restore_annotation.py +45 -5
  8. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/subcommand_annotation.py +2 -0
  9. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_comment.py +1 -1
  10. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/visualize.py +3 -6
  11. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history_event/list_all_task_history_event.py +25 -7
  12. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history_event/list_worktime.py +71 -12
  13. annofabcli-1.105.1/docs/command_reference/annotation/change_attributes_per_annotation.rst +103 -0
  14. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/dump.rst +1 -1
  15. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/index.rst +1 -0
  16. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_worktime.rst +2 -0
  17. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/list_all/out.csv +3 -3
  18. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/list_all.rst +8 -27
  19. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/list_worktime/out.csv +3 -3
  20. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/list_worktime.rst +48 -44
  21. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_list_worktime.py +3 -1
  22. {annofabcli-1.104.1 → annofabcli-1.105.1}/.devcontainer/.extensions/.gitignore +0 -0
  23. {annofabcli-1.104.1 → annofabcli-1.105.1}/.devcontainer/Dockerfile +0 -0
  24. {annofabcli-1.104.1 → annofabcli-1.105.1}/.devcontainer/devcontainer.json +0 -0
  25. {annofabcli-1.104.1 → annofabcli-1.105.1}/.github/dependabot.yml +0 -0
  26. {annofabcli-1.104.1 → annofabcli-1.105.1}/.github/workflows/codeql-analysis.yml +0 -0
  27. {annofabcli-1.104.1 → annofabcli-1.105.1}/.github/workflows/lint-test.yml +0 -0
  28. {annofabcli-1.104.1 → annofabcli-1.105.1}/.github/workflows/publish-to-pypi.yml +0 -0
  29. {annofabcli-1.104.1 → annofabcli-1.105.1}/.github/workflows/release.yml +0 -0
  30. {annofabcli-1.104.1 → annofabcli-1.105.1}/.gitignore +0 -0
  31. {annofabcli-1.104.1 → annofabcli-1.105.1}/.readthedocs.yaml +0 -0
  32. {annofabcli-1.104.1 → annofabcli-1.105.1}/.vscode/cspell.json +0 -0
  33. {annofabcli-1.104.1 → annofabcli-1.105.1}/.vscode/settings.json +0 -0
  34. {annofabcli-1.104.1 → annofabcli-1.105.1}/LICENSE +0 -0
  35. {annofabcli-1.104.1 → annofabcli-1.105.1}/Makefile +0 -0
  36. {annofabcli-1.104.1 → annofabcli-1.105.1}/README.md +0 -0
  37. {annofabcli-1.104.1 → annofabcli-1.105.1}/README_for_developer.md +0 -0
  38. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/__init__.py +0 -0
  39. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/__main__.py +0 -0
  40. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/__init__.py +0 -0
  41. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/change_annotation_attributes.py +0 -0
  42. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/change_annotation_properties.py +0 -0
  43. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/copy_annotation.py +0 -0
  44. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/download_annotation_zip.py +0 -0
  45. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/import_annotation.py +0 -0
  46. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/list_annotation.py +0 -0
  47. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/list_annotation_count.py +0 -0
  48. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/merge_segmentation.py +0 -0
  49. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation/remove_segmentation_overlap.py +0 -0
  50. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/__init__.py +0 -0
  51. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/add_attribute_restriction.py +0 -0
  52. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/attribute_restriction.py +0 -0
  53. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/export_annotation_specs.py +0 -0
  54. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/get_annotation_specs_with_attribute_id_replaced.py +0 -0
  55. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
  56. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/get_annotation_specs_with_label_id_replaced.py +0 -0
  57. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_annotation_specs_attribute.py +0 -0
  58. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_annotation_specs_choice.py +0 -0
  59. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_annotation_specs_history.py +0 -0
  60. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_annotation_specs_label.py +0 -0
  61. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_annotation_specs_label_attribute.py +0 -0
  62. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_attribute_restriction.py +0 -0
  63. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/list_label_color.py +0 -0
  64. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/put_label_color.py +0 -0
  65. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/annotation_specs/subcommand_annotation_specs.py +0 -0
  66. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/__init__.py +0 -0
  67. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/delete_comment.py +0 -0
  68. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/download_comment_json.py +0 -0
  69. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/list_all_comment.py +0 -0
  70. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/list_comment.py +0 -0
  71. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_comment_simply.py +0 -0
  72. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_inspection_comment.py +0 -0
  73. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_inspection_comment_simply.py +0 -0
  74. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_onhold_comment.py +0 -0
  75. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/put_onhold_comment_simply.py +0 -0
  76. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/subcommand_comment.py +0 -0
  77. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/comment/utils.py +0 -0
  78. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/__init__.py +0 -0
  79. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/annofab/__init__.py +0 -0
  80. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/annofab/annotation_specs.py +0 -0
  81. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/annofab/project.py +0 -0
  82. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/bokeh.py +0 -0
  83. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/cli.py +0 -0
  84. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/dataclasses.py +0 -0
  85. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/download.py +0 -0
  86. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/enums.py +0 -0
  87. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/exceptions.py +0 -0
  88. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/facade.py +0 -0
  89. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/image.py +0 -0
  90. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/pandas.py +0 -0
  91. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/type_util.py +0 -0
  92. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/typing.py +0 -0
  93. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/common/utils.py +0 -0
  94. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/data/logging.yaml +0 -0
  95. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/experimental/__init__.py +0 -0
  96. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/experimental/list_out_of_range_annotation_for_movie.py +0 -0
  97. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/experimental/subcommand_experimental.py +0 -0
  98. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/__init__.py +0 -0
  99. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/draw_annotation.py +0 -0
  100. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/filter_annotation.py +0 -0
  101. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/mask_user_info.py +0 -0
  102. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/merge_annotation.py +0 -0
  103. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/filesystem/subcommand_filesystem.py +0 -0
  104. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/__init__.py +0 -0
  105. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/change_input_data_name.py +0 -0
  106. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/copy_input_data.py +0 -0
  107. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/delete_input_data.py +0 -0
  108. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/delete_metadata_key_of_input_data.py +0 -0
  109. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/download_input_data_json.py +0 -0
  110. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/list_all_input_data.py +0 -0
  111. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/list_all_input_data_merged_task.py +0 -0
  112. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/list_input_data.py +0 -0
  113. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/put_input_data.py +0 -0
  114. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/put_input_data_with_zip.py +0 -0
  115. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/subcommand_input_data.py +0 -0
  116. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/update_metadata_of_input_data.py +0 -0
  117. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/input_data/utils.py +0 -0
  118. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/__init__.py +0 -0
  119. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/copy_instruction.py +0 -0
  120. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/download_instruction.py +0 -0
  121. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/list_instruction_history.py +0 -0
  122. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/subcommand_instruction.py +0 -0
  123. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/instruction/upload_instruction.py +0 -0
  124. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/__init__.py +0 -0
  125. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/delete_job.py +0 -0
  126. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/list_job.py +0 -0
  127. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/list_last_job.py +0 -0
  128. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/subcommand_job.py +0 -0
  129. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/job/wait_job.py +0 -0
  130. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/my_account/__init__.py +0 -0
  131. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/my_account/get_my_account.py +0 -0
  132. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/my_account/subcommand_my_account.py +0 -0
  133. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization/__init__.py +0 -0
  134. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization/list_organization.py +0 -0
  135. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization/subcommand_organization.py +0 -0
  136. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/__init__.py +0 -0
  137. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/change_organization_member.py +0 -0
  138. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/delete_organization_member.py +0 -0
  139. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/invite_organization_member.py +0 -0
  140. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/list_organization_member.py +0 -0
  141. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/organization_member/subcommand_organization_member.py +0 -0
  142. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/__init__.py +0 -0
  143. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/change_organization_of_project.py +0 -0
  144. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/change_project_status.py +0 -0
  145. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/copy_project.py +0 -0
  146. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/diff_projects.py +0 -0
  147. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/list_project.py +0 -0
  148. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/put_project.py +0 -0
  149. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project/subcommand_project.py +0 -0
  150. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/__init__.py +0 -0
  151. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/change_project_members.py +0 -0
  152. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/copy_project_members.py +0 -0
  153. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/drop_project_members.py +0 -0
  154. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/invite_project_members.py +0 -0
  155. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/list_users.py +0 -0
  156. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/put_project_members.py +0 -0
  157. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/project_member/subcommand_project_member.py +0 -0
  158. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/py.typed +0 -0
  159. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/__init__.py +0 -0
  160. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/mask_visualization_dir.py +0 -0
  161. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/merge_visualization_dir.py +0 -0
  162. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/subcommand_stat_visualization.py +0 -0
  163. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/summarize_whole_performance_csv.py +0 -0
  164. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/write_graph.py +0 -0
  165. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/stat_visualization/write_performance_rating_csv.py +0 -0
  166. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/__init__.py +0 -0
  167. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/histogram.py +0 -0
  168. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/linegraph.py +0 -0
  169. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_annotation_area.py +0 -0
  170. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_annotation_attribute.py +0 -0
  171. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_annotation_attribute_filled_count.py +0 -0
  172. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_annotation_count.py +0 -0
  173. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_annotation_duration.py +0 -0
  174. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_video_duration.py +0 -0
  175. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/list_worktime.py +0 -0
  176. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/scatter.py +0 -0
  177. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/subcommand_statistics.py +0 -0
  178. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/summarize_task_count.py +0 -0
  179. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/summarize_task_count_by_task_id_group.py +0 -0
  180. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/summarize_task_count_by_user.py +0 -0
  181. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/__init__.py +0 -0
  182. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/__init__.py +0 -0
  183. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/actual_worktime.py +0 -0
  184. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/annotation_count.py +0 -0
  185. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/cumulative_productivity.py +0 -0
  186. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/custom_production_volume.py +0 -0
  187. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/input_data_count.py +0 -0
  188. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/inspection_comment_count.py +0 -0
  189. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/productivity_per_date.py +0 -0
  190. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/project_performance.py +0 -0
  191. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/task.py +0 -0
  192. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/task_history.py +0 -0
  193. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/task_worktime_by_phase_user.py +0 -0
  194. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/user.py +0 -0
  195. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/user_performance.py +0 -0
  196. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/whole_performance.py +0 -0
  197. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/whole_productivity_per_date.py +0 -0
  198. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/dataframe/worktime_per_date.py +0 -0
  199. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/filtering_query.py +0 -0
  200. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/model.py +0 -0
  201. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/project_dir.py +0 -0
  202. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualization/visualization_source_files.py +0 -0
  203. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualize_annotation_count.py +0 -0
  204. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualize_annotation_duration.py +0 -0
  205. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualize_statistics.py +0 -0
  206. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/statistics/visualize_video_duration.py +0 -0
  207. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/supplementary/__init__.py +0 -0
  208. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/supplementary/delete_supplementary_data.py +0 -0
  209. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/supplementary/list_supplementary_data.py +0 -0
  210. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/supplementary/put_supplementary_data.py +0 -0
  211. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/supplementary/subcommand_supplementary.py +0 -0
  212. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/__init__.py +0 -0
  213. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/cancel_acceptance.py +0 -0
  214. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/change_operator.py +0 -0
  215. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/change_status_to_break.py +0 -0
  216. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/change_status_to_on_hold.py +0 -0
  217. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/complete_tasks.py +0 -0
  218. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/copy_tasks.py +0 -0
  219. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/delete_metadata_key_of_task.py +0 -0
  220. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/delete_tasks.py +0 -0
  221. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/download_task_json.py +0 -0
  222. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/list_all_tasks.py +0 -0
  223. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/list_all_tasks_added_task_history.py +0 -0
  224. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/list_tasks.py +0 -0
  225. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/list_tasks_added_task_history.py +0 -0
  226. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/put_tasks.py +0 -0
  227. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/put_tasks_by_count.py +0 -0
  228. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/reject_tasks.py +0 -0
  229. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/subcommand_task.py +0 -0
  230. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task/update_metadata_of_task.py +0 -0
  231. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history/__init__.py +0 -0
  232. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history/download_task_history_json.py +0 -0
  233. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history/list_all_task_history.py +0 -0
  234. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history/list_task_history.py +0 -0
  235. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history/subcommand_task_history.py +0 -0
  236. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history_event/__init__.py +0 -0
  237. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history_event/download_task_history_event_json.py +0 -0
  238. {annofabcli-1.104.1 → annofabcli-1.105.1}/annofabcli/task_history_event/subcommand_task_history_event.py +0 -0
  239. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/Makefile +0 -0
  240. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/_static/css/custom.css +0 -0
  241. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/change_attributes.rst +0 -0
  242. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/change_properties.rst +0 -0
  243. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/copy.rst +0 -0
  244. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/delete.rst +0 -0
  245. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/download.rst +0 -0
  246. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/import.rst +0 -0
  247. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/list/out.csv +0 -0
  248. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/list.rst +0 -0
  249. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/list_count.rst +0 -0
  250. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/merge_segmentation/after.png +0 -0
  251. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/merge_segmentation/before.png +0 -0
  252. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/merge_segmentation.rst +0 -0
  253. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/remove_segmentation_overlap/after.png +0 -0
  254. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/remove_segmentation_overlap/before.png +0 -0
  255. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/remove_segmentation_overlap.rst +0 -0
  256. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation/restore.rst +0 -0
  257. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/add_attribute_restriction.rst +0 -0
  258. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/export.rst +0 -0
  259. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/get_with_attribute_id_replaced_label_name.rst +0 -0
  260. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/get_with_choice_id_replaced_label_name.rst +0 -0
  261. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/get_with_label_id_replaced_label_name.rst +0 -0
  262. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/index.rst +0 -0
  263. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_attribute.rst +0 -0
  264. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_attribute_restriction.rst +0 -0
  265. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_choice.rst +0 -0
  266. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_history.rst +0 -0
  267. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_label.rst +0 -0
  268. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_label_attribute.rst +0 -0
  269. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/list_label_color.rst +0 -0
  270. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/annotation_specs/put_label_color.rst +0 -0
  271. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/delete.rst +0 -0
  272. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/download.rst +0 -0
  273. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/index.rst +0 -0
  274. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/list.rst +0 -0
  275. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/list_all.rst +0 -0
  276. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/put_inspection.rst +0 -0
  277. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/put_inspection_simply.rst +0 -0
  278. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/put_onhold.rst +0 -0
  279. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/comment/put_onhold_simply.rst +0 -0
  280. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/experimental/index.rst +0 -0
  281. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/draw_annotation/output_image.png +0 -0
  282. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/draw_annotation.rst +0 -0
  283. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/filter_annotation.rst +0 -0
  284. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/index.rst +0 -0
  285. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/mask_user_info.rst +0 -0
  286. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/merge_annotation.rst +0 -0
  287. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/filesystem/write_annotation_image/output_image.png +0 -0
  288. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/index.rst +0 -0
  289. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/change_name.rst +0 -0
  290. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/copy.rst +0 -0
  291. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/delete.rst +0 -0
  292. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/delete_metadata_key.rst +0 -0
  293. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/download.rst +0 -0
  294. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/index.rst +0 -0
  295. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/list/out.csv +0 -0
  296. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/list.rst +0 -0
  297. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/list_all.rst +0 -0
  298. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/list_all_merged_task.rst +0 -0
  299. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/list_merged_task/out.csv +0 -0
  300. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/put.rst +0 -0
  301. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/put_with_zip.rst +0 -0
  302. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/input_data/update_metadata.rst +0 -0
  303. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/copy.rst +0 -0
  304. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/download.rst +0 -0
  305. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/index.rst +0 -0
  306. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/list_history.rst +0 -0
  307. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/upload/site.css +0 -0
  308. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/instruction/upload.rst +0 -0
  309. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/delete.rst +0 -0
  310. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/index.rst +0 -0
  311. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/list/out.csv +0 -0
  312. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/list.rst +0 -0
  313. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/list_last/out.csv +0 -0
  314. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/list_last.rst +0 -0
  315. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/list_task_creation_history/out.csv +0 -0
  316. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/job/wait.rst +0 -0
  317. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/my_account/get.rst +0 -0
  318. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/my_account/index.rst +0 -0
  319. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization/index.rst +0 -0
  320. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization/list.rst +0 -0
  321. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/change.rst +0 -0
  322. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/delete.rst +0 -0
  323. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/index.rst +0 -0
  324. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/invite.rst +0 -0
  325. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/list/out.csv +0 -0
  326. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/organization_member/list.rst +0 -0
  327. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/change_organization.rst +0 -0
  328. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/change_status.rst +0 -0
  329. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/copy.rst +0 -0
  330. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/diff.rst +0 -0
  331. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/index.rst +0 -0
  332. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/list/out.csv +0 -0
  333. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/list/out_minimal.csv +0 -0
  334. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/list.rst +0 -0
  335. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project/put.rst +0 -0
  336. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/change.rst +0 -0
  337. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/copy.rst +0 -0
  338. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/delete.rst +0 -0
  339. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/index.rst +0 -0
  340. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/invite.rst +0 -0
  341. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/list/out.csv +0 -0
  342. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/list.rst +0 -0
  343. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/project_member/put.rst +0 -0
  344. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/index.rst +0 -0
  345. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/mask_user_info.rst +0 -0
  346. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/merge.rst +0 -0
  347. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/summarise_whole_performance_csv//343/203/227/343/203/255/343/202/270/343/202/247/343/202/257/343/203/210/343/201/224/343/201/250/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  348. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/summarize_whole_performance_csv.rst +0 -0
  349. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/write_graph.rst +0 -0
  350. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_deviation.csv +0 -0
  351. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_rank.csv +0 -0
  352. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/stat_visualization/write_performance_rating_csv.rst +0 -0
  353. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/index.rst +0 -0
  354. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_area.rst +0 -0
  355. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_attribute/out.csv +0 -0
  356. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_attribute.rst +0 -0
  357. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_input_data.csv +0 -0
  358. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_task.csv +0 -0
  359. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_attribute_filled_count.rst +0 -0
  360. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_attribute.csv +0 -0
  361. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_label.csv +0 -0
  362. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_count/out_by_task_attribute.csv +0 -0
  363. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_count/out_by_task_label.csv +0 -0
  364. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_count.rst +0 -0
  365. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_duration/out_by_attribute.csv +0 -0
  366. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_duration/out_by_label.csv +0 -0
  367. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_annotation_duration.rst +0 -0
  368. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_video_duration/out.csv +0 -0
  369. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/list_video_duration.rst +0 -0
  370. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/summarize_task_count.rst +0 -0
  371. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/summarize_task_count_by_task_id_group.rst +0 -0
  372. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/summarize_task_count_by_user.rst +0 -0
  373. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/346/225/260/343/201/250/346/225/231/345/270/253/344/273/230/344/275/234/346/245/255/346/231/202/351/226/223/343/201/256/347/264/257/347/251/215/343/202/260/343/203/251/343/203/225.png" +0 -0
  374. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/346/225/260/343/201/250/346/244/234/346/237/273/343/202/263/343/203/241/343/203/263/343/203/210/346/225/260/343/201/256/347/264/257/347/251/215/343/202/260/343/203/251/343/203/225.png" +0 -0
  375. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/343/201/224/343/201/250/343/201/256/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  376. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/343/201/224/343/201/250/343/201/256/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/350/250/210/346/270/254/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  377. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/345/223/201/350/263/252/343/201/256/351/226/242/344/277/202-/345/256/237/347/270/276/346/231/202/351/226/223-/346/225/231/345/270/253/344/273/230/350/200/205/347/224/250.png" +0 -0
  378. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/225/243/345/270/203/345/233/263-/345/223/201/350/263/252-/346/244/234/346/237/273/343/202/263/343/203/241/343/203/263/343/203/210/346/225/260.png" +0 -0
  379. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/225/243/345/270/203/345/233/263-/346/225/231/345/270/253/344/273/230-/345/256/237/347/270/276/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  380. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/227/245/343/201/224/343/201/250/343/201/256/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  381. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/227/245/343/201/224/343/201/250/343/201/256/343/202/277/343/202/271/343/202/257/346/225/260/343/201/250/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  382. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/227/245/343/201/224/343/201/250/343/201/256/347/264/257/347/251/215/343/202/277/343/202/271/343/202/257/346/225/260/343/201/250/347/264/257/347/251/215/344/275/234/346/245/255/346/231/202/351/226/223.png" +0 -0
  383. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/img//346/227/245/343/201/224/343/201/250/343/201/256/347/264/257/347/251/215/344/275/234/346/245/255/346/231/202/351/226/223-/343/203/246/343/203/274/343/202/266/343/201/224/343/201/250/343/201/253/343/203/227/343/203/255/343/203/203/343/203/210.png" +0 -0
  384. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245-/345/205/250/344/275/223.html" +0 -0
  385. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245-/347/270/246/350/273/270_/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/345/215/230/344/275/215/343/201/256/346/214/207/346/250/231-/346/225/231/345/270/253/344/273/230/350/200/205/347/224/250.html" +0 -0
  386. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/345/205/250/344/275/223.html" +0 -0
  387. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/346/225/260-/345/217/227/345/205/245/350/200/205/347/224/250.html" +0 -0
  388. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/346/225/260-/346/225/231/345/270/253/344/273/230/350/200/205/347/224/250.html" +0 -0
  389. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/345/205/250/344/275/223.html" +0 -0
  390. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/line-graph//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/347/270/246/350/273/270_/344/275/234/346/245/255/346/231/202/351/226/223.html" +0 -0
  391. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/scatter//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/345/223/201/350/263/252/343/201/256/351/226/242/344/277/202-/345/256/237/347/270/276/346/231/202/351/226/223-/346/225/231/345/270/253/344/273/230/350/200/205/347/224/250.html" +0 -0
  392. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/scatter//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/347/264/257/350/250/210/344/275/234/346/245/255/346/231/202/351/226/223/343/201/256/351/226/242/344/277/202-/345/256/237/347/270/276/346/231/202/351/226/223.html" +0 -0
  393. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/scatter//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/347/264/257/350/250/210/344/275/234/346/245/255/346/231/202/351/226/223/343/201/256/351/226/242/344/277/202-/350/250/210/346/270/254/346/231/202/351/226/223.html" +0 -0
  394. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/scatter//346/225/243/345/270/203/345/233/263-/346/225/231/345/270/253/344/273/230/350/200/205/343/201/256/345/223/201/350/263/252/343/201/250/344/275/234/346/245/255/351/207/217/343/201/256/351/226/242/344/277/202.html" +0 -0
  395. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir/task-worktime-by-user-phase.csv +0 -0
  396. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
  397. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//343/203/241/343/203/263/343/203/220/343/201/224/343/201/250/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  398. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  399. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  400. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247.csv" +0 -0
  401. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize/out_dir//346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247.csv" +0 -0
  402. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize.rst +0 -0
  403. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_count/img/attributes_count.png +0 -0
  404. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_count/img/labels_count.png +0 -0
  405. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_count/output/attributes_count.html +0 -0
  406. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_count/output/labels_count.html +0 -0
  407. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_count.rst +0 -0
  408. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_attribute.png +0 -0
  409. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label.png +0 -0
  410. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_arrange_bin_edge.png +0 -0
  411. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_bin_width.png +0 -0
  412. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_minute.png +0 -0
  413. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_attribute.html +0 -0
  414. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_label.html +0 -0
  415. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_annotation_duration.rst +0 -0
  416. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst/task-worktime-list-by-user-phase_csv.rst +0 -0
  417. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//343/202/277/343/202/271/343/202/257list_csv.rst" +0 -0
  418. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//343/203/241/343/203/263/343/203/220/343/201/224/343/201/250/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252_csv.rst" +0 -0
  419. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223_csv.rst" +0 -0
  420. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252_csv.rst" +0 -0
  421. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245-/345/205/250/344/275/223_html.rst" +0 -0
  422. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245-/347/270/246/350/273/270_/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/345/215/230/344/275/215/343/201/256/346/214/207/346/250/231-phase/347/224/250.html.rst" +0 -0
  423. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/345/205/250/344/275/223_html.rst" +0 -0
  424. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247_csv.rst" +0 -0
  425. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/345/223/201/350/263/252/343/201/256/351/226/242/344/277/202-/346/225/231/345/270/253/344/273/230/350/200/205/347/224/250_html.rst" +0 -0
  426. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/225/243/345/270/203/345/233/263-/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/343/201/202/343/201/237/343/202/212/344/275/234/346/245/255/346/231/202/351/226/223/343/201/250/347/264/257/350/250/210/344/275/234/346/245/255/346/231/202/351/226/223/343/201/256/351/226/242/344/277/202_html.rst" +0 -0
  427. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/225/243/345/270/203/345/233/263-/346/225/231/345/270/253/344/273/230/350/200/205/343/201/256/345/223/201/350/263/252/343/201/250/344/275/234/346/245/255/351/207/217/343/201/256/351/226/242/344/277/202_html.rst" +0 -0
  428. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247_csv.rst" +0 -0
  429. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/343/202/242/343/203/216/343/203/206/343/203/274/343/202/267/343/203/247/343/203/263/346/225/260-phase/350/200/205/347/224/250_html.rst" +0 -0
  430. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/345/205/250/344/275/223_html.rst" +0 -0
  431. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_output_rst//347/264/257/347/251/215/346/212/230/343/202/214/347/267/232-/346/250/252/350/273/270_/346/227/245-/347/270/246/350/273/270_/344/275/234/346/245/255/346/231/202/351/226/223_html.rst" +0 -0
  432. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_video_duration/img/out.png +0 -0
  433. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_video_duration/img/out2.png +0 -0
  434. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_video_duration/img/out3.png +0 -0
  435. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_video_duration/output/out.html +0 -0
  436. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/statistics/visualize_video_duration.rst +0 -0
  437. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/supplementary/delete.rst +0 -0
  438. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/supplementary/index.rst +0 -0
  439. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/supplementary/list/out.csv +0 -0
  440. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/supplementary/list.rst +0 -0
  441. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/supplementary/put.rst +0 -0
  442. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/cancel_acceptance.rst +0 -0
  443. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/change_operator.rst +0 -0
  444. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/change_status_to_break.rst +0 -0
  445. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/change_status_to_on_hold.rst +0 -0
  446. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/complete.rst +0 -0
  447. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/copy.rst +0 -0
  448. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/delete.rst +0 -0
  449. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/delete_metadata_key.rst +0 -0
  450. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/download.rst +0 -0
  451. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/index.rst +0 -0
  452. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/list/out.csv +0 -0
  453. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/list.rst +0 -0
  454. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/list_added_task_history.rst +0 -0
  455. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/list_all.rst +0 -0
  456. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/list_all_added_task_history.rst +0 -0
  457. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/put.rst +0 -0
  458. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/put_by_count.rst +0 -0
  459. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/reject.rst +0 -0
  460. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task/update_metadata.rst +0 -0
  461. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history/download.rst +0 -0
  462. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history/index.rst +0 -0
  463. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history/list/out.csv +0 -0
  464. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history/list.rst +0 -0
  465. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history/list_all.rst +0 -0
  466. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/download.rst +0 -0
  467. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/command_reference/task_history_event/index.rst +0 -0
  468. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/conf.py +0 -0
  469. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/examples/edit_annotation.rst +0 -0
  470. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/examples/http_private_storage.rst +0 -0
  471. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/examples/index.rst +0 -0
  472. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/faq.rst +0 -0
  473. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/index.rst +0 -0
  474. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/requirements.txt +0 -0
  475. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/3dpc-editor.rst +0 -0
  476. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/cli_usage_output.rst +0 -0
  477. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/command_line_options.rst +0 -0
  478. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/configurations.rst +0 -0
  479. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/index.rst +0 -0
  480. {annofabcli-1.104.1 → annofabcli-1.105.1}/docs/user_guide/user_guide.rst +0 -0
  481. {annofabcli-1.104.1 → annofabcli-1.105.1}/examples/async_wait_jobs.py +0 -0
  482. {annofabcli-1.104.1 → annofabcli-1.105.1}/pylintrc +0 -0
  483. {annofabcli-1.104.1 → annofabcli-1.105.1}/pyproject.toml +0 -0
  484. {annofabcli-1.104.1 → annofabcli-1.105.1}/pytest.ini +0 -0
  485. {annofabcli-1.104.1 → annofabcli-1.105.1}/scripts/mask_user_info_for_all_visualization_dir.py +0 -0
  486. {annofabcli-1.104.1 → annofabcli-1.105.1}/scripts/mask_user_info_for_rating_performance.py +0 -0
  487. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/__init__.py +0 -0
  488. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/__init__.py +0 -0
  489. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/test_annotation_query.py +0 -0
  490. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/test_copy_annotation.py +0 -0
  491. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/test_import_annotation.py +0 -0
  492. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/test_merge_segmentation.py +0 -0
  493. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation/test_remove_segmentation_overlap.py +0 -0
  494. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation_specs/__init__.py +0 -0
  495. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
  496. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation_specs/test_attribute_restriction.py +0 -0
  497. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation_specs/test_get_annotation_specs_with_attribute_id_replaced.py +0 -0
  498. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/annotation_specs/test_get_annotation_specs_with_label_id_replaced.py +0 -0
  499. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/__init__.py +0 -0
  500. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/test_bokeh.py +0 -0
  501. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/test_cli.py +0 -0
  502. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/test_download.py +0 -0
  503. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/test_image.py +0 -0
  504. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/common/test_utils.py +0 -0
  505. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590/01FHSFFPHF2E5WJX8HHF0J1WCT +0 -0
  506. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590.json +0 -0
  507. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation/import_annotation/annotation_specs.json +0 -0
  508. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation/import_annotation/image_annotation.json +0 -0
  509. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation/imported-annotation.zip +0 -0
  510. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/annotation_specs/annotation_specs.json +0 -0
  511. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/arg.json +0 -0
  512. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/arg_id_list.txt +0 -0
  513. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/input_data_id.csv +0 -0
  514. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/label_color.json +0 -0
  515. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-A/task1/input1.json +0 -0
  516. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-A/task1/input2.json +0 -0
  517. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-A/task2/input2/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
  518. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-A/task2/input2.json +0 -0
  519. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-A.zip +0 -0
  520. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-B/task1/input1.json +0 -0
  521. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-B/task1/input3.json +0 -0
  522. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/merge/annotation-B/task3/input2.json +0 -0
  523. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/simple-annotation.zip +0 -0
  524. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/user1.csv +0 -0
  525. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/user2.csv +0 -0
  526. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/filesystem/user2_1.csv +0 -0
  527. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/input_data.csv +0 -0
  528. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/input_data2.csv +0 -0
  529. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/input_data_duplicated.csv +0 -0
  530. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/input_data_duplicated_name.csv +0 -0
  531. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/input_data_duplicated_path.csv +0 -0
  532. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data/lenna.zip +0 -0
  533. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data.json +0 -0
  534. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/input_data2.json +0 -0
  535. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/instruction/instruction.html +0 -0
  536. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/instruction/lenna.png +0 -0
  537. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/label_color.json +0 -0
  538. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/lenna.png +0 -0
  539. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/project_member/project_members.csv +0 -0
  540. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/simple-annotation.json +0 -0
  541. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/simple-annotation.zip +0 -0
  542. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/small-lenna.png +0 -0
  543. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/mask_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
  544. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/mask_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
  545. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/mask_visualization_dir/visualization1//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  546. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/merge_visualization_dir/visualization1/project_info.json +0 -0
  547. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/merge_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
  548. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/merge_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
  549. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/merge_visualization_dir/visualization1//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  550. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/summarize_whole_performance_csv/visualization1/project_info.json +0 -0
  551. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/summarize_whole_performance_csv/visualization1//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  552. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir/project_info.json +0 -0
  553. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir/task-worktime-list-by-user-phase.csv +0 -0
  554. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
  555. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//343/203/241/343/203/263/343/203/220/343/201/224/343/201/250/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  556. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  557. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  558. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247.csv" +0 -0
  559. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/visualization-dir//346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247.csv" +0 -0
  560. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/write_performance_rating_csv/visualization1/project_info.json +0 -0
  561. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/stat_visualization/write_performance_rating_csv/visualization1//343/203/241/343/203/263/343/203/220/343/201/224/343/201/250/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  562. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/annotation-count-ratio-df.csv +0 -0
  563. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/input_data.json +0 -0
  564. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/inspection-comment.json +0 -0
  565. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/labor-df.csv +0 -0
  566. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/1b3f0069-9d88-4781-8406-023180822407 +0 -0
  567. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/2d9884e3-6926-47dc-97d4-d9f55d113625 +0 -0
  568. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/7604d4ea-4288-4f31-bed9-d5624571e52f +0 -0
  569. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900.json +0 -0
  570. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/productivity-per-date.csv +0 -0
  571. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/productivity-per-date2.csv +0 -0
  572. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/productivity-per-user.csv +0 -0
  573. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/productivity-per-user2.csv +0 -0
  574. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/simple-annotations.zip +0 -0
  575. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task-history-df-empty.csv +0 -0
  576. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task-history-df.csv +0 -0
  577. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task-history.json +0 -0
  578. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task-worktime-by-user-phase.csv +0 -0
  579. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task.csv +0 -0
  580. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/task.json +0 -0
  581. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/user.csv +0 -0
  582. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/visualization-dir1/project_info.json +0 -0
  583. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/visualization-dir1//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  584. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/visualization-dir1//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  585. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics/worktime-per-date.csv +0 -0
  586. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics//343/203/246/343/203/274/343/202/266_/346/227/245/344/273/230list-/344/275/234/346/245/255/346/231/202/351/226/223.csv" +0 -0
  587. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics//345/205/250/344/275/223/343/201/256/347/224/237/347/224/243/346/200/247/343/201/250/345/223/201/350/263/252.csv" +0 -0
  588. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/247.csv" +0 -0
  589. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/statistics//346/225/231/345/270/253/344/273/230/351/226/213/345/247/213/346/227/245/346/257/216/343/201/256/347/224/237/347/224/243/351/207/217/343/201/250/347/224/237/347/224/243/346/200/2472.csv" +0 -0
  590. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/supplementary/deleted-supplementary.csv +0 -0
  591. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/supplementary/supplementary.csv +0 -0
  592. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/task/put_task.csv +0 -0
  593. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/task-history.json +0 -0
  594. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/task.json +0 -0
  595. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/utils/example-utf8.txt +0 -0
  596. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/utils/example-utf8bom.txt +0 -0
  597. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/data/utils/multiheader.csv +0 -0
  598. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/filesystem/__init__.py +0 -0
  599. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/filesystem/test_mask_user_info.py +0 -0
  600. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/input_data/__init__.py +0 -0
  601. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/input_data/test_put_input_data.py +0 -0
  602. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/project_member/__init__.py +0 -0
  603. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/project_member/test_change_project_members.py +0 -0
  604. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/project_member/test_put_project_members.py +0 -0
  605. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/stat_visualization/__init__.py +0 -0
  606. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/stat_visualization/test_mask_visualization_dir.py +0 -0
  607. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/__init__.py +0 -0
  608. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_list_annotation_area.py +0 -0
  609. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_list_annotation_attribute_filled_count.py +0 -0
  610. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_list_annotation_count.py +0 -0
  611. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_list_annotation_duration.py +0 -0
  612. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_summarize_task_count.py +0 -0
  613. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_summarize_task_count_by_task_id_group.py +0 -0
  614. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_table.py +0 -0
  615. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_visualize_annotation_count.py +0 -0
  616. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_visualize_annotation_duration.py +0 -0
  617. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/test_visualize_video_duration.py +0 -0
  618. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/__init__.py +0 -0
  619. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/__init__.py +0 -0
  620. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_annotation_count.py +0 -0
  621. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_cumulative_productivity.py +0 -0
  622. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_inspection_comment_count.py +0 -0
  623. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_productivity_per_date.py +0 -0
  624. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_project_performance.py +0 -0
  625. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_task.py +0 -0
  626. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_task_worktime_by_phase_user.py +0 -0
  627. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_user_performance.py +0 -0
  628. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_whole_performance.py +0 -0
  629. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_whole_productivity_per_date.py +0 -0
  630. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/dataframe/test_worktime_per_date.py +0 -0
  631. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/statistics/visualization/test_write_performance_rating_csv.py +0 -0
  632. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/supplementary/__init__.py +0 -0
  633. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/supplementary/test_put_supplementary_data.py +0 -0
  634. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/task/__init__.py +0 -0
  635. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/task/test_complete_tasks.py +0 -0
  636. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/task/test_list_tasks_added_task_history.py +0 -0
  637. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test____main__.py +0 -0
  638. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_annotation.py +0 -0
  639. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_annotation_specs.py +0 -0
  640. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_comment.py +0 -0
  641. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_filesystem.py +0 -0
  642. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_input_data.py +0 -0
  643. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_instruction.py +0 -0
  644. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_job.py +0 -0
  645. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_my_account.py +0 -0
  646. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_organization.py +0 -0
  647. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_organization_member.py +0 -0
  648. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_project.py +0 -0
  649. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_project_member.py +0 -0
  650. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_stat_visualization.py +0 -0
  651. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_statistics.py +0 -0
  652. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_supplementary.py +0 -0
  653. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_task.py +0 -0
  654. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_task_history.py +0 -0
  655. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/test_task_history_event.py +0 -0
  656. {annofabcli-1.104.1 → annofabcli-1.105.1}/tests/utils_for_test.py +0 -0
  657. {annofabcli-1.104.1 → annofabcli-1.105.1}/uv.lock +0 -0
@@ -0,0 +1,19 @@
1
+ # 概要
2
+ * annofabcliとは、CLIでAnnofabを操作するコマンドです。
3
+
4
+
5
+ # ユーザーインターフェイス
6
+ * できるだけ、他のコマンドと引数の名前や使い方を揃えてください。詳細は https://annofab-cli.readthedocs.io/ja/latest/user_guide/command_line_options.html を参照してください。
7
+ * 副作用があるコマンドは、標準出力でyes/noを問い合わせてください。
8
+
9
+ # 開発
10
+
11
+ ## スタイルと言語
12
+ * Python 3.9以上で動くコードにしてください。
13
+ * できるだけ型ヒントを付けてください。
14
+ * Annofab Web API へのアクセスは、[annofabapi](https://github.com/kurusugawa-computer/annofab-api-python-client)を使ってください。
15
+ * ユーザーにyes/noを問い合わせる場合は、`annofabcli.common.cli.CommandLineWithConfirm`を継承して、`confirm_processing`メソッドを使ってください。
16
+ * `typing.Dict`や`typing.List`など、Python3.9で非推奨になったクラスは使わないでください。
17
+ * 原則、`import`文はファイルの先頭に記述してください。関数の内部でimportしないでください。
18
+ * 新しくコマンドを作成したら、`docs/command_reference`配下にreStructuredTextでドキュメントを記載してください。
19
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annofabcli
3
- Version: 1.104.1
3
+ Version: 1.105.1
4
4
  Summary: Utility Command Line Interface for AnnoFab
5
5
  Author: Kurusugawa Computer Inc.
6
6
  License: MIT
@@ -105,6 +105,11 @@ def _get_additional_data_v2(additional_data: dict[str, Any], attribute_value: At
105
105
  return get_english_message(additional_data["name"])
106
106
 
107
107
  additional_data_definition_id = additional_data["additional_data_definition_id"]
108
+ if attribute_value is None:
109
+ return {
110
+ "definition_id": additional_data_definition_id,
111
+ "value": None,
112
+ }
108
113
 
109
114
  additional_data_type: str = additional_data["type"]
110
115
 
@@ -0,0 +1,296 @@
1
+ from __future__ import annotations
2
+
3
+ import argparse
4
+ import json
5
+ import logging
6
+ import sys
7
+ from collections import defaultdict
8
+ from pathlib import Path
9
+ from typing import Any, Optional, Union
10
+
11
+ import annofabapi
12
+ import pandas
13
+ from annofabapi.models import ProjectMemberRole
14
+ from annofabapi.pydantic_models.task_status import TaskStatus
15
+ from pydantic import BaseModel
16
+
17
+ import annofabcli
18
+ from annofabcli.annotation.annotation_query import convert_attributes_from_cli_to_additional_data_list_v2
19
+ from annofabcli.annotation.dump_annotation import DumpAnnotationMain
20
+ from annofabcli.common.cli import (
21
+ COMMAND_LINE_ERROR_STATUS_CODE,
22
+ ArgumentParser,
23
+ CommandLine,
24
+ CommandLineWithConfirm,
25
+ build_annofabapi_resource_and_login,
26
+ get_json_from_args,
27
+ )
28
+ from annofabcli.common.facade import AnnofabApiFacade
29
+
30
+ logger = logging.getLogger(__name__)
31
+
32
+
33
+ Attributes = dict[str, Optional[Union[str, int, bool]]]
34
+ """属性情報"""
35
+
36
+
37
+ class TargetAnnotation(BaseModel):
38
+ task_id: str
39
+ input_data_id: str
40
+ annotation_id: str
41
+ attributes: Attributes
42
+
43
+
44
+ def get_annotation_list_per_task_id_input_data_id(anno_list: list[TargetAnnotation]) -> dict[str, dict[str, list[TargetAnnotation]]]:
45
+ """
46
+ タスクIDと入力データIDごとにアノテーションをグループ化する。
47
+
48
+ Args:
49
+ anno_list: アノテーションのリスト
50
+
51
+ Returns:
52
+ タスクIDと入力データIDをキーとしたアノテーションの辞書
53
+ """
54
+ grouped: dict[str, dict[str, list[TargetAnnotation]]] = defaultdict(lambda: defaultdict(list))
55
+
56
+ for annotation in anno_list:
57
+ grouped[annotation.task_id][annotation.input_data_id].append(annotation)
58
+ return grouped
59
+
60
+
61
+ class ChangeAnnotationAttributesPerAnnotationMain(CommandLineWithConfirm):
62
+ def __init__(
63
+ self,
64
+ service: annofabapi.Resource,
65
+ *,
66
+ project_id: str,
67
+ is_force: bool,
68
+ all_yes: bool,
69
+ backup_dir: Optional[Path] = None,
70
+ ) -> None:
71
+ self.service = service
72
+ self.project_id = project_id
73
+ self.is_force = is_force
74
+ self.backup_dir = backup_dir
75
+ self.annotation_specs, _ = self.service.api.get_annotation_specs(project_id, query_params={"v": "3"})
76
+ self.dump_annotation_obj = DumpAnnotationMain(service, project_id)
77
+ super().__init__(all_yes)
78
+
79
+ def change_annotation_attributes_by_frame(self, task_id: str, input_data_id: str, anno_list: list[TargetAnnotation]) -> bool:
80
+ """
81
+ フレームごとにアノテーション属性値を変更する。
82
+
83
+ Args:
84
+ task_id: タスクID
85
+ input_data_id: 入力データID
86
+ additional_data_list: 変更後の属性値(`AdditionalDataListV2`スキーマ)
87
+
88
+ """
89
+ editor_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id=task_id, input_data_id=input_data_id, query_params={"v": "2"})
90
+
91
+ if self.backup_dir is not None:
92
+ (self.backup_dir / task_id).mkdir(exist_ok=True, parents=True)
93
+ self.dump_annotation_obj.dump_editor_annotation(editor_annotation, json_path=self.backup_dir / task_id / f"{input_data_id}.json")
94
+
95
+ details_map = {detail["annotation_id"]: detail for detail in editor_annotation["details"]}
96
+
97
+ def _to_request_body_elm(anno: TargetAnnotation) -> dict[str, Any]:
98
+ additional_data_list = convert_attributes_from_cli_to_additional_data_list_v2(anno.attributes, annotation_specs=self.annotation_specs)
99
+ return {
100
+ "data": {
101
+ "project_id": editor_annotation["project_id"],
102
+ "task_id": editor_annotation["task_id"],
103
+ "input_data_id": editor_annotation["input_data_id"],
104
+ "updated_datetime": editor_annotation["updated_datetime"],
105
+ "annotation_id": anno.annotation_id,
106
+ "label_id": details_map[anno.annotation_id]["label_id"],
107
+ "additional_data_list": additional_data_list,
108
+ },
109
+ "_type": "PutV2",
110
+ }
111
+
112
+ request_body = [_to_request_body_elm(annotation) for annotation in anno_list]
113
+
114
+ self.service.api.batch_update_annotations(self.project_id, request_body=request_body)
115
+ logger.debug(f"task_id='{task_id}', input_data_id='{input_data_id}' :: {len(request_body)}件の属性値を変更しました。")
116
+ return True
117
+
118
+ def change_annotation_attributes_for_task(self, task_id: str, annotation_list_per_input_data_id: dict[str, list[TargetAnnotation]]) -> tuple[bool, int, int]:
119
+ """
120
+ 1個のタスクに含まれるアノテーションの属性値を変更する。
121
+
122
+ Args:
123
+ task_id: タスクID
124
+ annotation_list_per_input_data_id: 入力データIDごとのアノテーションリスト
125
+
126
+ Returns:
127
+ tuple:
128
+ [0]: 属性値の変更可能なタスクかどうか
129
+ [1]: 属性値の変更に成功したアノテーション数
130
+ [2]: 属性値を変更できなかったアノテーション数
131
+
132
+ """
133
+ annotation_count = sum(len(v) for v in annotation_list_per_input_data_id.values())
134
+ task = self.service.wrapper.get_task_or_none(self.project_id, task_id)
135
+
136
+ succeed_to_change_annotation_count = 0
137
+ failed_to_change_annotation_count = 0
138
+
139
+ if task is None:
140
+ logger.warning(f"task_id='{task_id}' :: タスクが存在しないため、{annotation_count} 件のアノテーションの属性値の変更をスキップします。")
141
+ return False, 0, annotation_count
142
+
143
+ if task["status"] == TaskStatus.WORKING.value:
144
+ logger.info(f"task_id='{task_id}' :: タスクが作業中状態のため、{annotation_count} 件のアノテーションの属性値の変更をスキップします。")
145
+ failed_to_change_annotation_count += annotation_count
146
+ return False, 0, annotation_count
147
+
148
+ if not self.is_force: # noqa: SIM102
149
+ if task["status"] == TaskStatus.COMPLETE.value:
150
+ logger.info(
151
+ f"task_id='{task_id}' :: タスクが完了状態のため、アノテーション {annotation_count} 件のアノテーションの属性値の変更をスキップします。"
152
+ f"完了状態のタスクのアノテーションを削除するには、`--force`オプションを指定してください。"
153
+ )
154
+ failed_to_change_annotation_count += annotation_count
155
+ return False, 0, annotation_count
156
+
157
+ if not self.confirm_processing(f"task_id='{task_id}'に含まれるアノテーション{annotation_count}件の属性値を変更しますか?"):
158
+ return False, 0, annotation_count
159
+
160
+ for input_data_id, sub_anno_list in annotation_list_per_input_data_id.items():
161
+ try:
162
+ if self.change_annotation_attributes_by_frame(task_id, input_data_id, sub_anno_list):
163
+ succeed_to_change_annotation_count += len(sub_anno_list)
164
+ else:
165
+ failed_to_change_annotation_count += len(sub_anno_list)
166
+ except Exception:
167
+ logger.warning(f"task_id='{task_id}', input_data_id='{input_data_id}' :: アノテーションの属性値変更に失敗しました。", exc_info=True)
168
+ failed_to_change_annotation_count += len(sub_anno_list)
169
+ continue
170
+
171
+ return True, succeed_to_change_annotation_count, failed_to_change_annotation_count
172
+
173
+ def change_annotation_attributes(self, anno_list: list[TargetAnnotation]) -> None:
174
+ """
175
+ アノテーションごとに属性値を変更する。
176
+
177
+ Args:
178
+ anno_list: 各アノテーションの変更内容リスト
179
+ """
180
+ changed_task_count = 0
181
+ failed_to_change_annotation_count = 0
182
+ annotation_list_per_task_id_input_data_id = get_annotation_list_per_task_id_input_data_id(anno_list)
183
+
184
+ total_task_count = len(annotation_list_per_task_id_input_data_id)
185
+ total_annotation_count = len(anno_list)
186
+
187
+ for task_id, input_data_dict in annotation_list_per_task_id_input_data_id.items():
188
+ is_changeable_task, succeed_to_change_annotation_count, failed_to_change_annotation_count = self.change_annotation_attributes_for_task(task_id, input_data_dict)
189
+ if is_changeable_task:
190
+ changed_task_count += 1
191
+
192
+ logger.info(
193
+ f"{succeed_to_change_annotation_count}/{total_annotation_count} 件のアノテーションの属性値を変更しました。 :: "
194
+ f"アノテーションが変更されたタスク数は {changed_task_count}/{total_task_count} 件です。"
195
+ f"{failed_to_change_annotation_count} 件のアノテーションは変更できませんでした。"
196
+ )
197
+
198
+
199
+ class ChangeAttributesPerAnnotation(CommandLine):
200
+ """
201
+ アノテーションごとに属性値を個別変更
202
+ """
203
+
204
+ COMMON_MESSAGE = "annofabcli annotation change_attributes_per_annotation: error:"
205
+
206
+ def main(self) -> None:
207
+ args = self.args
208
+
209
+ if args.json is not None:
210
+ annotation_items = get_json_from_args(args.json)
211
+ if not isinstance(annotation_items, list):
212
+ print(f"{self.COMMON_MESSAGE} argument --json: JSON形式が不正です。オブジェクトの配列を指定してください。", file=sys.stderr) # noqa: T201
213
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
214
+
215
+ target_annotation_list = [TargetAnnotation.model_validate(anno) for anno in annotation_items]
216
+
217
+ elif args.csv is not None:
218
+ df_input = pandas.read_csv(args.csv)
219
+ target_annotation_list = [
220
+ TargetAnnotation(task_id=e["task_id"], input_data_id=e["input_data_id"], annotation_id=e["annotation_id"], attributes=json.loads(e["attributes"]))
221
+ for e in df_input.to_dict(orient="records")
222
+ ]
223
+ else:
224
+ print(f"{self.COMMON_MESSAGE} argument '--json' または '--csv' のいずれかを指定してください。", file=sys.stderr) # noqa: T201
225
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
226
+
227
+ project_id = args.project_id
228
+
229
+ if args.backup is None:
230
+ print( # noqa: T201
231
+ "間違えてアノテーションを変更してしまっときに復元できるようにするため、'--backup'でバックアップ用のディレクトリを指定することを推奨します。",
232
+ file=sys.stderr,
233
+ )
234
+ if not self.confirm_processing("復元用のバックアップディレクトリが指定されていません。処理を続行しますか?"):
235
+ sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
236
+ backup_dir = None
237
+ else:
238
+ backup_dir = Path(args.backup)
239
+
240
+ # プロジェクト権限チェック
241
+ super().validate_project(project_id, [ProjectMemberRole.OWNER, ProjectMemberRole.ACCEPTER])
242
+
243
+ main_obj = ChangeAnnotationAttributesPerAnnotationMain(self.service, project_id=project_id, all_yes=args.yes, is_force=args.force, backup_dir=backup_dir)
244
+ main_obj.change_annotation_attributes(target_annotation_list)
245
+
246
+
247
+ def main(args: argparse.Namespace) -> None:
248
+ service = build_annofabapi_resource_and_login(args)
249
+ facade = AnnofabApiFacade(service)
250
+ ChangeAttributesPerAnnotation(service, facade, args).main()
251
+
252
+
253
+ def parse_args(parser: argparse.ArgumentParser) -> None:
254
+ argument_parser = ArgumentParser(parser)
255
+ argument_parser.add_project_id()
256
+
257
+ sample_json_obj = [{"task_id": "t1", "input_data_id": "i1", "annotation_id": "a1", "attributes": {"occluded": True}}]
258
+ input_group = parser.add_mutually_exclusive_group(required=True)
259
+ input_group.add_argument(
260
+ "--json",
261
+ type=str,
262
+ help="各アノテーションごとに変更内容を記載したJSONリストを指定します。 ``file://`` を先頭に付けるとJSON形式のファイルを指定できます。\n"
263
+ f"(例) '{json.dumps(sample_json_obj, ensure_ascii=False)}'",
264
+ )
265
+ input_group.add_argument(
266
+ "--csv",
267
+ type=str,
268
+ help="各アノテーションごとに変更内容を記載したCSVファイルを指定します。 \n"
269
+ "* `task_id`, `input_data_id`, `annotation_id`, `attributes` の4つのカラムが必要です。\n"
270
+ f"`attributes` カラムには、属性名と値を '{json.dumps({'occluded': True})}' のようにJSON形式で指定します。\n",
271
+ )
272
+
273
+ parser.add_argument(
274
+ "--force",
275
+ action="store_true",
276
+ help="指定した場合は、完了状態のタスクのアノテーションも属性値を変更します。ただし、完了状態のタスクのアノテーションを変更するには、オーナーロールを持つユーザーが実行する必要があります。",
277
+ )
278
+
279
+ parser.add_argument(
280
+ "--backup",
281
+ type=Path,
282
+ required=False,
283
+ help="アノテーションのバックアップを保存するディレクトリのパス。アノテーションの復元は ``annotation restore`` コマンドで実現できます。",
284
+ )
285
+
286
+ parser.set_defaults(subcommand_func=main)
287
+
288
+
289
+ def add_parser(subparsers: Optional[argparse._SubParsersAction] = None) -> argparse.ArgumentParser:
290
+ subcommand_name = "change_attributes_per_annotation"
291
+ subcommand_help = "各アノテーションの属性値を変更します。"
292
+ epilog = "オーナロールまたはチェッカーロールを持つユーザで実行してください。"
293
+
294
+ parser = annofabcli.common.cli.add_parser(subparsers, subcommand_name, subcommand_help, epilog=epilog)
295
+ parse_args(parser)
296
+ return parser
@@ -296,8 +296,7 @@ class DeleteAnnotationMain(CommandLineWithConfirm):
296
296
  deleted_task_count += 1
297
297
  for input_data_id, annotation_ids in sub_grouped.items():
298
298
  # 指定input_data_idの全annotationを取得
299
- # TODO どこかのタイミングで、"v=2"のアノテーションを取得するようにする
300
- editor_annotation = self.service.wrapper.get_editor_annotation_or_none(self.project_id, task_id=task_id, input_data_id=input_data_id, query_params={"v": "1"})
299
+ editor_annotation = self.service.wrapper.get_editor_annotation_or_none(self.project_id, task_id=task_id, input_data_id=input_data_id, query_params={"v": "2"})
301
300
  if editor_annotation is None:
302
301
  logger.warning(
303
302
  f"task_id='{task_id}'のタスクに、input_data_id='{input_data_id}'の入力データが含まれていません。 アノテーションの削除をスキップします。 :: annotation_ids={annotation_ids}"
@@ -27,26 +27,44 @@ class DumpAnnotationMain:
27
27
  def dump_editor_annotation(self, editor_annotation: dict[str, Any], json_path: Path) -> None:
28
28
  """
29
29
  `getEditorAnnotation` APIのレスポンスをファイルに保存する。
30
+
31
+ Args:
32
+ editor_annotation: v1, v2 のどちらの形式でも対応。
30
33
  """
31
34
  json_path.write_text(json.dumps(editor_annotation, ensure_ascii=False), encoding="utf-8")
32
-
33
35
  details = editor_annotation["details"]
34
- outer_details = [e for e in details if e["data_holding_type"] == AnnotationDataHoldingType.OUTER.value]
35
- if len(outer_details) == 0:
36
- return
37
36
 
38
- input_data_id = editor_annotation["input_data_id"]
39
- outer_dir = json_path.parent / input_data_id
40
- outer_dir.mkdir(exist_ok=True, parents=True)
37
+ if editor_annotation.get("format_version") == "2.0.0":
38
+ outer_details = [e for e in details if e["body"]["_type"] == "Outer"]
39
+ if len(outer_details) == 0:
40
+ return
41
+
42
+ input_data_id = editor_annotation["input_data_id"]
43
+ outer_dir = json_path.parent / input_data_id
44
+ outer_dir.mkdir(exist_ok=True, parents=True)
45
+ # 塗りつぶし画像など外部リソースに保存されているファイルをダウンロードする
46
+ for detail in outer_details:
47
+ annotation_id = detail["annotation_id"]
48
+ outer_file_path = outer_dir / f"{annotation_id}"
49
+ self.service.wrapper.download(detail["body"]["url"], outer_file_path)
50
+
51
+ else:
52
+ outer_details = [e for e in details if e["data_holding_type"] == AnnotationDataHoldingType.OUTER.value]
53
+ if len(outer_details) == 0:
54
+ return
55
+
56
+ input_data_id = editor_annotation["input_data_id"]
57
+ outer_dir = json_path.parent / input_data_id
58
+ outer_dir.mkdir(exist_ok=True, parents=True)
41
59
 
42
- # 塗りつぶし画像など外部リソースに保存されているファイルをダウンロードする
43
- for detail in outer_details:
44
- annotation_id = detail["annotation_id"]
45
- outer_file_path = outer_dir / f"{annotation_id}"
46
- self.service.wrapper.download(detail["url"], outer_file_path)
60
+ # 塗りつぶし画像など外部リソースに保存されているファイルをダウンロードする
61
+ for detail in outer_details:
62
+ annotation_id = detail["annotation_id"]
63
+ outer_file_path = outer_dir / f"{annotation_id}"
64
+ self.service.wrapper.download(detail["url"], outer_file_path)
47
65
 
48
66
  def dump_annotation_for_input_data(self, task_id: str, input_data_id: str, task_dir: Path) -> None:
49
- editor_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id, input_data_id)
67
+ editor_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id, input_data_id, query_params={"v": "2"})
50
68
  json_path = task_dir / f"{input_data_id}.json"
51
69
  self.dump_editor_annotation(editor_annotation=editor_annotation, json_path=json_path)
52
70
 
@@ -74,10 +74,17 @@ class RestoreAnnotationMain(CommandLineWithConfirm):
74
74
 
75
75
  return detail
76
76
 
77
- def parser_to_request_body(self, parser: SimpleAnnotationParser) -> dict[str, Any]:
77
+ def editor_annotation_to_request_body_v1(self, editor_annotation: dict[str, Any], parser: SimpleAnnotationParser) -> dict[str, Any]:
78
+ """
79
+ `get_editor_annotation`で取得したアノテーション(v1)を、`put_annotation` APIに渡すリクエストボディ(v1)に変換する。
80
+
81
+ Args:
82
+ editor_annotation: `get_editor_annotation`で取得したアノテーション(v1)
83
+ parser: SimpleAnnotationParserインスタンス。アノテーションのファイルを開くために利用する。
84
+ """
78
85
  # infer_missing=Trueを指定する理由:Optional型のキーが存在しない場合でも、AnnotationV1データクラスのインスタンスを生成できるようにするため
79
86
  # https://qiita.com/yuji38kwmt/items/c5b56f70da3b8a70ba31
80
- annotation: AnnotationV1 = AnnotationV1.from_dict(parser.load_json(), infer_missing=True)
87
+ annotation: AnnotationV1 = AnnotationV1.from_dict(editor_annotation, infer_missing=True)
81
88
  request_details: list[dict[str, Any]] = []
82
89
  for detail in annotation.details:
83
90
  request_detail = self._to_annotation_detail_for_request(parser, detail)
@@ -94,15 +101,48 @@ class RestoreAnnotationMain(CommandLineWithConfirm):
94
101
 
95
102
  return request_body
96
103
 
104
+ def editor_annotation_to_request_body_v2(self, editor_annotation: dict[str, Any], parser: SimpleAnnotationParser) -> dict[str, Any]:
105
+ """
106
+ `get_editor_annotation`で取得したアノテーション(v2)を、`put_annotation` APIに渡すリクエストボディ(v2)に変換する。
107
+
108
+ Args:
109
+ editor_annotation: `get_editor_annotation`で取得したアノテーション(v2)
110
+ parser: SimpleAnnotationParserインスタンス。アノテーションのファイルを開くために利用する。
111
+ """
112
+ request_details: list[dict[str, Any]] = []
113
+ for detail in editor_annotation["details"]:
114
+ new_detail = copy.deepcopy(detail)
115
+ new_detail["_type"] = "Import"
116
+ annotation_id = detail["annotation_id"]
117
+ detail_body_type = detail["body"]["_type"]
118
+ if detail_body_type == "Outer":
119
+ with parser.open_outer_file(annotation_id) as f:
120
+ # TODO content typeを確認
121
+ s3_path = self.service.wrapper.upload_data_to_s3(self.project_id, f, content_type="application/octet-stream")
122
+ new_detail["body"] = {"path": s3_path, "_type": "Outer"}
123
+ request_details.append(new_detail)
124
+ elif detail_body_type == "Inner":
125
+ request_details.append(new_detail)
126
+ else:
127
+ raise ValueError(f"detail_body_type がサポート対象外です。:: detail={detail}")
128
+
129
+ request_body = {"project_id": self.project_id, "task_id": parser.task_id, "input_data_id": parser.input_data_id, "details": request_details, "format_version": "2.0.0"}
130
+
131
+ return request_body
132
+
97
133
  def put_annotation_for_input_data(self, parser: SimpleAnnotationParser) -> bool:
98
134
  task_id = parser.task_id
99
135
  input_data_id = parser.input_data_id
100
136
 
101
- old_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id, input_data_id)
102
-
103
137
  logger.info(f"task_id='{task_id}', input_data_id='{input_data_id}' :: アノテーションをリストアします。")
104
- request_body = self.parser_to_request_body(parser)
105
138
 
139
+ editor_annotation = parser.load_json()
140
+ if editor_annotation.get("format_version") == "2.0.0":
141
+ request_body = self.editor_annotation_to_request_body_v2(editor_annotation, parser)
142
+ else:
143
+ request_body = self.editor_annotation_to_request_body_v1(editor_annotation, parser)
144
+
145
+ old_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id, input_data_id, query_params={"v": "2"})
106
146
  updated_datetime = old_annotation["updated_datetime"] if old_annotation is not None else None
107
147
  request_body["updated_datetime"] = updated_datetime
108
148
  self.service.api.put_annotation(self.project_id, task_id, input_data_id, request_body=request_body)
@@ -2,6 +2,7 @@ import argparse
2
2
  from typing import Optional
3
3
 
4
4
  import annofabcli.annotation.change_annotation_attributes
5
+ import annofabcli.annotation.change_annotation_attributes_per_annotation
5
6
  import annofabcli.annotation.change_annotation_properties
6
7
  import annofabcli.annotation.copy_annotation
7
8
  import annofabcli.annotation.delete_annotation
@@ -21,6 +22,7 @@ def parse_args(parser: argparse.ArgumentParser) -> None:
21
22
 
22
23
  # サブコマンドの定義
23
24
  annofabcli.annotation.change_annotation_attributes.add_parser(subparsers)
25
+ annofabcli.annotation.change_annotation_attributes_per_annotation.add_parser(subparsers)
24
26
  annofabcli.annotation.change_annotation_properties.add_parser(subparsers)
25
27
  annofabcli.annotation.copy_annotation.add_parser(subparsers)
26
28
  annofabcli.annotation.delete_annotation.add_parser(subparsers)
@@ -67,7 +67,7 @@ class PutCommentMain(CommandLineWithConfirm):
67
67
  """batch_update_comments に渡すリクエストボディを作成する。"""
68
68
 
69
69
  def _create_dict_annotation_id() -> dict[str, str]:
70
- content, _ = self.service.api.get_editor_annotation(self.project_id, task["task_id"], input_data_id)
70
+ content, _ = self.service.api.get_editor_annotation(self.project_id, task["task_id"], input_data_id, query_params={"v": "2"})
71
71
  details = content["details"]
72
72
  return {e["annotation_id"]: e["label_id"] for e in details}
73
73
 
@@ -375,13 +375,10 @@ class AddProps:
375
375
 
376
376
  * user_id
377
377
  * username
378
-
379
- Args:
380
- task:
381
-
382
- Returns:
383
- Task情報
378
+ * request.user_id
379
+ * request.username
384
380
 
385
381
  """
386
382
  self._add_user_info(task_history_event)
383
+ self._add_user_info(task_history_event["request"])
387
384
  return task_history_event
@@ -81,16 +81,34 @@ class ListTaskHistoryEventWithJson(CommandLine):
81
81
  main_obj = ListTaskHistoryEventWithJsonMain(self.service)
82
82
  task_history_event_list = main_obj.get_task_history_event_list(project_id, task_history_event_json=task_history_event_json, task_id_list=task_id_list)
83
83
 
84
- logger.debug(f"タスク履歴イベント一覧の件数: {len(task_history_event_list)}")
85
-
86
- if len(task_history_event_list) > 0:
87
- if arg_format == FormatArgument.CSV:
84
+ logger.debug(f"{len(task_history_event_list)} 件のタスク履歴イベントの情報を出力します。")
85
+
86
+ if arg_format == FormatArgument.CSV:
87
+ columns = [
88
+ "project_id",
89
+ "task_id",
90
+ "task_history_id",
91
+ "created_datetime",
92
+ "phase",
93
+ "phase_stage",
94
+ "status",
95
+ "account_id",
96
+ "request.status",
97
+ "request.account_id",
98
+ "request.user_id",
99
+ "request.username",
100
+ "request.last_updated_datetime",
101
+ "request.force",
102
+ ]
103
+ if len(task_history_event_list) > 0:
88
104
  df = pandas.json_normalize(task_history_event_list)
89
- self.print_csv(df)
105
+ df = df[columns]
90
106
  else:
91
- self.print_according_to_format(task_history_event_list)
107
+ df = pandas.DataFrame(columns=columns)
108
+
109
+ self.print_csv(df)
92
110
  else:
93
- logger.warning("タスク履歴イベント一覧の件数が0件であるため、出力しません。")
111
+ self.print_according_to_format(task_history_event_list)
94
112
 
95
113
  def main(self) -> None:
96
114
  args = self.args