annofabcli 1.106.8__tar.gz → 1.107.0__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.
- annofabcli-1.107.0/.github/copilot-instructions.md +52 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/PKG-INFO +1 -2
- {annofabcli-1.106.8 → annofabcli-1.107.0}/README.md +0 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/__main__.py +2 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/annotation_query.py +2 -2
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/download_annotation_zip.py +2 -2
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/import_annotation.py +37 -15
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/restore_annotation.py +1 -1
- annofabcli-1.107.0/annofabcli/annotation_zip/__init__.py +1 -0
- annofabcli-1.107.0/annofabcli/annotation_zip/list_annotation_bounding_box_2d.py +324 -0
- annofabcli-1.107.0/annofabcli/annotation_zip/subcommand_annotation_zip.py +35 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/delete_comment.py +2 -2
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_inspection_comment.py +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_inspection_comment_simply.py +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_onhold_comment.py +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_onhold_comment_simply.py +1 -1
- annofabcli-1.107.0/annofabcli/common/annofab/annotation_zip.py +37 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/put_input_data.py +11 -8
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_annotation_area.py +3 -8
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/copy_tasks.py +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/download.rst +2 -2
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/import.rst +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_label.rst +1 -1
- annofabcli-1.107.0/docs/command_reference/annotation_zip/index.rst +28 -0
- annofabcli-1.107.0/docs/command_reference/annotation_zip/list_bounding_box_2d.rst +49 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/draw_annotation.rst +1 -7
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/merge_annotation.rst +0 -6
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/index.rst +1 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/download.rst +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/download.rst +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history/download.rst +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/download.rst +1 -1
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.clinerules/overview.md +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.devcontainer/.extensions/.gitignore +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.devcontainer/Dockerfile +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.devcontainer/devcontainer.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.github/dependabot.yml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.github/workflows/codeql-analysis.yml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.github/workflows/lint-test.yml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.github/workflows/publish-to-pypi.yml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.github/workflows/release.yml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.gitignore +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.readthedocs.yaml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.vscode/cspell.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/.vscode/settings.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/LICENSE +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/Makefile +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/README_for_developer.md +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/change_annotation_attributes.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/change_annotation_attributes_per_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/change_annotation_properties.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/copy_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/delete_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/dump_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/list_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/list_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/merge_segmentation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/remove_segmentation_overlap.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation/subcommand_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/add_attribute_restriction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/attribute_restriction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/export_annotation_specs.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/get_annotation_specs_with_attribute_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/get_annotation_specs_with_label_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_annotation_specs_attribute.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_annotation_specs_choice.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_annotation_specs_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_annotation_specs_label.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_annotation_specs_label_attribute.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_attribute_restriction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/list_label_color.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/put_label_color.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/annotation_specs/subcommand_annotation_specs.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/download_comment_json.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/list_all_comment.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/list_comment.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_comment.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_comment_simply.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/subcommand_comment.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/utils.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/annofab/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/annofab/annotation_specs.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/annofab/project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/bokeh.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/cli.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/dataclasses.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/download.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/enums.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/exceptions.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/facade.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/image.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/pandas.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/type_util.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/typing.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/utils.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/common/visualize.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/data/logging.yaml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/experimental/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/experimental/list_out_of_range_annotation_for_movie.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/experimental/subcommand_experimental.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/draw_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/filter_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/mask_user_info.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/merge_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/filesystem/subcommand_filesystem.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/change_input_data_name.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/copy_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/delete_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/delete_metadata_key_of_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/download_input_data_json.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/list_all_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/list_all_input_data_merged_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/list_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/put_input_data_with_zip.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/subcommand_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/update_metadata_of_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/input_data/utils.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/copy_instruction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/download_instruction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/list_instruction_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/subcommand_instruction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/instruction/upload_instruction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/delete_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/list_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/list_last_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/subcommand_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/job/wait_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/my_account/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/my_account/get_my_account.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/my_account/subcommand_my_account.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization/list_organization.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization/subcommand_organization.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/change_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/delete_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/invite_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/list_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/organization_member/subcommand_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/change_organization_of_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/change_project_status.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/copy_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/diff_projects.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/list_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/put_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project/subcommand_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/change_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/copy_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/drop_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/invite_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/list_users.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/put_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/project_member/subcommand_project_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/py.typed +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/mask_visualization_dir.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/merge_visualization_dir.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/subcommand_stat_visualization.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/summarize_whole_performance_csv.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/write_graph.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/stat_visualization/write_performance_rating_csv.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/histogram.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/linegraph.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_annotation_attribute.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_annotation_attribute_filled_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_annotation_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_video_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/list_worktime.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/scatter.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/subcommand_statistics.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/summarize_task_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/summarize_task_count_by_task_id_group.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/summarize_task_count_by_user.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/actual_worktime.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/cumulative_productivity.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/custom_production_volume.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/input_data_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/inspection_comment_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/productivity_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/project_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/task_worktime_by_phase_user.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/user.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/user_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/whole_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/whole_productivity_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/dataframe/worktime_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/filtering_query.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/model.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/project_dir.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualization/visualization_source_files.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualize_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualize_annotation_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualize_statistics.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/statistics/visualize_video_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/supplementary/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/supplementary/delete_supplementary_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/supplementary/list_supplementary_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/supplementary/put_supplementary_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/supplementary/subcommand_supplementary.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/cancel_acceptance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/change_operator.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/change_status_to_break.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/change_status_to_on_hold.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/complete_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/delete_metadata_key_of_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/delete_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/download_task_json.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/list_all_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/list_all_tasks_added_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/list_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/list_tasks_added_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/put_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/put_tasks_by_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/reject_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/subcommand_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task/update_metadata_of_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history/download_task_history_json.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history/list_all_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history/list_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history/subcommand_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history_event/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history_event/download_task_history_event_json.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history_event/list_all_task_history_event.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history_event/list_worktime.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/task_history_event/subcommand_task_history_event.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/Makefile +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/_static/css/custom.css +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/change_attributes.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/change_attributes_per_annotation.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/change_properties.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/dump/task_history.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/dump.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/list_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/merge_segmentation/after.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/merge_segmentation/before.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/merge_segmentation.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/remove_segmentation_overlap/after.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/remove_segmentation_overlap/before.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/remove_segmentation_overlap.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation/restore.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/add_attribute_restriction.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/export.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/get_with_attribute_id_replaced_label_name.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/get_with_choice_id_replaced_label_name.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/get_with_label_id_replaced_label_name.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_attribute.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_attribute_restriction.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_choice.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_history.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_label_attribute.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/list_label_color.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/annotation_specs/put_label_color.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/download.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/list_all.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/put_inspection.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/put_inspection_simply.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/put_onhold.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/comment/put_onhold_simply.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/experimental/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/draw_annotation/output_image.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/filter_annotation.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/mask_user_info.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/filesystem/write_annotation_image/output_image.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/change_name.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/delete_metadata_key.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/list_all.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/list_all_merged_task/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/list_all_merged_task.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/put.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/put_with_zip.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/input_data/update_metadata.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/download.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/list_history.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/upload/site.css +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/instruction/upload.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/list_last/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/list_last.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/list_task_creation_history/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/job/wait.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/my_account/get.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/my_account/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/change.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/invite.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/organization_member/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/change_organization.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/change_status.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/diff.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/list/out_minimal.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project/put.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/change.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/invite.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/project_member/put.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/mask_user_info.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/merge.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/summarize_whole_performance_csv.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/write_graph.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_deviation.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_rank.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/stat_visualization/write_performance_rating_csv.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_area.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_attribute/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_attribute.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_input_data.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_task.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_attribute_filled_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_attribute.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_label.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_count/out_by_task_attribute.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_count/out_by_task_label.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_duration/out_by_attribute.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_duration/out_by_label.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_annotation_duration.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_video_duration/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_video_duration.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/list_worktime.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/summarize_task_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/summarize_task_count_by_task_id_group.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/summarize_task_count_by_user.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize/out_dir/task-worktime-by-user-phase.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize/out_dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_count/img/attributes_count.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_count/img/labels_count.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_count/output/attributes_count.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_count/output/labels_count.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_attribute.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_arrange_bin_edge.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_bin_width.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_minute.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_attribute.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_label.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_annotation_duration.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_output_rst/task-worktime-list-by-user-phase_csv.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_output_rst//343/202/277/343/202/271/343/202/257list_csv.rst" +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_video_duration/img/out.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_video_duration/img/out2.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_video_duration/img/out3.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_video_duration/output/out.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/statistics/visualize_video_duration.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/supplementary/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/supplementary/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/supplementary/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/supplementary/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/supplementary/put.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/cancel_acceptance.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/change_operator.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/change_status_to_break.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/change_status_to_on_hold.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/complete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/copy.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/delete.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/delete_metadata_key.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/list_added_task_history.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/list_all.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/list_all_added_task_history.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/put.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/put_by_count.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/reject.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task/update_metadata.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history/list/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history/list.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history/list_all.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/list_all/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/list_all.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/list_worktime/out.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/command_reference/task_history_event/list_worktime.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/conf.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/examples/edit_annotation.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/examples/http_private_storage.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/examples/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/faq.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/requirements.txt +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/3dpc-editor.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/cli_usage_output.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/command_line_options.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/configurations.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/index.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/docs/user_guide/user_guide.rst +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/examples/async_wait_jobs.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/pylintrc +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/pyproject.toml +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/pytest.ini +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/scripts/mask_user_info_for_all_visualization_dir.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/scripts/mask_user_info_for_rating_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/test_annotation_query.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/test_copy_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/test_import_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/test_merge_segmentation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation/test_remove_segmentation_overlap.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation_specs/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation_specs/test_attribute_restriction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation_specs/test_get_annotation_specs_with_attribute_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/annotation_specs/test_get_annotation_specs_with_label_id_replaced.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/test_bokeh.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/test_cli.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/test_download.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/test_image.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/common/test_utils.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590/01FHSFFPHF2E5WJX8HHF0J1WCT +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation/import_annotation/annotation_specs.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation/import_annotation/image_annotation.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation/imported-annotation.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/annotation_specs/annotation_specs.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/arg.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/arg_id_list.txt +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/input_data_id.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/label_color.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-A/task1/input1.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-A/task1/input2.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-A/task2/input2/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-A/task2/input2.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-A.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-B/task1/input1.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-B/task1/input3.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/merge/annotation-B/task3/input2.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/simple-annotation.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/user1.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/user2.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/filesystem/user2_1.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/input_data.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/input_data2.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/input_data_duplicated.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/input_data_duplicated_name.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/input_data_duplicated_path.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data/lenna.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/input_data2.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/instruction/instruction.html +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/instruction/lenna.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/label_color.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/lenna.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/project_member/project_members.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/simple-annotation.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/simple-annotation.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/small-lenna.png +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/mask_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/mask_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/merge_visualization_dir/visualization1/project_info.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/merge_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/merge_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/summarize_whole_performance_csv/visualization1/project_info.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/visualization-dir/project_info.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/visualization-dir/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/visualization-dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/stat_visualization/write_performance_rating_csv/visualization1/project_info.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/annotation-count-ratio-df.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/input_data.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/inspection-comment.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/labor-df.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/1b3f0069-9d88-4781-8406-023180822407 +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/2d9884e3-6926-47dc-97d4-d9f55d113625 +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/7604d4ea-4288-4f31-bed9-d5624571e52f +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/productivity-per-date.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/productivity-per-date2.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/productivity-per-user.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/productivity-per-user2.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/simple-annotations.zip +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task-history-df-empty.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task-history-df.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task-history.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task-worktime-by-user-phase.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/task.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/user.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/visualization-dir1/project_info.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/statistics/worktime-per-date.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/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
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/supplementary/deleted-supplementary.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/supplementary/supplementary.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/task/put_task.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/task-history.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/task.json +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/utils/example-utf8.txt +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/utils/example-utf8bom.txt +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/data/utils/multiheader.csv +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/filesystem/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/filesystem/test_mask_user_info.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/input_data/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/input_data/test_put_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/project_member/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/project_member/test_change_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/project_member/test_put_project_members.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/stat_visualization/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/stat_visualization/test_mask_visualization_dir.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_list_annotation_area.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_list_annotation_attribute_filled_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_list_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_list_annotation_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_list_worktime.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_summarize_task_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_summarize_task_count_by_task_id_group.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_table.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_visualize_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_visualize_annotation_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/test_visualize_video_duration.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_annotation_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_cumulative_productivity.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_inspection_comment_count.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_productivity_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_project_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_task_worktime_by_phase_user.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_user_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_whole_performance.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_whole_productivity_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/dataframe/test_worktime_per_date.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/test_model.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/statistics/visualization/test_write_performance_rating_csv.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/supplementary/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/supplementary/test_put_supplementary_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/task/__init__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/task/test_complete_tasks.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/task/test_list_tasks_added_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test____main__.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_annotation.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_annotation_specs.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_comment.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_filesystem.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_input_data.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_instruction.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_job.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_my_account.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_organization.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_organization_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_project.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_project_member.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_stat_visualization.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_statistics.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_supplementary.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_task.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_task_history.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/test_task_history_event.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/tests/utils_for_test.py +0 -0
- {annofabcli-1.106.8 → annofabcli-1.107.0}/uv.lock +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# copilot-instructions.md
|
|
2
|
+
|
|
3
|
+
## プロジェクトの目的
|
|
4
|
+
AnnofabのCLIです。
|
|
5
|
+
|
|
6
|
+
## 開発でよく使うコマンド
|
|
7
|
+
* コードのフォーマット: `make format`
|
|
8
|
+
* Lintの実行: `make lint`
|
|
9
|
+
* テストの実行: `make test`
|
|
10
|
+
* ドキュメントの実行: `make docs`
|
|
11
|
+
|
|
12
|
+
## 技術スタック
|
|
13
|
+
* Python 3.9 以上
|
|
14
|
+
* テストフレームワーク: Pytest v8 以上
|
|
15
|
+
|
|
16
|
+
## ディレクトリ構造概要
|
|
17
|
+
|
|
18
|
+
* `annofabcli/**`: アプリケーションのソースコード
|
|
19
|
+
* `tests/**`: テストコード
|
|
20
|
+
* `tests/data/**`: テストコードが参照するリソース
|
|
21
|
+
* `docs/*`: ドキュメント
|
|
22
|
+
* `docs/command_reference/**`: コマンドリファレンス
|
|
23
|
+
|
|
24
|
+
## コーディングスタイル
|
|
25
|
+
|
|
26
|
+
### Python
|
|
27
|
+
* dictから値を取得する際、必須なキーならばブラケット記法を使う。キーが必須がどうか分からない場合は、必須とみなす。
|
|
28
|
+
* できるだけ`os.path`でなく`pathlib.Path`を使う(Lint`flake8-use-pathlib`に従う)
|
|
29
|
+
* Noneの判定、空文字列の判定、長さが0のコレクションの判定は、falsyとして判定するのでなく、`if a is not None:`のように判定内容を明記してください。
|
|
30
|
+
|
|
31
|
+
### テストコード
|
|
32
|
+
* Errorの確認は、`pytest.raises`を使用する。エラーメッセージの確認は行わない。
|
|
33
|
+
* テストファイルは、`test_*.py`の形式で作成する。ディレクトリ構成は`src`と対応させる。
|
|
34
|
+
* 一時ディレクトリを使用する場合は、`tmp_path` fixtureを利用する。
|
|
35
|
+
|
|
36
|
+
### ドキュメント
|
|
37
|
+
* コマンドのドキュメントは、`docs/command_reference/`に作成する。
|
|
38
|
+
* コマンドの末尾には以下のように`.. argparse::`ディレクティブを追加して、`argparse`から自動生成されるUsage Detailsセクションを挿入する。
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Usage Details
|
|
42
|
+
=================================
|
|
43
|
+
|
|
44
|
+
.. argparse::
|
|
45
|
+
:ref: annofabcli.comment.list_comment.add_parser
|
|
46
|
+
:prog: annofabcli comment list
|
|
47
|
+
:nosubcommands:
|
|
48
|
+
:nodefaultconst:
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## レビュー
|
|
52
|
+
* PRレビューの際は、日本語でレビューを行う
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: annofabcli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.107.0
|
|
4
4
|
Summary: Utility Command Line Interface for AnnoFab
|
|
5
5
|
Author: Kurusugawa Computer Inc.
|
|
6
6
|
License: MIT
|
|
@@ -37,7 +37,6 @@ Description-Content-Type: text/markdown
|
|
|
37
37
|
[Annofab](https://annofab.com/)のCLI(Command Line Interface)ツールです。
|
|
38
38
|
「タスクの一括差し戻し」や、「タスク一覧出力」など、Annofabの画面で実施するには時間がかかる操作を、コマンドとして提供しています。
|
|
39
39
|
|
|
40
|
-
[](https://app.travis-ci.com/kurusugawa-computer/annofab-cli)
|
|
41
40
|
[](https://badge.fury.io/py/annofabcli)
|
|
42
41
|
[](https://pypi.org/project/annofabcli/)
|
|
43
42
|
[](https://annofab-cli.readthedocs.io/ja/latest/?badge=latest)
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
[Annofab](https://annofab.com/)のCLI(Command Line Interface)ツールです。
|
|
3
3
|
「タスクの一括差し戻し」や、「タスク一覧出力」など、Annofabの画面で実施するには時間がかかる操作を、コマンドとして提供しています。
|
|
4
4
|
|
|
5
|
-
[](https://app.travis-ci.com/kurusugawa-computer/annofab-cli)
|
|
6
5
|
[](https://badge.fury.io/py/annofabcli)
|
|
7
6
|
[](https://pypi.org/project/annofabcli/)
|
|
8
7
|
[](https://annofab-cli.readthedocs.io/ja/latest/?badge=latest)
|
|
@@ -10,6 +10,7 @@ import pandas
|
|
|
10
10
|
|
|
11
11
|
import annofabcli.annotation.subcommand_annotation
|
|
12
12
|
import annofabcli.annotation_specs.subcommand_annotation_specs
|
|
13
|
+
import annofabcli.annotation_zip.subcommand_annotation_zip
|
|
13
14
|
import annofabcli.comment.subcommand_comment
|
|
14
15
|
import annofabcli.common.cli
|
|
15
16
|
import annofabcli.experimental.subcommand_experimental
|
|
@@ -107,6 +108,7 @@ def create_parser() -> argparse.ArgumentParser:
|
|
|
107
108
|
|
|
108
109
|
annofabcli.annotation.subcommand_annotation.add_parser(subparsers)
|
|
109
110
|
annofabcli.annotation_specs.subcommand_annotation_specs.add_parser(subparsers)
|
|
111
|
+
annofabcli.annotation_zip.subcommand_annotation_zip.add_parser(subparsers)
|
|
110
112
|
annofabcli.comment.subcommand_comment.add_parser(subparsers)
|
|
111
113
|
annofabcli.input_data.subcommand_input_data.add_parser(subparsers)
|
|
112
114
|
annofabcli.instruction.subcommand_instruction.add_parser(subparsers)
|
|
@@ -270,7 +270,7 @@ class AnnotationQueryForCLI(DataClassJsonMixin):
|
|
|
270
270
|
|
|
271
271
|
def to_query_for_api(self, annotation_specs: dict[str, Any]) -> AnnotationQueryForAPI:
|
|
272
272
|
"""
|
|
273
|
-
WebAPIのquery_params( https://annofab.com/docs/api/#
|
|
273
|
+
WebAPIのquery_params( https://annofab.com/docs/api/#tag/x-data-types/AnnotationQuery )に渡すdictに変換する。
|
|
274
274
|
|
|
275
275
|
Args:
|
|
276
276
|
annotation_specs: アノテーション仕様(V2,V3版)
|
|
@@ -306,7 +306,7 @@ class AnnotationQueryForCLI(DataClassJsonMixin):
|
|
|
306
306
|
class AnnotationQueryForAPI(DataClassJsonMixin):
|
|
307
307
|
"""
|
|
308
308
|
WebAPIでアノテーションを絞り込むためのクエリ。
|
|
309
|
-
https://annofab.com/docs/api/#
|
|
309
|
+
https://annofab.com/docs/api/#tag/x-data-types/AnnotationQuery に対応しています。
|
|
310
310
|
"""
|
|
311
311
|
|
|
312
312
|
label_id: Optional[str] = None
|
|
@@ -19,7 +19,7 @@ class DownloadingAnnotationZip(CommandLine):
|
|
|
19
19
|
super().validate_project(project_id, [ProjectMemberRole.OWNER, ProjectMemberRole.TRAINING_DATA_USER])
|
|
20
20
|
|
|
21
21
|
project_title = self.facade.get_project_title(project_id)
|
|
22
|
-
logger.info(f"{project_title}
|
|
22
|
+
logger.info(f"プロジェクト'{project_title}'のアノテーションZIPをダウンロードします。")
|
|
23
23
|
|
|
24
24
|
obj = DownloadingFile(self.service)
|
|
25
25
|
obj.download_annotation_zip(
|
|
@@ -28,7 +28,7 @@ class DownloadingAnnotationZip(CommandLine):
|
|
|
28
28
|
is_latest=is_latest,
|
|
29
29
|
should_download_full_annotation=should_download_full_annotation,
|
|
30
30
|
)
|
|
31
|
-
logger.info(f"アノテーションZIP
|
|
31
|
+
logger.info(f"アノテーションZIPをダウンロードして、'{output_zip}'に保存しました。")
|
|
32
32
|
|
|
33
33
|
def main(self) -> None:
|
|
34
34
|
args = self.args
|
|
@@ -419,19 +419,25 @@ class ImportAnnotationMain(CommandLineWithConfirm):
|
|
|
419
419
|
self.is_overwrite = is_overwrite
|
|
420
420
|
self.converter = converter
|
|
421
421
|
|
|
422
|
-
def put_annotation_for_input_data(self, parser: SimpleAnnotationParser) ->
|
|
422
|
+
def put_annotation_for_input_data(self, parser: SimpleAnnotationParser) -> int:
|
|
423
|
+
"""
|
|
424
|
+
1個の入力データに対してアノテーションを登録します。
|
|
425
|
+
|
|
426
|
+
Returns:
|
|
427
|
+
登録したアノテーションの個数
|
|
428
|
+
"""
|
|
423
429
|
task_id = parser.task_id
|
|
424
430
|
input_data_id = parser.input_data_id
|
|
425
431
|
|
|
426
432
|
simple_annotation: ImportedSimpleAnnotation = ImportedSimpleAnnotation.from_dict(parser.load_json())
|
|
427
433
|
if len(simple_annotation.details) == 0:
|
|
428
434
|
logger.debug(f"task_id='{task_id}', input_data_id='{input_data_id}' :: インポート元にアノテーションデータがないため、アノテーションの登録をスキップします。")
|
|
429
|
-
return
|
|
435
|
+
return 0
|
|
430
436
|
|
|
431
437
|
input_data = self.service.wrapper.get_input_data_or_none(self.project_id, input_data_id)
|
|
432
438
|
if input_data is None:
|
|
433
439
|
logger.warning(f"input_data_id='{input_data_id}'という入力データは存在しません。 :: task_id='{task_id}'")
|
|
434
|
-
return
|
|
440
|
+
return 0
|
|
435
441
|
|
|
436
442
|
old_annotation, _ = self.service.api.get_editor_annotation(self.project_id, task_id, input_data_id, query_params={"v": "2"})
|
|
437
443
|
if len(old_annotation["details"]) > 0: # noqa: SIM102
|
|
@@ -441,30 +447,44 @@ class ImportAnnotationMain(CommandLineWithConfirm):
|
|
|
441
447
|
f"インポート先のタスク内の入力データに既にアノテーションが存在するため、アノテーションの登録をスキップします。"
|
|
442
448
|
f"アノテーションをインポートする場合は、`--overwrite` または '--merge' を指定してください。"
|
|
443
449
|
)
|
|
444
|
-
return
|
|
450
|
+
return 0
|
|
445
451
|
|
|
446
|
-
logger.info(f"task_id='{task_id}', input_data_id='{input_data_id}' :: {len(simple_annotation.details)} 件のアノテーションを登録します。")
|
|
447
452
|
if self.is_merge:
|
|
448
453
|
request_body = self.converter.convert_annotation_details(parser, simple_annotation.details, old_details=old_annotation["details"], updated_datetime=old_annotation["updated_datetime"])
|
|
449
454
|
else:
|
|
450
455
|
request_body = self.converter.convert_annotation_details(parser, simple_annotation.details, old_details=[], updated_datetime=old_annotation["updated_datetime"])
|
|
451
456
|
|
|
457
|
+
if len(request_body["details"]) == 0:
|
|
458
|
+
logger.warning(f"task_id='{task_id}', input_data_id='{input_data_id}' :: 登録できるアノテーション数が0/{len(simple_annotation.details)}件なので、アノテーションの登録をスキップします。")
|
|
459
|
+
return 0
|
|
452
460
|
self.service.api.put_annotation(self.project_id, task_id, input_data_id, request_body=request_body, query_params={"v": "2"})
|
|
453
|
-
|
|
461
|
+
success_annotation_count = len(request_body["details"])
|
|
462
|
+
logger.debug(f"task_id='{task_id}', input_data_id='{input_data_id}' :: {success_annotation_count}/{len(simple_annotation.details)} 件のアノテーションを登録しました。")
|
|
463
|
+
return success_annotation_count
|
|
454
464
|
|
|
455
|
-
def put_annotation_for_task(self, task_parser: SimpleAnnotationParserByTask) -> int:
|
|
456
|
-
|
|
465
|
+
def put_annotation_for_task(self, task_parser: SimpleAnnotationParserByTask) -> tuple[int, int]:
|
|
466
|
+
"""
|
|
467
|
+
1個のタスクに対して、アノテーションを登録します。
|
|
468
|
+
|
|
469
|
+
Returns:
|
|
470
|
+
tuple[0]: アノテーションを登録した入力データの個数
|
|
471
|
+
tuple[1]: 登録したアノテーションの個数
|
|
472
|
+
"""
|
|
473
|
+
success_input_data_count = 0
|
|
474
|
+
success_annotation_count = 0
|
|
457
475
|
for parser in task_parser.lazy_parse():
|
|
458
476
|
try:
|
|
459
|
-
|
|
460
|
-
|
|
477
|
+
tmp_success_annotation_count = self.put_annotation_for_input_data(parser)
|
|
478
|
+
if tmp_success_annotation_count > 0:
|
|
479
|
+
success_input_data_count += 1
|
|
480
|
+
success_annotation_count += tmp_success_annotation_count
|
|
461
481
|
except Exception: # pylint: disable=broad-except
|
|
462
482
|
logger.warning(
|
|
463
483
|
f"task_id='{parser.task_id}', input_data_id='{parser.input_data_id}' のアノテーションのインポートに失敗しました。",
|
|
464
484
|
exc_info=True,
|
|
465
485
|
)
|
|
466
486
|
|
|
467
|
-
return
|
|
487
|
+
return success_input_data_count, success_annotation_count
|
|
468
488
|
|
|
469
489
|
def execute_task(self, task_parser: SimpleAnnotationParserByTask, task_index: Optional[int] = None) -> bool:
|
|
470
490
|
"""
|
|
@@ -515,8 +535,10 @@ class ImportAnnotationMain(CommandLineWithConfirm):
|
|
|
515
535
|
)
|
|
516
536
|
return False
|
|
517
537
|
|
|
518
|
-
|
|
519
|
-
logger.info(
|
|
538
|
+
success_input_data_count, success_annotation_count = self.put_annotation_for_task(task_parser)
|
|
539
|
+
logger.info(
|
|
540
|
+
f"{logger_prefix}task_id='{task_parser.task_id}'のタスクに含まれる入力データ {success_input_data_count} 個に対して、アノテーション{success_annotation_count}個をインポートしました。"
|
|
541
|
+
)
|
|
520
542
|
|
|
521
543
|
if changed_operator:
|
|
522
544
|
logger.debug(f"タスク'{task_id}' の担当者を元に戻します。")
|
|
@@ -527,7 +549,7 @@ class ImportAnnotationMain(CommandLineWithConfirm):
|
|
|
527
549
|
last_updated_datetime=task["updated_datetime"],
|
|
528
550
|
)
|
|
529
551
|
|
|
530
|
-
return
|
|
552
|
+
return success_input_data_count > 0
|
|
531
553
|
|
|
532
554
|
def execute_task_wrapper(
|
|
533
555
|
self,
|
|
@@ -617,7 +639,7 @@ class ImportAnnotation(CommandLine):
|
|
|
617
639
|
|
|
618
640
|
if args.parallelism is not None and not args.yes:
|
|
619
641
|
print( # noqa: T201
|
|
620
|
-
f"{COMMON_MESSAGE} argument --parallelism: '--parallelism'
|
|
642
|
+
f"{COMMON_MESSAGE} argument --parallelism: '--parallelism'を指定するときは、'--yes' を指定してください。",
|
|
621
643
|
file=sys.stderr,
|
|
622
644
|
)
|
|
623
645
|
return False
|
|
@@ -305,7 +305,7 @@ class RestoreAnnotation(CommandLine):
|
|
|
305
305
|
def validate(self, args: argparse.Namespace) -> bool:
|
|
306
306
|
if args.parallelism is not None and not args.yes:
|
|
307
307
|
print( # noqa: T201
|
|
308
|
-
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'
|
|
308
|
+
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'を指定するときは、'--yes' を指定してください。",
|
|
309
309
|
file=sys.stderr,
|
|
310
310
|
)
|
|
311
311
|
return False
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""アノテーションZIPに関するサブパッケージ"""
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import logging
|
|
5
|
+
import sys
|
|
6
|
+
import tempfile
|
|
7
|
+
from collections.abc import Collection
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Any, Optional
|
|
11
|
+
|
|
12
|
+
import pandas
|
|
13
|
+
from annofabapi.models import InputDataType, ProjectMemberRole
|
|
14
|
+
from dataclasses_json import DataClassJsonMixin
|
|
15
|
+
|
|
16
|
+
import annofabcli
|
|
17
|
+
import annofabcli.common.cli
|
|
18
|
+
from annofabcli.common.annofab.annotation_zip import lazy_parse_simple_annotation_by_input_data
|
|
19
|
+
from annofabcli.common.cli import (
|
|
20
|
+
COMMAND_LINE_ERROR_STATUS_CODE,
|
|
21
|
+
ArgumentParser,
|
|
22
|
+
CommandLine,
|
|
23
|
+
build_annofabapi_resource_and_login,
|
|
24
|
+
)
|
|
25
|
+
from annofabcli.common.download import DownloadingFile
|
|
26
|
+
from annofabcli.common.enums import FormatArgument
|
|
27
|
+
from annofabcli.common.facade import (
|
|
28
|
+
AnnofabApiFacade,
|
|
29
|
+
TaskQuery,
|
|
30
|
+
match_annotation_with_task_query,
|
|
31
|
+
)
|
|
32
|
+
from annofabcli.common.utils import print_csv, print_json
|
|
33
|
+
|
|
34
|
+
logger = logging.getLogger(__name__)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@dataclass(frozen=True)
|
|
38
|
+
class AnnotationBoundingBoxInfo(DataClassJsonMixin):
|
|
39
|
+
project_id: str
|
|
40
|
+
task_id: str
|
|
41
|
+
task_status: str
|
|
42
|
+
task_phase: str
|
|
43
|
+
task_phase_stage: int
|
|
44
|
+
|
|
45
|
+
input_data_id: str
|
|
46
|
+
input_data_name: str
|
|
47
|
+
|
|
48
|
+
updated_datetime: Optional[str]
|
|
49
|
+
"""アノテーションJSONに格納されているアノテーションの更新日時"""
|
|
50
|
+
|
|
51
|
+
label: str
|
|
52
|
+
annotation_id: str
|
|
53
|
+
left_top: dict[str, int]
|
|
54
|
+
right_bottom: dict[str, int]
|
|
55
|
+
width: int
|
|
56
|
+
height: int
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def get_annotation_bounding_box_info_list(simple_annotation: dict[str, Any]) -> list[AnnotationBoundingBoxInfo]:
|
|
60
|
+
result = []
|
|
61
|
+
for detail in simple_annotation["details"]:
|
|
62
|
+
if detail["data"]["_type"] == "BoundingBox":
|
|
63
|
+
left_top = detail["data"]["left_top"]
|
|
64
|
+
right_bottom = detail["data"]["right_bottom"]
|
|
65
|
+
width = abs(right_bottom["x"] - left_top["x"])
|
|
66
|
+
height = abs(right_bottom["y"] - left_top["y"])
|
|
67
|
+
|
|
68
|
+
result.append(
|
|
69
|
+
AnnotationBoundingBoxInfo(
|
|
70
|
+
project_id=simple_annotation["project_id"],
|
|
71
|
+
task_id=simple_annotation["task_id"],
|
|
72
|
+
task_phase=simple_annotation["task_phase"],
|
|
73
|
+
task_phase_stage=simple_annotation["task_phase_stage"],
|
|
74
|
+
task_status=simple_annotation["task_status"],
|
|
75
|
+
input_data_id=simple_annotation["input_data_id"],
|
|
76
|
+
input_data_name=simple_annotation["input_data_name"],
|
|
77
|
+
label=detail["label"],
|
|
78
|
+
annotation_id=detail["annotation_id"],
|
|
79
|
+
left_top=left_top,
|
|
80
|
+
right_bottom=right_bottom,
|
|
81
|
+
width=width,
|
|
82
|
+
height=height,
|
|
83
|
+
updated_datetime=simple_annotation["updated_datetime"],
|
|
84
|
+
)
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
return result
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def get_annotation_bounding_box_info_list_from_annotation_path(
|
|
91
|
+
annotation_path: Path,
|
|
92
|
+
*,
|
|
93
|
+
target_task_ids: Optional[Collection[str]] = None,
|
|
94
|
+
task_query: Optional[TaskQuery] = None,
|
|
95
|
+
) -> list[AnnotationBoundingBoxInfo]:
|
|
96
|
+
annotation_bbox_list = []
|
|
97
|
+
target_task_ids = set(target_task_ids) if target_task_ids is not None else None
|
|
98
|
+
iter_parser = lazy_parse_simple_annotation_by_input_data(annotation_path)
|
|
99
|
+
logger.info(f"アノテーションZIPまたはディレクトリ'{annotation_path}'を読み込みます。")
|
|
100
|
+
for index, parser in enumerate(iter_parser):
|
|
101
|
+
if (index + 1) % 10000 == 0:
|
|
102
|
+
logger.info(f"{index + 1} 件目のJSONを読み込み中")
|
|
103
|
+
if target_task_ids is not None and parser.task_id not in target_task_ids:
|
|
104
|
+
continue
|
|
105
|
+
dict_simple_annotation = parser.load_json()
|
|
106
|
+
if task_query is not None and not match_annotation_with_task_query(dict_simple_annotation, task_query):
|
|
107
|
+
continue
|
|
108
|
+
sub_annotation_bbox_list = get_annotation_bounding_box_info_list(dict_simple_annotation)
|
|
109
|
+
annotation_bbox_list.extend(sub_annotation_bbox_list)
|
|
110
|
+
return annotation_bbox_list
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def create_df(
|
|
114
|
+
annotation_bbox_list: list[AnnotationBoundingBoxInfo],
|
|
115
|
+
) -> pandas.DataFrame:
|
|
116
|
+
columns = [
|
|
117
|
+
"project_id",
|
|
118
|
+
"task_id",
|
|
119
|
+
"task_status",
|
|
120
|
+
"task_phase",
|
|
121
|
+
"task_phase_stage",
|
|
122
|
+
"input_data_id",
|
|
123
|
+
"input_data_name",
|
|
124
|
+
"updated_datetime",
|
|
125
|
+
"label",
|
|
126
|
+
"annotation_id",
|
|
127
|
+
"left_top.x",
|
|
128
|
+
"left_top.y",
|
|
129
|
+
"right_bottom.x",
|
|
130
|
+
"right_bottom.y",
|
|
131
|
+
"width",
|
|
132
|
+
"height",
|
|
133
|
+
]
|
|
134
|
+
if len(annotation_bbox_list) > 0:
|
|
135
|
+
df = pandas.DataFrame(
|
|
136
|
+
[
|
|
137
|
+
{
|
|
138
|
+
"project_id": e.project_id,
|
|
139
|
+
"task_id": e.task_id,
|
|
140
|
+
"task_status": e.task_status,
|
|
141
|
+
"task_phase": e.task_phase,
|
|
142
|
+
"task_phase_stage": e.task_phase_stage,
|
|
143
|
+
"input_data_id": e.input_data_id,
|
|
144
|
+
"input_data_name": e.input_data_name,
|
|
145
|
+
"updated_datetime": e.updated_datetime,
|
|
146
|
+
"label": e.label,
|
|
147
|
+
"annotation_id": e.annotation_id,
|
|
148
|
+
"left_top.x": e.left_top["x"],
|
|
149
|
+
"left_top.y": e.left_top["y"],
|
|
150
|
+
"right_bottom.x": e.right_bottom["x"],
|
|
151
|
+
"right_bottom.y": e.right_bottom["y"],
|
|
152
|
+
"width": e.width,
|
|
153
|
+
"height": e.height,
|
|
154
|
+
}
|
|
155
|
+
for e in annotation_bbox_list
|
|
156
|
+
]
|
|
157
|
+
)
|
|
158
|
+
else:
|
|
159
|
+
df = pandas.DataFrame(columns=columns)
|
|
160
|
+
|
|
161
|
+
return df[columns]
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def print_annotation_bounding_box(
|
|
165
|
+
annotation_path: Path,
|
|
166
|
+
output_file: Path,
|
|
167
|
+
output_format: FormatArgument,
|
|
168
|
+
*,
|
|
169
|
+
target_task_ids: Optional[Collection[str]] = None,
|
|
170
|
+
task_query: Optional[TaskQuery] = None,
|
|
171
|
+
) -> None:
|
|
172
|
+
annotation_bbox_list = get_annotation_bounding_box_info_list_from_annotation_path(
|
|
173
|
+
annotation_path,
|
|
174
|
+
target_task_ids=target_task_ids,
|
|
175
|
+
task_query=task_query,
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
logger.info(f"{len(annotation_bbox_list)} 件のバウンディングボックスアノテーションの情報を出力します。 :: output='{output_file}'")
|
|
179
|
+
|
|
180
|
+
if output_format == FormatArgument.CSV:
|
|
181
|
+
df = create_df(annotation_bbox_list)
|
|
182
|
+
print_csv(df, output_file)
|
|
183
|
+
|
|
184
|
+
elif output_format in [FormatArgument.PRETTY_JSON, FormatArgument.JSON]:
|
|
185
|
+
json_is_pretty = output_format == FormatArgument.PRETTY_JSON
|
|
186
|
+
# DataClassJsonMixinを使用したtoJSON処理
|
|
187
|
+
print_json(
|
|
188
|
+
[e.to_dict(encode_json=True) for e in annotation_bbox_list],
|
|
189
|
+
is_pretty=json_is_pretty,
|
|
190
|
+
output=output_file,
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
else:
|
|
194
|
+
raise ValueError(f"出力形式 '{output_format}' はサポートされていません。")
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class ListAnnotationBoundingBox2d(CommandLine):
|
|
198
|
+
COMMON_MESSAGE = "annofabcli annotation_zip list_annotation_bounding_box_2d: error:"
|
|
199
|
+
|
|
200
|
+
def validate(self, args: argparse.Namespace) -> bool:
|
|
201
|
+
if args.project_id is None and args.annotation is None:
|
|
202
|
+
print( # noqa: T201
|
|
203
|
+
f"{self.COMMON_MESSAGE} argument --project_id: '--annotation'が未指定のときは、'--project_id' を指定してください。",
|
|
204
|
+
file=sys.stderr,
|
|
205
|
+
)
|
|
206
|
+
return False
|
|
207
|
+
return True
|
|
208
|
+
|
|
209
|
+
def main(self) -> None:
|
|
210
|
+
args = self.args
|
|
211
|
+
|
|
212
|
+
if not self.validate(args):
|
|
213
|
+
sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
|
|
214
|
+
|
|
215
|
+
project_id: Optional[str] = args.project_id
|
|
216
|
+
if project_id is not None:
|
|
217
|
+
super().validate_project(project_id, project_member_roles=[ProjectMemberRole.OWNER, ProjectMemberRole.TRAINING_DATA_USER])
|
|
218
|
+
project, _ = self.service.api.get_project(project_id)
|
|
219
|
+
if project["input_data_type"] != InputDataType.IMAGE.value:
|
|
220
|
+
print(f"project_id='{project_id}'であるプロジェクトは画像プロジェクトでないので、終了します", file=sys.stderr) # noqa: T201
|
|
221
|
+
sys.exit(COMMAND_LINE_ERROR_STATUS_CODE)
|
|
222
|
+
|
|
223
|
+
annotation_path = Path(args.annotation) if args.annotation is not None else None
|
|
224
|
+
|
|
225
|
+
task_id_list = annofabcli.common.cli.get_list_from_args(args.task_id) if args.task_id is not None else None
|
|
226
|
+
task_query = TaskQuery.from_dict(annofabcli.common.cli.get_json_from_args(args.task_query)) if args.task_query is not None else None
|
|
227
|
+
|
|
228
|
+
output_file: Path = args.output
|
|
229
|
+
output_format = FormatArgument(args.format)
|
|
230
|
+
|
|
231
|
+
downloading_obj = DownloadingFile(self.service)
|
|
232
|
+
|
|
233
|
+
def download_and_print_annotation_bbox(project_id: str, temp_dir: Path, *, is_latest: bool) -> None:
|
|
234
|
+
annotation_path = temp_dir / f"{project_id}__annotation.zip"
|
|
235
|
+
downloading_obj.download_annotation_zip(
|
|
236
|
+
project_id,
|
|
237
|
+
dest_path=annotation_path,
|
|
238
|
+
is_latest=is_latest,
|
|
239
|
+
)
|
|
240
|
+
print_annotation_bounding_box(
|
|
241
|
+
annotation_path,
|
|
242
|
+
output_file,
|
|
243
|
+
output_format,
|
|
244
|
+
target_task_ids=task_id_list,
|
|
245
|
+
task_query=task_query,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
if project_id is not None:
|
|
249
|
+
if args.temp_dir is not None:
|
|
250
|
+
download_and_print_annotation_bbox(project_id=project_id, temp_dir=args.temp_dir, is_latest=args.latest)
|
|
251
|
+
else:
|
|
252
|
+
with tempfile.TemporaryDirectory() as str_temp_dir:
|
|
253
|
+
download_and_print_annotation_bbox(
|
|
254
|
+
project_id=project_id,
|
|
255
|
+
temp_dir=Path(str_temp_dir),
|
|
256
|
+
is_latest=args.latest,
|
|
257
|
+
)
|
|
258
|
+
else:
|
|
259
|
+
assert annotation_path is not None
|
|
260
|
+
print_annotation_bounding_box(
|
|
261
|
+
annotation_path,
|
|
262
|
+
output_file,
|
|
263
|
+
output_format,
|
|
264
|
+
target_task_ids=task_id_list,
|
|
265
|
+
task_query=task_query,
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
def parse_args(parser: argparse.ArgumentParser) -> None:
|
|
270
|
+
argument_parser = ArgumentParser(parser)
|
|
271
|
+
|
|
272
|
+
group = parser.add_mutually_exclusive_group(required=True)
|
|
273
|
+
group.add_argument(
|
|
274
|
+
"--annotation",
|
|
275
|
+
type=str,
|
|
276
|
+
help="アノテーションzip、またはzipを展開したディレクトリを指定します。",
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
group.add_argument("-p", "--project_id", type=str, help="project_id。アノテーションZIPをダウンロードします。")
|
|
280
|
+
|
|
281
|
+
argument_parser.add_format(
|
|
282
|
+
choices=[FormatArgument.CSV, FormatArgument.JSON, FormatArgument.PRETTY_JSON],
|
|
283
|
+
default=FormatArgument.CSV,
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
argument_parser.add_output()
|
|
287
|
+
|
|
288
|
+
parser.add_argument(
|
|
289
|
+
"-tq",
|
|
290
|
+
"--task_query",
|
|
291
|
+
type=str,
|
|
292
|
+
help="集計対象タスクを絞り込むためのクエリ条件をJSON形式で指定します。使用できるキーは task_id, status, phase, phase_stage です。"
|
|
293
|
+
" ``file://`` を先頭に付けると、JSON形式のファイルを指定できます。",
|
|
294
|
+
)
|
|
295
|
+
argument_parser.add_task_id(required=False)
|
|
296
|
+
|
|
297
|
+
parser.add_argument(
|
|
298
|
+
"--latest",
|
|
299
|
+
action="store_true",
|
|
300
|
+
help="``--annotation`` を指定しないとき、最新のアノテーションzipを参照します。このオプションを指定すると、アノテーションzipを更新するのに数分待ちます。",
|
|
301
|
+
)
|
|
302
|
+
|
|
303
|
+
parser.add_argument(
|
|
304
|
+
"--temp_dir",
|
|
305
|
+
type=Path,
|
|
306
|
+
help="指定したディレクトリに、アノテーションZIPなどの一時ファイルをダウンロードします。",
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
parser.set_defaults(subcommand_func=main)
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
def main(args: argparse.Namespace) -> None:
|
|
313
|
+
service = build_annofabapi_resource_and_login(args)
|
|
314
|
+
facade = AnnofabApiFacade(service)
|
|
315
|
+
ListAnnotationBoundingBox2d(service, facade, args).main()
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
def add_parser(subparsers: Optional[argparse._SubParsersAction] = None) -> argparse.ArgumentParser:
|
|
319
|
+
subcommand_name = "list_annotation_bounding_box_2d"
|
|
320
|
+
subcommand_help = "アノテーションZIPからバウンディングボックス(矩形)アノテーションの座標情報を出力します。"
|
|
321
|
+
epilog = "アノテーションZIPをダウンロードする場合は、オーナロールまたはアノテーションユーザロールを持つユーザで実行してください。"
|
|
322
|
+
parser = annofabcli.common.cli.add_parser(subparsers, subcommand_name, subcommand_help, description=subcommand_help, epilog=epilog)
|
|
323
|
+
parse_args(parser)
|
|
324
|
+
return parser
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""サブコマンド annotation_zip"""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
import annofabcli
|
|
7
|
+
from annofabcli.annotation_zip.list_annotation_bounding_box_2d import add_parser as add_parser_list_annotation_bounding_box_2d
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def parse_args(parser: argparse.ArgumentParser) -> None:
|
|
11
|
+
"""
|
|
12
|
+
サブコマンドの引数を定義する
|
|
13
|
+
Args:
|
|
14
|
+
parser: パーサー
|
|
15
|
+
"""
|
|
16
|
+
subparsers = parser.add_subparsers(dest="subcommand_name")
|
|
17
|
+
|
|
18
|
+
# サブコマンドの定義
|
|
19
|
+
add_parser_list_annotation_bounding_box_2d(subparsers)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def add_parser(subparsers: Optional[argparse._SubParsersAction] = None) -> argparse.ArgumentParser:
|
|
23
|
+
"""
|
|
24
|
+
annotation_zipサブコマンドを追加する。
|
|
25
|
+
Args:
|
|
26
|
+
subparsers: 親パーサーのサブパーサー
|
|
27
|
+
Returns:
|
|
28
|
+
annotation_zipサブコマンドのパーサー
|
|
29
|
+
"""
|
|
30
|
+
subcommand_name = "annotation_zip"
|
|
31
|
+
subcommand_help = "アノテーションZIPに対する操作を行うサブコマンド"
|
|
32
|
+
|
|
33
|
+
parser = annofabcli.common.cli.add_parser(subparsers, subcommand_name, subcommand_help, is_subcommand=False)
|
|
34
|
+
parse_args(parser)
|
|
35
|
+
return parser
|
|
@@ -206,7 +206,7 @@ class DeleteComment(CommandLine):
|
|
|
206
206
|
def validate(self, args: argparse.Namespace) -> bool:
|
|
207
207
|
if args.parallelism is not None and not args.yes:
|
|
208
208
|
print( # noqa: T201
|
|
209
|
-
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'
|
|
209
|
+
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'を指定するときは、'--yes' を指定してください。",
|
|
210
210
|
file=sys.stderr,
|
|
211
211
|
)
|
|
212
212
|
return False
|
|
@@ -254,7 +254,7 @@ def parse_args(parser: argparse.ArgumentParser) -> None:
|
|
|
254
254
|
"--parallelism",
|
|
255
255
|
type=int,
|
|
256
256
|
choices=PARALLELISM_CHOICES,
|
|
257
|
-
help="
|
|
257
|
+
help="使用するプロセス数(並列度)を指定してください。指定する場合は'--yes' を指定してください。指定しない場合は、逐次的に処理します。",
|
|
258
258
|
)
|
|
259
259
|
|
|
260
260
|
parser.set_defaults(subcommand_func=main)
|
|
@@ -29,7 +29,7 @@ class PutInspectionComment(CommandLine):
|
|
|
29
29
|
def validate(self, args: argparse.Namespace) -> bool:
|
|
30
30
|
if args.parallelism is not None and not args.yes:
|
|
31
31
|
print( # noqa: T201
|
|
32
|
-
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'
|
|
32
|
+
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'を指定するときは、'--yes' を指定してください。",
|
|
33
33
|
file=sys.stderr,
|
|
34
34
|
)
|
|
35
35
|
return False
|
{annofabcli-1.106.8 → annofabcli-1.107.0}/annofabcli/comment/put_inspection_comment_simply.py
RENAMED
|
@@ -29,7 +29,7 @@ class PutInspectionCommentSimply(CommandLine):
|
|
|
29
29
|
def validate(self, args: argparse.Namespace) -> bool:
|
|
30
30
|
if args.parallelism is not None and not args.yes:
|
|
31
31
|
print( # noqa: T201
|
|
32
|
-
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'
|
|
32
|
+
f"{self.COMMON_MESSAGE} argument --parallelism: '--parallelism'を指定するときは、'--yes' を指定してください。",
|
|
33
33
|
file=sys.stderr,
|
|
34
34
|
)
|
|
35
35
|
return False
|