annofabcli 1.111.0__tar.gz → 1.111.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {annofabcli-1.111.0 → annofabcli-1.111.2}/PKG-INFO +1 -1
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/import_annotation.py +9 -7
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/annotation_duration.py +4 -4
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/whole_productivity_per_date.py +10 -1
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/model.py +8 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/project_dir.py +1 -1
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/visualization_source_files.py +49 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualize_statistics.py +96 -40
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/put.rst +0 -1
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize.rst +18 -3
- annofabcli-1.111.2/tests/statistics/test_visualization_source_files.py +55 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/test_model.py +26 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.clinerules/overview.md +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.devcontainer/.extensions/.gitignore +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.devcontainer/Dockerfile +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.devcontainer/devcontainer.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/copilot-instructions.md +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/dependabot.yml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/workflows/codeql-analysis.yml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/workflows/lint-test.yml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/workflows/publish-to-pypi.yml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.github/workflows/release.yml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.gitignore +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.readthedocs.yaml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.vscode/cspell.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/.vscode/settings.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/LICENSE +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/Makefile +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/README.md +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/README_for_developer.md +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/__main__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/annotation_query.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/change_annotation_attributes.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/change_annotation_attributes_per_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/change_annotation_properties.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/copy_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/create_classification_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/delete_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/download_annotation_zip.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/dump_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/list_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/list_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/merge_segmentation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/remove_segmentation_overlap.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/restore_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation/subcommand_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/add_attribute_restriction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/attribute_restriction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/export_annotation_specs.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/get_annotation_specs_with_attribute_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/get_annotation_specs_with_label_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_annotation_specs_attribute.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_annotation_specs_choice.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_annotation_specs_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_annotation_specs_label.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_annotation_specs_label_attribute.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_attribute_restriction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/list_label_color.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/put_label_color.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_specs/subcommand_annotation_specs.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/list_annotation_bounding_box_2d.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/list_range_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/list_single_point_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/subcommand_annotation_zip.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/annotation_zip/validate_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/delete_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/download_comment_json.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/list_all_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/list_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_comment_simply.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_inspection_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_inspection_comment_simply.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_onhold_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/put_onhold_comment_simply.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/subcommand_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/comment/utils.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/annofab/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/annofab/annotation_specs.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/annofab/annotation_zip.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/annofab/project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/bokeh.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/cli.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/dataclasses.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/download.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/enums.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/exceptions.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/facade.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/image.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/pandas.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/type_util.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/typing.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/utils.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/common/visualize.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/data/logging.yaml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/experimental/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/experimental/list_out_of_range_annotation_for_movie.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/experimental/subcommand_experimental.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/draw_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/filter_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/mask_user_info.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/merge_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/filesystem/subcommand_filesystem.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/copy_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/delete_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/delete_metadata_key_of_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/download_input_data_json.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/list_all_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/list_all_input_data_merged_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/list_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/put_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/put_input_data_with_zip.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/subcommand_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/update_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/update_metadata_of_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/input_data/utils.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/copy_instruction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/download_instruction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/list_instruction_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/subcommand_instruction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/instruction/upload_instruction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/delete_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/list_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/list_last_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/subcommand_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/job/wait_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/my_account/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/my_account/get_my_account.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/my_account/subcommand_my_account.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization/list_organization.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization/subcommand_organization.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/change_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/delete_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/invite_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/list_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/organization_member/subcommand_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/change_organization_of_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/change_project_status.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/copy_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/create_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/diff_projects.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/list_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/put_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/subcommand_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/update_configuration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project/update_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/change_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/copy_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/drop_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/invite_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/list_users.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/put_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/project_member/subcommand_project_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/py.typed +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/mask_visualization_dir.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/merge_visualization_dir.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/subcommand_stat_visualization.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/summarize_whole_performance_csv.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/write_graph.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/stat_visualization/write_performance_rating_csv.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/histogram.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/linegraph.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_annotation_area.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_annotation_attribute.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_annotation_attribute_filled_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_annotation_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_video_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/list_worktime.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/scatter.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/subcommand_statistics.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/summarize_task_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/summarize_task_count_by_task_id_group.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/summarize_task_count_by_user.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/actual_worktime.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/cumulative_productivity.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/custom_production_volume.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/input_data_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/inspection_comment_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/productivity_per_date.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/project_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/task_worktime_by_phase_user.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/user.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/user_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/whole_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/dataframe/worktime_per_date.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/filtering_query.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualize_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualize_annotation_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualize_video_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/supplementary/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/supplementary/delete_supplementary_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/supplementary/list_supplementary_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/supplementary/put_supplementary_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/supplementary/subcommand_supplementary.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/cancel_acceptance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/change_operator.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/change_status_to_break.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/change_status_to_on_hold.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/complete_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/copy_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/delete_metadata_key_of_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/delete_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/download_task_json.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/list_all_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/list_all_tasks_added_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/list_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/list_tasks_added_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/put_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/put_tasks_by_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/reject_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/subcommand_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task/update_metadata_of_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history/download_task_history_json.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history/list_all_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history/list_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history/subcommand_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history_event/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history_event/download_task_history_event_json.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history_event/list_all_task_history_event.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history_event/list_worktime.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/task_history_event/subcommand_task_history_event.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/Makefile +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/_static/css/custom.css +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/change_attributes.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/change_attributes_per_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/change_properties.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/create_classification.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/dump/task_history.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/dump.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/import.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/list_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/merge_segmentation/after.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/merge_segmentation/before.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/merge_segmentation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/remove_segmentation_overlap/after.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/remove_segmentation_overlap/before.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/remove_segmentation_overlap.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation/restore.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/add_attribute_restriction.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/export.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/get_with_attribute_id_replaced_label_name.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/get_with_choice_id_replaced_label_name.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/get_with_label_id_replaced_label_name.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_attribute.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_attribute_restriction.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_choice.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_history.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_label.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_label_attribute.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/list_label_color.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_specs/put_label_color.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_zip/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_zip/list_bounding_box_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_zip/list_range_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/annotation_zip/list_single_point_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/list_all.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/put_inspection.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/put_inspection_simply.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/put_onhold.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/comment/put_onhold_simply.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/experimental/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/draw_annotation/output_image.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/draw_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/filter_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/mask_user_info.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/merge_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/filesystem/write_annotation_image/output_image.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/delete_metadata_key.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/list_all.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/list_all_merged_task/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/list_all_merged_task.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/put_with_zip.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/update.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/input_data/update_metadata.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/list_history.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/upload/site.css +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/instruction/upload.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/list_last/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/list_last.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/list_task_creation_history/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/job/wait.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/my_account/get.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/my_account/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/change.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/invite.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/organization_member/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/change_organization.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/change_status.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/create.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/diff.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/list/out_minimal.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/put.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/update.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project/update_configuration.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/change.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/invite.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/project_member/put.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/mask_user_info.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/merge.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/summarize_whole_performance_csv.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/write_graph.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_deviation.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/write_performance_rating_csv/out/annotation_productivity_rank.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/stat_visualization/write_performance_rating_csv.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_area.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_attribute/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_attribute.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_input_data.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_attribute_filled_count/out_by_task.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_attribute_filled_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_attribute.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_count/out_by_input_data_label.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_count/out_by_task_attribute.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_count/out_by_task_label.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_duration/out_by_attribute.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_duration/out_by_label.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_annotation_duration.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_video_duration/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_video_duration.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/list_worktime.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/summarize_task_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/summarize_task_count_by_task_id_group.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/summarize_task_count_by_user.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize/out_dir/task-worktime-by-user-phase.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize/out_dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_count/img/attributes_count.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_count/img/labels_count.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_count/output/attributes_count.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_count/output/labels_count.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_attribute.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_arrange_bin_edge.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_bin_width.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/img/annotation_duration_by_label__with_minute.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_attribute.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration/output/annotation_duration_by_label.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_annotation_duration.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_output_rst/task-worktime-list-by-user-phase_csv.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_output_rst//343/202/277/343/202/271/343/202/257list_csv.rst" +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_video_duration/img/out.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_video_duration/img/out2.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_video_duration/img/out3.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_video_duration/output/out.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/statistics/visualize_video_duration.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/supplementary/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/supplementary/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/supplementary/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/supplementary/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/supplementary/put.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/cancel_acceptance.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/change_operator.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/change_status_to_break.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/change_status_to_on_hold.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/complete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/copy.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/delete.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/delete_metadata_key.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/list_added_task_history.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/list_all.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/list_all_added_task_history.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/put.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/put_by_count.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/reject.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task/update_metadata.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history/list/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history/list.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history/list_all.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/download.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/list_all/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/list_all.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/list_worktime/out.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/command_reference/task_history_event/list_worktime.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/conf.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/examples/edit_annotation.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/examples/http_private_storage.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/examples/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/faq.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/requirements.txt +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/3dpc-editor.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/cli_usage_output.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/command_line_options.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/configurations.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/index.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/docs/user_guide/user_guide.rst +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/examples/async_wait_jobs.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/examples/validation_functions.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/pyproject.toml +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/pytest.ini +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/scripts/mask_user_info_for_all_visualization_dir.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/scripts/mask_user_info_for_rating_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_annotation_query.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_copy_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_create_classification_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_import_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_merge_segmentation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation/test_remove_segmentation_overlap.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_specs/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_specs/get_annotation_specs_with_choice_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_specs/test_attribute_restriction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_specs/test_get_annotation_specs_with_attribute_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_specs/test_get_annotation_specs_with_label_id_replaced.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_zip/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_zip/test_list_annotation_bounding_box_2d.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_zip/test_list_range_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/annotation_zip/test_list_single_point_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/test_bokeh.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/test_cli.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/test_download.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/test_image.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/common/test_utils.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590/01FHSFFPHF2E5WJX8HHF0J1WCT +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation/3dpc-simple-annotation/test4_0/1533151603547590.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation/import_annotation/annotation_specs.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation/import_annotation/image_annotation.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation/imported-annotation.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_specs/annotation_specs.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_zip/image_annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_zip/image_annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839/762f113a-5e17-4b49-861e-dfbea1dda09d +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_zip/image_annotation/sample_1/c6e1c2ec-6c7c-41c6-9639-4244c2ed2839.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_zip/simple-annotations.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/annotation_zip/video_annotation/sample_task_00/sample_video_00.mp4.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/arg.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/arg_id_list.txt +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/input_data_id.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/label_color.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-A/task1/input1.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-A/task1/input2.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-A/task2/input2/1e2931d2-de34-4956-ab75-81f710dc0108 +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-A/task2/input2.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-A.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-B/task1/input1.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-B/task1/input3.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/merge/annotation-B/task3/input2.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/simple-annotation.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/user1.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/user2.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/filesystem/user2_1.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/input_data.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/input_data2.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/input_data_duplicated.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/input_data_duplicated_name.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/input_data_duplicated_path.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data/lenna.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/input_data2.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/instruction/instruction.html +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/instruction/lenna.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/label_color.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/lenna.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/project/update/test_projects.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/project_member/project_members.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/simple-annotation.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/simple-annotation.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/small-lenna.png +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/mask_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/mask_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/merge_visualization_dir/visualization1/project_info.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/merge_visualization_dir/visualization1/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/merge_visualization_dir/visualization1//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/summarize_whole_performance_csv/visualization1/project_info.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/visualization-dir/project_info.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/visualization-dir/task-worktime-list-by-user-phase.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/visualization-dir//343/202/277/343/202/271/343/202/257list.csv" +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/stat_visualization/write_performance_rating_csv/visualization1/project_info.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/statistics/annotation-count-ratio-df.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/input_data.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/inspection-comment.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/labor-df.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/1b3f0069-9d88-4781-8406-023180822407 +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/2d9884e3-6926-47dc-97d4-d9f55d113625 +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900/7604d4ea-4288-4f31-bed9-d5624571e52f +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/list_annotation_area/annotation/test_17/6026efe3-7eea-47c2-9dc6-83f452b22900.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/productivity-per-date.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/productivity-per-date2.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/productivity-per-user.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/productivity-per-user2.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/simple-annotations.zip +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task-history-df-empty.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task-history-df.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task-history.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task-worktime-by-user-phase.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/task.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/user.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/statistics/visualization-dir1/project_info.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/statistics/worktime-per-date.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/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.111.0 → annofabcli-1.111.2}/tests/data/supplementary/deleted-supplementary.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/supplementary/supplementary.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/task/put_task.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/task-history.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/task.json +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/utils/example-utf8.txt +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/utils/example-utf8bom.txt +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/data/utils/multiheader.csv +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/filesystem/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/filesystem/test_mask_user_info.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/input_data/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/input_data/test_put_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/project_member/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/project_member/test_change_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/project_member/test_put_project_members.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/stat_visualization/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/stat_visualization/test_mask_visualization_dir.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_list_annotation_area.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_list_annotation_attribute_filled_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_list_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_list_annotation_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_list_worktime.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_summarize_task_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_summarize_task_count_by_task_id_group.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_table.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_visualize_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_visualize_annotation_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/test_visualize_video_duration.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_annotation_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_cumulative_productivity.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_inspection_comment_count.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_productivity_per_date.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_project_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_task_worktime_by_phase_user.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_user_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_whole_performance.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_whole_productivity_per_date.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/dataframe/test_worktime_per_date.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/statistics/visualization/test_write_performance_rating_csv.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/supplementary/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/supplementary/test_put_supplementary_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/task/__init__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/task/test_complete_tasks.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/task/test_list_tasks_added_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test____main__.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_annotation.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_annotation_specs.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_comment.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_filesystem.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_input_data.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_instruction.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_job.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_my_account.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_organization.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_organization_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_project.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_project_member.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_project_update.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_stat_visualization.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_statistics.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_supplementary.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_task.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_task_history.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/test_task_history_event.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/tests/utils_for_test.py +0 -0
- {annofabcli-1.111.0 → annofabcli-1.111.2}/uv.lock +0 -0
|
@@ -254,8 +254,8 @@ class AnnotationConverter:
|
|
|
254
254
|
for attribute_name, attribute_value in attributes.items():
|
|
255
255
|
try:
|
|
256
256
|
specs_additional_data = self.annotation_specs_accessor.get_attribute(attribute_name=attribute_name, label=label)
|
|
257
|
-
except ValueError:
|
|
258
|
-
logger.warning(f"アノテーション仕様に属性名(英語)が'{attribute_name}'である属性情報が存在しないか、複数存在します。 :: {log_message_suffix}")
|
|
257
|
+
except ValueError as e:
|
|
258
|
+
logger.warning(f"アノテーション仕様に属性名(英語)が'{attribute_name}'である属性情報が存在しないか、複数存在します。 :: {log_message_suffix} :: error={e}")
|
|
259
259
|
if self.is_strict:
|
|
260
260
|
raise
|
|
261
261
|
continue
|
|
@@ -298,12 +298,11 @@ class AnnotationConverter:
|
|
|
298
298
|
ValueError: 存在しないラベル名が指定された場合(`self.is_strict`がFalseでもraiseされる9
|
|
299
299
|
|
|
300
300
|
"""
|
|
301
|
-
log_message_suffix = f"task_id='{parser.task_id}', input_data_id='{parser.input_data_id}', label_name='{detail.label}', annotation_id='{detail.annotation_id}'"
|
|
302
301
|
|
|
303
302
|
try:
|
|
304
303
|
label_info = self.annotation_specs_accessor.get_label(label_name=detail.label)
|
|
305
|
-
except ValueError:
|
|
306
|
-
logger.warning(f"アノテーション仕様にラベル名(英語)が'{detail.label}'であるラベル情報が存在しないか、または複数存在します。 :: {log_message_suffix}")
|
|
304
|
+
except ValueError as e:
|
|
305
|
+
logger.warning(f"アノテーション仕様にラベル名(英語)が'{detail.label}'であるラベル情報が存在しないか、または複数存在します。 :: {log_message_suffix} :: error={e}")
|
|
307
306
|
raise
|
|
308
307
|
|
|
309
308
|
if detail.attributes is not None:
|
|
@@ -361,9 +360,12 @@ class AnnotationConverter:
|
|
|
361
360
|
old_dict_detail[old_detail["annotation_id"]] = old_detail
|
|
362
361
|
|
|
363
362
|
new_request_details: list[dict[str, Any]] = []
|
|
364
|
-
for detail in details:
|
|
363
|
+
for detail_index, detail in enumerate(details):
|
|
365
364
|
try:
|
|
366
|
-
|
|
365
|
+
# detail_indexを出力する理由: annotation_idはNoneだとどれが問題なのか分からないため
|
|
366
|
+
log_message_suffix = (
|
|
367
|
+
f"task_id='{parser.task_id}', input_data_id='{parser.input_data_id}', label_name='{detail.label}', annotation_id='{detail.annotation_id}', detail_index={detail_index}"
|
|
368
|
+
)
|
|
367
369
|
|
|
368
370
|
request_detail = self.convert_annotation_detail(parser, detail, log_message_suffix=log_message_suffix)
|
|
369
371
|
except Exception as e:
|
|
@@ -23,7 +23,7 @@ class AnnotationDuration:
|
|
|
23
23
|
return [
|
|
24
24
|
"project_id",
|
|
25
25
|
"task_id",
|
|
26
|
-
"
|
|
26
|
+
"annotation_duration_minute",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
@classmethod
|
|
@@ -62,7 +62,7 @@ class AnnotationDuration:
|
|
|
62
62
|
"""
|
|
63
63
|
logger.debug(f"アノテーションZIPファイルから区間アノテーションの長さを計算します。 :: project_id='{project_id}', file='{annotation_zip!s}'")
|
|
64
64
|
|
|
65
|
-
result: dict[tuple[str, str], float] = defaultdict(float) # key:(project_id, task_id), value
|
|
65
|
+
result: dict[tuple[str, str], float] = defaultdict(float) # key:(project_id, task_id), value:合計アノテーション時間(分)
|
|
66
66
|
|
|
67
67
|
for index, parser in enumerate(lazy_parse_simple_annotation_zip(annotation_zip)):
|
|
68
68
|
simple_annotation = parser.load_json()
|
|
@@ -83,7 +83,7 @@ class AnnotationDuration:
|
|
|
83
83
|
# 区間アノテーションの場合
|
|
84
84
|
begin = data["begin"]
|
|
85
85
|
end = data["end"]
|
|
86
|
-
total_duration += (end - begin) / 1000.0 #
|
|
86
|
+
total_duration += (end - begin) / 1000.0 / 60.0 # ミリ秒から分に変換
|
|
87
87
|
|
|
88
88
|
result[(project_id, parser.task_id)] += total_duration
|
|
89
89
|
|
|
@@ -114,7 +114,7 @@ class AnnotationDuration:
|
|
|
114
114
|
df_dtype: dict[str, str] = {
|
|
115
115
|
"project_id": "string",
|
|
116
116
|
"task_id": "string",
|
|
117
|
-
"
|
|
117
|
+
"annotation_duration_minute": "float64",
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
df = pandas.DataFrame(columns=cls.columns()).astype(df_dtype)
|
|
@@ -141,7 +141,7 @@ class WholeProductivityPerCompletedDate:
|
|
|
141
141
|
return pandas.DataFrame(index=[e.strftime("%Y-%m-%d") for e in pandas.date_range(start_date, end_date)])
|
|
142
142
|
|
|
143
143
|
@classmethod
|
|
144
|
-
def from_df_wrapper(cls, task: Task, worktime_per_date: WorktimePerDate, task_completion_criteria: TaskCompletionCriteria) -> WholeProductivityPerCompletedDate:
|
|
144
|
+
def from_df_wrapper(cls, task: Task, worktime_per_date: WorktimePerDate, task_completion_criteria: TaskCompletionCriteria) -> WholeProductivityPerCompletedDate: # noqa: PLR0912
|
|
145
145
|
"""
|
|
146
146
|
完了日毎の全体の生産量、生産性を算出する。
|
|
147
147
|
|
|
@@ -172,6 +172,8 @@ class WholeProductivityPerCompletedDate:
|
|
|
172
172
|
datetime_column = "first_acceptance_reached_datetime"
|
|
173
173
|
elif task_completion_criteria == TaskCompletionCriteria.INSPECTION_REACHED:
|
|
174
174
|
datetime_column = "first_inspection_reached_datetime"
|
|
175
|
+
elif task_completion_criteria == TaskCompletionCriteria.ANNOTATION_STARTED:
|
|
176
|
+
datetime_column = "first_annotation_started_datetime"
|
|
175
177
|
else:
|
|
176
178
|
assert_noreturn(task_completion_criteria)
|
|
177
179
|
|
|
@@ -280,6 +282,8 @@ class WholeProductivityPerCompletedDate:
|
|
|
280
282
|
str_task = "受入フェーズに到達した"
|
|
281
283
|
elif self.task_completion_criteria == TaskCompletionCriteria.INSPECTION_REACHED:
|
|
282
284
|
str_task = "検査フェーズに到達した"
|
|
285
|
+
elif self.task_completion_criteria == TaskCompletionCriteria.ANNOTATION_STARTED:
|
|
286
|
+
str_task = "教師付フェーズが着手された"
|
|
283
287
|
else:
|
|
284
288
|
assert_noreturn(self.task_completion_criteria)
|
|
285
289
|
|
|
@@ -884,6 +888,9 @@ class WholeProductivityPerFirstAnnotationStartedDate:
|
|
|
884
888
|
df_sub_task = df_task[df_task["phase"] == TaskPhase.ACCEPTANCE.value]
|
|
885
889
|
elif task_completion_criteria == TaskCompletionCriteria.INSPECTION_REACHED:
|
|
886
890
|
df_sub_task = df_task[df_task["phase"].isin([TaskPhase.INSPECTION.value, TaskPhase.ACCEPTANCE.value])]
|
|
891
|
+
elif task_completion_criteria == TaskCompletionCriteria.ANNOTATION_STARTED:
|
|
892
|
+
# 教師付フェーズが着手されたタスク(first_annotation_started_datetimeがNoneでない)を抽出する
|
|
893
|
+
df_sub_task = df_task[df_task["first_annotation_started_datetime"].notna()]
|
|
887
894
|
else:
|
|
888
895
|
assert_noreturn(task_completion_criteria)
|
|
889
896
|
|
|
@@ -1013,6 +1020,8 @@ class WholeProductivityPerFirstAnnotationStartedDate:
|
|
|
1013
1020
|
str_task = "受入フェーズ"
|
|
1014
1021
|
elif self.task_completion_criteria == TaskCompletionCriteria.INSPECTION_REACHED:
|
|
1015
1022
|
str_task = "検査フェーズまたは受入フェーズ"
|
|
1023
|
+
elif self.task_completion_criteria == TaskCompletionCriteria.ANNOTATION_STARTED:
|
|
1024
|
+
str_task = "教師付フェーズが着手されたタスク"
|
|
1016
1025
|
else:
|
|
1017
1026
|
assert_noreturn(self.task_completion_criteria)
|
|
1018
1027
|
|
|
@@ -40,6 +40,8 @@ class TaskCompletionCriteria(Enum):
|
|
|
40
40
|
"""タスクが受入フェーズに到達したら「タスクの完了」とみなす"""
|
|
41
41
|
INSPECTION_REACHED = "inspection_reached"
|
|
42
42
|
"""タスクが検査フェーズに到達したら「タスクの完了」とみなす"""
|
|
43
|
+
ANNOTATION_STARTED = "annotation_started"
|
|
44
|
+
"""教師付フェーズが着手されたら「タスクの完了」とみなす"""
|
|
43
45
|
|
|
44
46
|
def is_task_completed(self, task: dict[str, Any]) -> bool:
|
|
45
47
|
"""指定したタスクが、タスクの完了条件に合致するかどうかを判定します。
|
|
@@ -48,6 +50,7 @@ class TaskCompletionCriteria(Enum):
|
|
|
48
50
|
task: タスク情報。以下のキーを参照します。
|
|
49
51
|
* phase
|
|
50
52
|
* status
|
|
53
|
+
* work_time_span (ANNOTATION_STARTEDの場合のみ)
|
|
51
54
|
|
|
52
55
|
Returns:
|
|
53
56
|
タスクの完了条件に合致する場合はTrue、そうでない場合はFalse
|
|
@@ -62,5 +65,10 @@ class TaskCompletionCriteria(Enum):
|
|
|
62
65
|
# 受入フェーズも含む理由:検査フェーズに到達したタスクを「完了」とみなすならば、検査フェーズより後段フェーズである受入フェーズも「完了」とみなせるため
|
|
63
66
|
return task["phase"] in {TaskPhase.INSPECTION.value, TaskPhase.ACCEPTANCE.value}
|
|
64
67
|
|
|
68
|
+
elif self == TaskCompletionCriteria.ANNOTATION_STARTED:
|
|
69
|
+
# 教師付フェーズが着手されたタスクを「完了」とみなす
|
|
70
|
+
# work_time_span > 0 であれば教師付フェーズが着手されたとみなす
|
|
71
|
+
return task["work_time_span"] > 0
|
|
72
|
+
|
|
65
73
|
else:
|
|
66
74
|
assert_noreturn(self)
|
{annofabcli-1.111.0 → annofabcli-1.111.2}/annofabcli/statistics/visualization/project_dir.py
RENAMED
|
@@ -42,7 +42,7 @@ class ProjectDir(DataClassJsonMixin):
|
|
|
42
42
|
- acceptance_completed: 受入フェーズの完了状態
|
|
43
43
|
- acceptance_reached: 受入フェーズに到達
|
|
44
44
|
- inspection_reached: 検査フェーズまたは受入フェーズに到達
|
|
45
|
-
- annotation_started:
|
|
45
|
+
- annotation_started: 教師付フェーズが着手された
|
|
46
46
|
"""
|
|
47
47
|
|
|
48
48
|
FILENAME_WHOLE_PERFORMANCE = "全体の生産性と品質.csv"
|
|
@@ -39,6 +39,7 @@ class VisualizationSourceFiles:
|
|
|
39
39
|
self.task_history_json_path = target_dir / f"{self.project_id}__task-history.json"
|
|
40
40
|
self.task_history_event_json_path = target_dir / f"{self.project_id}__task-history-event.json"
|
|
41
41
|
self.annotation_zip_path = target_dir / f"{self.project_id}__annotation.zip"
|
|
42
|
+
self.input_data_json_path = target_dir / f"{self.project_id}__input_data.json"
|
|
42
43
|
|
|
43
44
|
self.logging_prefix = f"project_id='{project_id}'"
|
|
44
45
|
|
|
@@ -99,6 +100,52 @@ class VisualizationSourceFiles:
|
|
|
99
100
|
logger.debug(f"{self.logging_prefix}: '{self.comment_json_path}'を読み込みました。{len(comment_list)}件のコメントが含まれています。")
|
|
100
101
|
return comment_list
|
|
101
102
|
|
|
103
|
+
def read_input_data_json(self) -> list[dict[str, Any]]:
|
|
104
|
+
"""
|
|
105
|
+
入力データ全件ファイルを読み込みます。
|
|
106
|
+
|
|
107
|
+
Returns:
|
|
108
|
+
全入力データの一覧
|
|
109
|
+
"""
|
|
110
|
+
with self.input_data_json_path.open(encoding="utf-8") as f:
|
|
111
|
+
input_data_list = json.load(f)
|
|
112
|
+
|
|
113
|
+
logger.debug(f"{self.logging_prefix}: '{self.input_data_json_path}'を読み込みました。{len(input_data_list)}件の入力データが含まれています。")
|
|
114
|
+
return input_data_list
|
|
115
|
+
|
|
116
|
+
def get_video_duration_minutes_by_task_id(self) -> dict[str, float]:
|
|
117
|
+
"""
|
|
118
|
+
動画プロジェクトの場合、タスクIDごとの動画の長さ(分単位)を取得します。
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
key: task_id, value: 動画の長さ(分)
|
|
122
|
+
"""
|
|
123
|
+
tasks = self.read_tasks_json()
|
|
124
|
+
input_data_list = self.read_input_data_json()
|
|
125
|
+
|
|
126
|
+
# 入力データIDをキーとした辞書を作成
|
|
127
|
+
dict_input_data_by_id = {input_data["input_data_id"]: input_data for input_data in input_data_list}
|
|
128
|
+
|
|
129
|
+
result = {}
|
|
130
|
+
for task in tasks:
|
|
131
|
+
task_id = task["task_id"]
|
|
132
|
+
input_data_id_list = task["input_data_id_list"]
|
|
133
|
+
assert len(input_data_id_list) == 1, f"task_id='{task_id}'には複数の入力データが含まれています。"
|
|
134
|
+
input_data_id = input_data_id_list[0]
|
|
135
|
+
input_data = dict_input_data_by_id.get(input_data_id)
|
|
136
|
+
|
|
137
|
+
if input_data is None:
|
|
138
|
+
logger.warning(f"task_id='{task_id}' :: タスクに含まれている入力データ(input_data_id='{input_data_id}')は、見つかりません。")
|
|
139
|
+
result[task_id] = 0.0
|
|
140
|
+
continue
|
|
141
|
+
|
|
142
|
+
video_duration_second = input_data["system_metadata"]["input_duration"]
|
|
143
|
+
|
|
144
|
+
# 秒から分に変換
|
|
145
|
+
result[task_id] = video_duration_second / 60.0
|
|
146
|
+
|
|
147
|
+
return result
|
|
148
|
+
|
|
102
149
|
def write_files(self, *, is_latest: bool = False, should_get_task_histories_one_of_each: bool = False, should_download_annotation_zip: bool = True) -> None:
|
|
103
150
|
"""
|
|
104
151
|
可視化に必要なファイルを作成します。
|
|
@@ -117,6 +164,8 @@ class VisualizationSourceFiles:
|
|
|
117
164
|
|
|
118
165
|
downloading_obj.download_task_json(self.project_id, dest_path=self.task_json_path, is_latest=is_latest, wait_options=wait_options)
|
|
119
166
|
|
|
167
|
+
downloading_obj.download_input_data_json(self.project_id, dest_path=self.input_data_json_path, is_latest=is_latest, wait_options=wait_options)
|
|
168
|
+
|
|
120
169
|
if should_download_annotation_zip:
|
|
121
170
|
downloading_obj.download_annotation_zip(
|
|
122
171
|
self.project_id,
|
|
@@ -12,7 +12,7 @@ from typing import Any, Callable, Optional
|
|
|
12
12
|
|
|
13
13
|
import annofabapi
|
|
14
14
|
import pandas
|
|
15
|
-
from annofabapi.models import
|
|
15
|
+
from annofabapi.models import ProjectMemberRole, TaskPhase
|
|
16
16
|
|
|
17
17
|
import annofabcli
|
|
18
18
|
from annofabcli.common.cli import (
|
|
@@ -82,6 +82,7 @@ class WriteCsvGraph:
|
|
|
82
82
|
production_volume_include_labels: Optional[list[str]] = None,
|
|
83
83
|
production_volume_exclude_labels: Optional[list[str]] = None,
|
|
84
84
|
include_annotation_duration_seconds: bool = False,
|
|
85
|
+
include_video_duration_minutes: bool = False,
|
|
85
86
|
) -> None:
|
|
86
87
|
self.service = service
|
|
87
88
|
self.project_id = project_id
|
|
@@ -98,6 +99,7 @@ class WriteCsvGraph:
|
|
|
98
99
|
self.production_volume_include_labels = production_volume_include_labels
|
|
99
100
|
self.production_volume_exclude_labels = production_volume_exclude_labels
|
|
100
101
|
self.include_annotation_duration_seconds = include_annotation_duration_seconds
|
|
102
|
+
self.include_video_duration_minutes = include_video_duration_minutes
|
|
101
103
|
|
|
102
104
|
self.task: Optional[Task] = None
|
|
103
105
|
self.worktime_per_date: Optional[WorktimePerDate] = None
|
|
@@ -119,14 +121,18 @@ class WriteCsvGraph:
|
|
|
119
121
|
|
|
120
122
|
def _get_task(self) -> Task:
|
|
121
123
|
if self.task is None:
|
|
124
|
+
custom_production_volume = self._prepare_custom_production_volume()
|
|
125
|
+
|
|
122
126
|
if self.annotation_count is None:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
if self.visualize_source_files.annotation_zip_path.exists():
|
|
128
|
+
annotation_count = AnnotationCount.from_annotation_zip(
|
|
129
|
+
self.visualize_source_files.annotation_zip_path,
|
|
130
|
+
project_id=self.project_id,
|
|
131
|
+
include_labels=self.production_volume_include_labels,
|
|
132
|
+
exclude_labels=self.production_volume_exclude_labels,
|
|
133
|
+
)
|
|
134
|
+
else:
|
|
135
|
+
annotation_count = AnnotationCount.empty()
|
|
130
136
|
else:
|
|
131
137
|
annotation_count = self.annotation_count
|
|
132
138
|
|
|
@@ -137,36 +143,6 @@ class WriteCsvGraph:
|
|
|
137
143
|
new_tasks = filter_tasks(tasks, self.task_completion_criteria, self.filtering_query, task_histories=task_histories)
|
|
138
144
|
logger.debug(f"project_id='{self.project_id}' :: 集計対象タスクは {len(new_tasks)} / {len(tasks)} 件です。")
|
|
139
145
|
|
|
140
|
-
# annotation_duration_secondsを生産量に含める場合、アノテーション時間を計算
|
|
141
|
-
custom_production_volume = self.custom_production_volume
|
|
142
|
-
if self.include_annotation_duration_seconds:
|
|
143
|
-
logger.debug(f"project_id='{self.project_id}' :: 区間アノテーションの長さ('annotation_duration_second')を計算します。")
|
|
144
|
-
annotation_duration_obj = AnnotationDuration.from_annotation_zip(
|
|
145
|
-
self.visualize_source_files.annotation_zip_path,
|
|
146
|
-
project_id=self.project_id,
|
|
147
|
-
include_labels=self.production_volume_include_labels,
|
|
148
|
-
exclude_labels=self.production_volume_exclude_labels,
|
|
149
|
-
)
|
|
150
|
-
|
|
151
|
-
if custom_production_volume is not None:
|
|
152
|
-
# 既存のCustomProductionVolumeのデータと結合
|
|
153
|
-
if not custom_production_volume.is_empty():
|
|
154
|
-
annotation_duration_df = pandas.merge(custom_production_volume.df, annotation_duration_obj.df, on=["project_id", "task_id"], how="outer")
|
|
155
|
-
else:
|
|
156
|
-
annotation_duration_df = annotation_duration_obj.df
|
|
157
|
-
|
|
158
|
-
# annotation_duration_secondを含む新しいProductionVolumeColumnリストを作成
|
|
159
|
-
annotation_duration_column = ProductionVolumeColumn(value="annotation_duration_second", name="区間アノテーションの長さ(秒)")
|
|
160
|
-
new_production_volume_list = list(custom_production_volume.custom_production_volume_list)
|
|
161
|
-
if annotation_duration_column not in new_production_volume_list:
|
|
162
|
-
new_production_volume_list.append(annotation_duration_column)
|
|
163
|
-
|
|
164
|
-
custom_production_volume = CustomProductionVolume(annotation_duration_df, custom_production_volume_list=new_production_volume_list)
|
|
165
|
-
else:
|
|
166
|
-
# CustomProductionVolumeが存在しない場合、新規作成
|
|
167
|
-
annotation_duration_column = ProductionVolumeColumn(value="annotation_duration_second", name="区間アノテーションの長さ(秒)")
|
|
168
|
-
custom_production_volume = CustomProductionVolume(annotation_duration_obj.df, custom_production_volume_list=[annotation_duration_column])
|
|
169
|
-
|
|
170
146
|
self.task = Task.from_api_content(
|
|
171
147
|
tasks=new_tasks,
|
|
172
148
|
task_histories=task_histories,
|
|
@@ -180,6 +156,80 @@ class WriteCsvGraph:
|
|
|
180
156
|
|
|
181
157
|
return self.task
|
|
182
158
|
|
|
159
|
+
def _prepare_custom_production_volume(self) -> Optional[CustomProductionVolume]:
|
|
160
|
+
"""カスタム生産量の準備を行う"""
|
|
161
|
+
custom_production_volume = self.custom_production_volume
|
|
162
|
+
|
|
163
|
+
# annotation_duration_secondsを生産量に含める場合、アノテーション時間を計算
|
|
164
|
+
if self.include_annotation_duration_seconds:
|
|
165
|
+
custom_production_volume = self._add_annotation_duration(custom_production_volume)
|
|
166
|
+
|
|
167
|
+
# 動画プロジェクトの場合、動画の長さ(分)を生産量に含める
|
|
168
|
+
if self.include_video_duration_minutes:
|
|
169
|
+
custom_production_volume = self._add_video_duration(custom_production_volume)
|
|
170
|
+
|
|
171
|
+
return custom_production_volume
|
|
172
|
+
|
|
173
|
+
def _add_annotation_duration(self, custom_production_volume: Optional[CustomProductionVolume]) -> CustomProductionVolume:
|
|
174
|
+
"""区間アノテーションの長さを生産量に追加する"""
|
|
175
|
+
logger.debug(f"project_id='{self.project_id}' :: 区間アノテーションの長さ('annotation_duration_minute')を計算します。")
|
|
176
|
+
annotation_duration_obj = AnnotationDuration.from_annotation_zip(
|
|
177
|
+
self.visualize_source_files.annotation_zip_path,
|
|
178
|
+
project_id=self.project_id,
|
|
179
|
+
include_labels=self.production_volume_include_labels,
|
|
180
|
+
exclude_labels=self.production_volume_exclude_labels,
|
|
181
|
+
)
|
|
182
|
+
annotation_duration_column = ProductionVolumeColumn(value="annotation_duration_minute", name="区間アノテーションの長さ(分)")
|
|
183
|
+
|
|
184
|
+
if custom_production_volume is not None:
|
|
185
|
+
# 既存のCustomProductionVolumeのデータと結合
|
|
186
|
+
if not custom_production_volume.is_empty():
|
|
187
|
+
annotation_duration_df = pandas.merge(custom_production_volume.df, annotation_duration_obj.df, on=["project_id", "task_id"], how="outer")
|
|
188
|
+
else:
|
|
189
|
+
annotation_duration_df = annotation_duration_obj.df
|
|
190
|
+
|
|
191
|
+
# annotation_duration_minuteを含む新しいProductionVolumeColumnリストを作成
|
|
192
|
+
new_production_volume_list = list(custom_production_volume.custom_production_volume_list)
|
|
193
|
+
if annotation_duration_column not in new_production_volume_list:
|
|
194
|
+
new_production_volume_list.append(annotation_duration_column)
|
|
195
|
+
|
|
196
|
+
return CustomProductionVolume(annotation_duration_df, custom_production_volume_list=new_production_volume_list)
|
|
197
|
+
else:
|
|
198
|
+
# CustomProductionVolumeが存在しない場合、新規作成
|
|
199
|
+
return CustomProductionVolume(annotation_duration_obj.df, custom_production_volume_list=[annotation_duration_column])
|
|
200
|
+
|
|
201
|
+
def _add_video_duration(self, custom_production_volume: Optional[CustomProductionVolume]) -> CustomProductionVolume:
|
|
202
|
+
"""動画の長さ(分)を生産量に追加する"""
|
|
203
|
+
logger.debug(f"project_id='{self.project_id}' :: 動画の長さ('video_duration_minute')を計算します。")
|
|
204
|
+
video_duration_by_task_id = self.visualize_source_files.get_video_duration_minutes_by_task_id()
|
|
205
|
+
|
|
206
|
+
# DataFrameの作成
|
|
207
|
+
video_duration_data = [{"project_id": self.project_id, "task_id": task_id, "video_duration_minute": duration} for task_id, duration in video_duration_by_task_id.items()]
|
|
208
|
+
if len(video_duration_data) == 0:
|
|
209
|
+
video_duration_df = pandas.DataFrame(columns=["project_id", "task_id", "video_duration_minute"])
|
|
210
|
+
else:
|
|
211
|
+
video_duration_df = pandas.DataFrame(video_duration_data)
|
|
212
|
+
|
|
213
|
+
video_duration_df = video_duration_df.astype({"project_id": "string", "task_id": "string", "video_duration_minute": "float64"})
|
|
214
|
+
video_duration_column = ProductionVolumeColumn(value="video_duration_minute", name="動画の長さ(分)")
|
|
215
|
+
|
|
216
|
+
if custom_production_volume is not None:
|
|
217
|
+
# 既存のCustomProductionVolumeのデータと結合
|
|
218
|
+
if not custom_production_volume.is_empty():
|
|
219
|
+
merged_df = pandas.merge(custom_production_volume.df, video_duration_df, on=["project_id", "task_id"], how="outer")
|
|
220
|
+
else:
|
|
221
|
+
merged_df = video_duration_df
|
|
222
|
+
|
|
223
|
+
# video_duration_minuteを含む新しいProductionVolumeColumnリストを作成
|
|
224
|
+
new_production_volume_list = list(custom_production_volume.custom_production_volume_list)
|
|
225
|
+
if video_duration_column not in new_production_volume_list:
|
|
226
|
+
new_production_volume_list.append(video_duration_column)
|
|
227
|
+
|
|
228
|
+
return CustomProductionVolume(merged_df, custom_production_volume_list=new_production_volume_list)
|
|
229
|
+
else:
|
|
230
|
+
# CustomProductionVolumeが存在しない場合、新規作成
|
|
231
|
+
return CustomProductionVolume(video_duration_df, custom_production_volume_list=[video_duration_column])
|
|
232
|
+
|
|
183
233
|
def _get_task_worktime_obj(self) -> TaskWorktimeByPhaseUser:
|
|
184
234
|
if self.task_worktime_obj is None:
|
|
185
235
|
task_history = TaskHistory.from_api_content(self.visualize_source_files.read_task_histories_json())
|
|
@@ -370,6 +420,9 @@ class VisualizingStatisticsMain:
|
|
|
370
420
|
# 動画プロジェクトの場合、annotation_duration_secondを生産量に含める
|
|
371
421
|
custom_production_volume = self.custom_production_volume
|
|
372
422
|
|
|
423
|
+
# 動画プロジェクトかどうかを判定
|
|
424
|
+
is_video_project = project_info.input_data_type == "movie"
|
|
425
|
+
|
|
373
426
|
project_dir = ProjectDir(
|
|
374
427
|
output_project_dir,
|
|
375
428
|
self.task_completion_criteria,
|
|
@@ -429,7 +482,8 @@ class VisualizingStatisticsMain:
|
|
|
429
482
|
output_only_text=self.output_only_text,
|
|
430
483
|
production_volume_include_labels=self.production_volume_include_labels,
|
|
431
484
|
production_volume_exclude_labels=self.production_volume_exclude_labels,
|
|
432
|
-
include_annotation_duration_seconds=
|
|
485
|
+
include_annotation_duration_seconds=is_video_project,
|
|
486
|
+
include_video_duration_minutes=is_video_project,
|
|
433
487
|
)
|
|
434
488
|
|
|
435
489
|
write_obj._catch_exception(write_obj.write_user_performance)() # noqa: SLF001
|
|
@@ -710,7 +764,9 @@ def parse_args(parser: argparse.ArgumentParser) -> None:
|
|
|
710
764
|
default=TaskCompletionCriteria.ACCEPTANCE_COMPLETED.value,
|
|
711
765
|
help="タスクの完了条件を指定します。\n"
|
|
712
766
|
"* ``acceptance_completed``: タスクが受入フェーズの完了状態であれば「タスクの完了」とみなす\n"
|
|
713
|
-
"* ``acceptance_reached``: タスクが受入フェーズに到達したら「タスクの完了」とみなす\n"
|
|
767
|
+
"* ``acceptance_reached``: タスクが受入フェーズに到達したら「タスクの完了」とみなす\n"
|
|
768
|
+
"* ``inspection_reached``: タスクが検査フェーズに到達したら「タスクの完了」とみなす\n"
|
|
769
|
+
"* ``annotation_started``: 教師付フェーズが着手されたら「タスクの完了」とみなす\n",
|
|
714
770
|
)
|
|
715
771
|
|
|
716
772
|
parser.add_argument(
|
|
@@ -80,6 +80,19 @@ Examples
|
|
|
80
80
|
``acceptance_reached`` と同様な理由で、検査フェーズと受入フェーズの作業時間と生産量は0になります。
|
|
81
81
|
|
|
82
82
|
|
|
83
|
+
``annotation_started``
|
|
84
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
85
|
+
|
|
86
|
+
``annotation_started`` を指定すると、教師付フェーズが着手されたタスクを「生産したタスク(作業が完了したタスク)」とみなして、教師付フェーズが着手されたタスクを集計対象にします。
|
|
87
|
+
このオプションは、未完了のタスクが多いときに有用です。たとえば以下のようなケースです。
|
|
88
|
+
|
|
89
|
+
* アノテーションルールに不明瞭な部分があるため、タスクを提出することができず、教師付フェーズ保留状態のタスクが大量にある。これらのタスクは未完了だがほとんど完了しているため、生産性の評価対象タスクに加えたい。
|
|
90
|
+
* アノテーション作業の終盤でアノテーションルールが変わったため、大量の受入フェーズ完了状態のタスクを教師付フェーズに差し戻した。これらのタスクは未完了だがほとんど完了しているため、生産性の評価対象タスクに加えたい。
|
|
91
|
+
|
|
92
|
+
``acceptance_reached`` や ``inspection_reached`` とは異なり、 ``annotation_started`` では検査/受入フェーズの生産量と作業時間は0になりません。
|
|
93
|
+
``annotation_started`` を指定するときは、「検査/受入フェーズをアノテーションチーム以外が作業する」とは限らないためです。
|
|
94
|
+
|
|
95
|
+
|
|
83
96
|
|
|
84
97
|
実績作業時間情報から生産性を算出する
|
|
85
98
|
----------------------------------------------
|
|
@@ -195,7 +208,7 @@ CSVには以下の列が存在している必要があります。
|
|
|
195
208
|
デフォルトでは、入力データ数とアノテーション数を生産量としています。しかし、この生産量はプロジェクトによっては適切でない場合があります。
|
|
196
209
|
たとえば、動画プロジェクトでは動画時間が生産量として適切かもしれません。また、セマンティックセグメンテーションプロジェクトでは塗りつぶしの面積や輪郭線の方が生産量として適切かもしれません。
|
|
197
210
|
|
|
198
|
-
``--
|
|
211
|
+
``--custom_production_volume`` に以下のようなJSON文字列を指定することで、入力データ数とアノテーション数以外の生産量を指定することができます。
|
|
199
212
|
|
|
200
213
|
.. code-block:: json
|
|
201
214
|
|
|
@@ -228,8 +241,10 @@ CSVには以下の列が存在している必要があります。
|
|
|
228
241
|
|
|
229
242
|
.. note::
|
|
230
243
|
|
|
231
|
-
|
|
244
|
+
動画プロジェクトでは、以下の生産量が追加されます。
|
|
232
245
|
|
|
246
|
+
* ``annotation_duration_minute`` : 区間アノテーションの長さ(分)
|
|
247
|
+
* ``video_duration_minute`` : 動画の長さ(分)
|
|
233
248
|
|
|
234
249
|
|
|
235
250
|
.. _production_volume_include_or_exclude_label:
|
|
@@ -240,7 +255,7 @@ CSVには以下の列が存在している必要があります。
|
|
|
240
255
|
``--production_volume_include_label`` または ``--production_volume_exclude_label`` にラベル名を指定することで、以下の生産量の集計対象に含めるラベルや除外するラベルを指定できます。
|
|
241
256
|
|
|
242
257
|
* ``annotation_count``
|
|
243
|
-
* ``
|
|
258
|
+
* ``annotation_duration_minute`` (動画プロジェクトの場合のみ)
|
|
244
259
|
|
|
245
260
|
|
|
246
261
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from unittest.mock import Mock
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
5
|
+
|
|
6
|
+
from annofabcli.statistics.visualization.visualization_source_files import VisualizationSourceFiles
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestVisualizationSourceFiles:
|
|
10
|
+
@pytest.fixture
|
|
11
|
+
def mock_service(self):
|
|
12
|
+
return Mock()
|
|
13
|
+
|
|
14
|
+
@pytest.fixture
|
|
15
|
+
def visualization_source_files(self, mock_service, tmp_path):
|
|
16
|
+
return VisualizationSourceFiles(annofab_service=mock_service, project_id="test_project", target_dir=tmp_path)
|
|
17
|
+
|
|
18
|
+
def test_init(self, visualization_source_files, tmp_path):
|
|
19
|
+
"""初期化のテスト"""
|
|
20
|
+
assert visualization_source_files.project_id == "test_project"
|
|
21
|
+
assert visualization_source_files.target_dir == tmp_path
|
|
22
|
+
assert visualization_source_files.task_json_path == tmp_path / "test_project__task.json"
|
|
23
|
+
assert visualization_source_files.input_data_json_path == tmp_path / "test_project__input_data.json"
|
|
24
|
+
|
|
25
|
+
def test_get_video_duration_minutes_by_task_id_with_data(self, visualization_source_files, tmp_path):
|
|
26
|
+
"""データありでの動画長さ計算テスト"""
|
|
27
|
+
# テストデータを作成
|
|
28
|
+
task_data = [{"task_id": "task1", "input_data_id_list": ["input1"]}, {"task_id": "task2", "input_data_id_list": ["input2"]}]
|
|
29
|
+
|
|
30
|
+
input_data = [
|
|
31
|
+
{
|
|
32
|
+
"input_data_id": "input1",
|
|
33
|
+
"system_metadata": {
|
|
34
|
+
"input_duration": 120.0 # 2分 = 120秒
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"input_data_id": "input2",
|
|
39
|
+
"system_metadata": {
|
|
40
|
+
"input_duration": 180.0 # 3分 = 180秒
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
task_json_path = tmp_path / "test_project__task.json"
|
|
46
|
+
input_data_json_path = tmp_path / "test_project__input_data.json"
|
|
47
|
+
|
|
48
|
+
task_json_path.write_text(json.dumps(task_data), encoding="utf-8")
|
|
49
|
+
input_data_json_path.write_text(json.dumps(input_data), encoding="utf-8")
|
|
50
|
+
|
|
51
|
+
result = visualization_source_files.get_video_duration_minutes_by_task_id()
|
|
52
|
+
|
|
53
|
+
# 期待値: 120秒 = 2分、180秒 = 3分
|
|
54
|
+
expected = {"task1": 2.0, "task2": 3.0}
|
|
55
|
+
assert result == expected
|
|
@@ -56,6 +56,32 @@ from annofabcli.statistics.visualization.model import TaskCompletionCriteria
|
|
|
56
56
|
TaskCompletionCriteria.INSPECTION_REACHED,
|
|
57
57
|
False,
|
|
58
58
|
),
|
|
59
|
+
# ANNOTATION_STARTED
|
|
60
|
+
(
|
|
61
|
+
{"phase": TaskPhase.ANNOTATION.value, "status": TaskStatus.WORKING.value, "work_time_span": 1},
|
|
62
|
+
TaskCompletionCriteria.ANNOTATION_STARTED,
|
|
63
|
+
True,
|
|
64
|
+
),
|
|
65
|
+
(
|
|
66
|
+
{"phase": TaskPhase.INSPECTION.value, "status": TaskStatus.COMPLETE.value, "work_time_span": 10},
|
|
67
|
+
TaskCompletionCriteria.ANNOTATION_STARTED,
|
|
68
|
+
True,
|
|
69
|
+
),
|
|
70
|
+
(
|
|
71
|
+
{"phase": TaskPhase.ACCEPTANCE.value, "status": TaskStatus.COMPLETE.value, "work_time_span": 100},
|
|
72
|
+
TaskCompletionCriteria.ANNOTATION_STARTED,
|
|
73
|
+
True,
|
|
74
|
+
),
|
|
75
|
+
(
|
|
76
|
+
{"phase": TaskPhase.ANNOTATION.value, "status": TaskStatus.NOT_STARTED.value, "work_time_span": 0},
|
|
77
|
+
TaskCompletionCriteria.ANNOTATION_STARTED,
|
|
78
|
+
False,
|
|
79
|
+
),
|
|
80
|
+
(
|
|
81
|
+
{"phase": TaskPhase.ANNOTATION.value, "status": TaskStatus.BREAK.value, "work_time_span": 0},
|
|
82
|
+
TaskCompletionCriteria.ANNOTATION_STARTED,
|
|
83
|
+
False,
|
|
84
|
+
),
|
|
59
85
|
],
|
|
60
86
|
)
|
|
61
87
|
def test_is_task_completed(task, criteria, expected):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|