-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skeletons in datumaro format #8165
Conversation
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe update introduces support for skeleton annotations in the Datumaro format. This includes modifications in the dataset export and import functionalities, with several dependency updates for enhanced compatibility and performance. Additionally, multiple test files were refactored to include parameterized testing for different formats, ensuring robust validation. Changes
Sequence Diagram(s)Not applicable as the changes are primarily related to adding new dependency support and minor refactoring. Assessment against linked issues
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
12a78a0
to
39450d7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (1)
cvat/requirements/base.txt (1)
72-72
: Verify compatibility ofdj-rest-auth[with-social]
version5.0.2
.The update to version
5.0.2
introduces changes in how settings are handled, which may affect session and token authentication flows. Please review the following points:
- Comments in
cvat/apps/iam/views.py
indicate potential issues with handling two authentication flows simultaneously.- There is a related issue documented: GitHub Issue #604.
Ensure that these changes do not introduce any breaking changes or incompatibilities with the rest of the codebase.
Analysis chain
Verify compatibility of
dj-rest-auth[with-social]
version5.0.2
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
#!/bin/bash # Description: Verify compatibility of `dj-rest-auth[with-social]` version `5.0. </details> <details> <summary>Scripts executed</summary> The following scripts were executed for the analysis: --- Script: ```shell #!/bin/bash # Find all occurrences of `dj-rest-auth` in the codebase to understand its usage and integration. rg 'dj-rest-auth' -A 5Length of output: 3685
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (9)
- changelog.d/20240715_110113_dlavrukhin_skeletons_in_datumaro_format.md (1 hunks)
- cvat/requirements/base.in (1 hunks)
- cvat/requirements/base.txt (17 hunks)
- cvat/requirements/development.txt (4 hunks)
- cvat/requirements/production.txt (2 hunks)
- cvat/requirements/testing.txt (1 hunks)
- site/content/en/docs/manual/advanced/formats/format-datumaro.md (2 hunks)
- tests/python/rest_api/test_projects.py (1 hunks)
- utils/dataset_manifest/requirements.txt (1 hunks)
Files skipped from review due to trivial changes (4)
- changelog.d/20240715_110113_dlavrukhin_skeletons_in_datumaro_format.md
- cvat/requirements/base.in
- cvat/requirements/production.txt
- cvat/requirements/testing.txt
Additional comments not posted (17)
utils/dataset_manifest/requirements.txt (3)
8-9
: LGTM! Ensure compatibility with source installations.The addition of
--no-binary
options forlxml
andxmlsec
ensures they are installed from source, which can help avoid potential issues with precompiled binaries.
17-17
: Verify compatibility ofopencv-python-headless
version4.10.0.84
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
Verified compatibility of
opencv-python-headless
version4.10.0.84
.The update does not introduce any breaking changes or incompatibilities with the rest of the codebase.
- Instances of
cv2
functions and methods are used across various files.- The functions and methods used are standard and should be compatible with the new version.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `opencv-python-headless` version `4.10.0.84`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import cv2'Length of output: 67
Script:
#!/bin/bash # Description: Verify compatibility of `opencv-python-headless` version `4.10.0.84`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --glob '*.py' -A 5 'import cv2'Length of output: 6465
Script:
#!/bin/bash # Description: Verify compatibility of `opencv-python-headless` version `4.10.0.84`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. # List of files where `import cv2` is used files=( "utils/dataset_manifest/utils.py" "serverless/openvino/dextr/nuclio/model_handler.py" "serverless/onnx/WongKinYiu/yolov7/nuclio/model_handler.py" "serverless/pytorch/saic-vul/hrnet/nuclio/model_handler.py" "serverless/pytorch/shiyinzhang/iog/nuclio/model_handler.py" "serverless/openvino/omz/intel/text-detection-0004/nuclio/model_handler.py" "serverless/openvino/omz/intel/semantic-segmentation-adas-0001/nuclio/model_handler.py" "serverless/pytorch/saic-vul/fbrs/nuclio/model_handler.py" "serverless/openvino/omz/public/mask_rcnn_inception_resnet_v2_atrous_coco/nuclio/model_handler.py" "serverless/openvino/base/model_loader.py" "cvat/apps/engine/utils.py" "cvat/apps/dataset_manager/formats/transformations.py" "cvat/apps/engine/frame_provider.py" "cvat/apps/engine/cache.py" ) # Search for usage of `cv2` functions and methods in the identified files for file in "${files[@]}"; do echo "Checking $file" rg 'cv2\.' "$file" doneLength of output: 6411
19-19
: Verify compatibility ofpillow
version10.4.0
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
cvat/requirements/development.txt (7)
9-10
: LGTM! Ensure compatibility with source installations.The addition of
--no-binary
options forlxml
andxmlsec
ensures they are installed from source, which can help avoid potential issues with precompiled binaries.
24-24
: Verify compatibility ofgprof2dot
version2024.6.6
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
14-14
: Verify compatibility ofautopep8
version2.3.1
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
Let's correct the file type and re-run the script to verify the compatibility of
autopep8
version2.3.1
.
To ensure thorough verification, let's search for any usage of
autopep8
in shell scripts and configuration files.
Verified compatibility of
autopep8
version2.3.1
.No issues found with the update to
autopep8
version2.3.1
. The tool is not directly imported or used in the codebase, indicating it is likely used as a development tool.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `autopep8` version `2.3.1`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import autopep8'Length of output: 72
Script:
#!/bin/bash # Description: Verify compatibility of `autopep8` version `2.3.1`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type py -A 5 $'import autopep8'Length of output: 37
Script:
#!/bin/bash # Description: Verify usage of `autopep8` in shell scripts and configuration files. # Test: Check for any usage of `autopep8` in shell scripts. # Expect: No issues found. rg 'autopep8' --type sh # Test: Check for any usage of `autopep8` in configuration files. # Expect: No issues found. rg 'autopep8' --type yaml --type json --type tomlLength of output: 73
62-62
: Verify compatibility oftomlkit
version0.13.0
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
The update to
tomlkit
version0.13.0
appears to be safe.No instances of
tomlkit
imports or usage were found in the Python codebase, indicating that the library is not being used directly. It is likely safe to proceed with the update.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `tomlkit` version `0.13.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import tomlkit'Length of output: 71
Script:
#!/bin/bash # Description: Verify compatibility of `tomlkit` version `0.13.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --glob '*.py' -A 5 'import tomlkit'Length of output: 40
Script:
#!/bin/bash # Description: Verify compatibility of `tomlkit` version `0.13.0`. # Test: Check for any usage of `tomlkit` in the codebase. # Expect: No issues found. rg --glob '*.py' 'tomlkit'Length of output: 26
40-40
: Verify compatibility ofpycodestyle
version2.12.0
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
Verified compatibility of
pycodestyle
version2.12.0
.The only reference to
pycodestyle
in the codebase is in thecvat/requirements/development.txt
file, indicating it is used as a development dependency. No issues or incompatibilities were found with the update to version2.12.0
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `pycodestyle` version `2.12.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import pycodestyle'Length of output: 75
Script:
#!/bin/bash # Description: Verify compatibility of `pycodestyle` version `2.12.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type py -A 5 'import pycodestyle'Length of output: 40
Script:
#!/bin/bash # Description: Verify compatibility of `pycodestyle` version `2.12.0`. # Test: Check for any references to `pycodestyle` in the codebase. # Expect: No issues found. rg 'pycodestyle'Length of output: 70
64-64
: Verify compatibility oftornado
version6.4.1
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
Verified compatibility of
tornado
version6.4.1
.The usage of
tornado
is limited to template files incvat-sdk/gen/templates/openapi-generator/api_client.mustache
. No direct Python code importstornado
. Therefore, the update totornado==6.4.1
should not introduce any immediate issues.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `tornado` version `6.4.1`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import tornado'Length of output: 71
Script:
#!/bin/bash # Description: Verify compatibility of `tornado` version `6.4.1`. # Find all Python files and search for `import tornado` within those files. fd --extension py --exec rg 'import tornado' {}Length of output: 51
Script:
#!/bin/bash # Description: Verify compatibility of `tornado` version `6.4.1`. # Find all Python files and search for `tornado` import statements with more context. fd --extension py --exec rg 'import tornado' -A 10 {}Length of output: 57
Script:
#!/bin/bash # Description: Verify any usage of `tornado` in the codebase. # Search for any occurrences of `tornado` in the codebase. rg 'tornado'Length of output: 1106
68-68
: Verify compatibility ofsetuptools
version70.3.0
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
Verification successful
Let's update the script to correctly search for the usage of
setuptools
in all Python files.
Let's extend the search to include the
setup.py
file and other potential places wheresetuptools
might be used.
The
setuptools
library is used incvat-cli/setup.py
. We need to verify that the functions fromsetuptools
used in this file are compatible with version70.3.0
.
Let's extend the search to capture the full context of
setuptools
usage incvat-cli/setup.py
.
Verified compatibility of
setuptools
version70.3.0
.The
setuptools
library is used incvat-cli/setup.py
for standard functions (setup
andfind_packages
). These functions are core tosetuptools
and are unlikely to have breaking changes in a minor version update. No issues were found.
cvat-cli/setup.py
: Usessetuptools
forsetup
andfind_packages
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of `setuptools` version `70.3.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg --type python -A 5 $'import setuptools'Length of output: 74
Script:
#!/bin/bash # Description: Verify compatibility of `setuptools` version `70.3.0`. # Test: Check for any breaking changes or incompatibilities introduced by the new version. # Expect: No issues found. rg 'import setuptools' --glob '*.py' -A 5Length of output: 43
Script:
#!/bin/bash # Description: Verify compatibility of `setuptools` version `70.3.0`. # Test: Check for any usage of `setuptools` in the setup files and other potential places. # Expect: No issues found. # Search in setup.py and other related files rg 'setuptools' --glob '*setup.py' -A 5Length of output: 310
Script:
#!/bin/bash # Description: Verify compatibility of `setuptools` version `70.3.0`. # Test: Check for usage of `setuptools` functions in `cvat-cli/setup.py`. # Expect: No issues found. # Search for usage of `setuptools` functions in `cvat-cli/setup.py` rg 'setuptools' cvat-cli/setup.py -A 10Length of output: 346
Script:
#!/bin/bash # Description: Verify compatibility of `setuptools` version `70.3.0`. # Test: Check for usage of `setuptools` functions in `cvat-cli/setup.py`. # Expect: No issues found. # Search for usage of `setuptools` functions in `cvat-cli/setup.py` rg 'setuptools' cvat-cli/setup.py -A 50Length of output: 1687
site/content/en/docs/manual/advanced/formats/format-datumaro.md (2)
24-24
: LGTM! Skeleton annotations support added to export section.The export section now correctly includes information about skeleton annotations.
44-44
: LGTM! Skeleton annotations support added to import section.The import section now correctly includes information about skeleton annotations.
cvat/requirements/base.txt (4)
21-21
: Verify compatibility ofazure-core
version1.30.2
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
56-56
: Verify compatibility ofcryptography
version42.0.8
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
62-62
: Verify compatibility ofdatumaro
new commit hash.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
35-35
: Verify compatibility ofcertifi
version2024.7.4
.Ensure that the new version does not introduce any breaking changes or incompatibilities with the rest of the codebase.
tests/python/rest_api/test_projects.py (1)
571-579
: Good use of parameterization to improve test coverage.The parameterization of the test method enhances test coverage and reduces code duplication.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #8165 +/- ##
===========================================
- Coverage 83.40% 83.35% -0.06%
===========================================
Files 388 388
Lines 41299 41299
Branches 3852 3852
===========================================
- Hits 34446 34425 -21
- Misses 6853 6874 +21
|
Quality Gate passedIssues Measures |
Motivation and context
Fixes #8115
How has this been tested?
Checklist
develop
branch(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)
License
Feel free to contact the maintainers if that's a concern.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores
Tests