Skip to content

Commit

Permalink
Merge pull request #8918 from cvat-ai/release-2.25.0
Browse files Browse the repository at this point in the history
Release v2.25.0
  • Loading branch information
cvat-bot[bot] authored Jan 9, 2025
2 parents 9fafd98 + aaab665 commit 7bf0b26
Show file tree
Hide file tree
Showing 288 changed files with 5,544 additions and 3,248 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/black.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:

- name: Run checks
run: |
pipx install $(grep "^black" ./cvat-cli/requirements/development.txt)
pipx install $(grep "^black" ./dev/requirements.txt)
echo "Black version: $(black --version)"
Expand Down
30 changes: 3 additions & 27 deletions .github/workflows/isort.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- id: files
uses: tj-actions/changed-files@v41.0.0
with:
files: |
cvat-sdk/**/*.py
cvat-cli/**/*.py
tests/python/**/*.py
cvat/apps/quality_control/**/*.py
cvat/apps/analytics_report/**/*.py
dir_names: true

- name: Run checks
run: |
# If different modules use different isort configs,
# we need to run isort for each python component group separately.
# Otherwise, they all will use the same config.
pipx install $(grep "^isort" ./dev/requirements.txt)
UPDATED_DIRS="${{steps.files.outputs.all_changed_files}}"
echo "isort version: $(isort --version-number)"
if [[ ! -z $UPDATED_DIRS ]]; then
pipx install $(egrep "isort.*" ./cvat-cli/requirements/development.txt)
echo "isort version: $(isort --version-number)"
echo "The dirs will be checked: $UPDATED_DIRS"
EXIT_CODE=0
for DIR in $UPDATED_DIRS; do
isort --check $DIR || EXIT_CODE=$(($? | $EXIT_CODE)) || true
done
exit $EXIT_CODE
else
echo "No files with the \"py\" extension found"
fi
isort --check --diff --resolve-all-configs .
6 changes: 3 additions & 3 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ jobs:
CHANGED_FILES="${{steps.files.outputs.all_changed_files}}"
if [[ ! -z $CHANGED_FILES ]]; then
pipx install $(egrep "^pylint==" ./cvat/requirements/development.txt)
pipx install $(grep "^pylint==" ./dev/requirements.txt)
pipx inject pylint \
$(egrep "^pylint-.+==" ./cvat/requirements/development.txt) \
$(egrep "^django==" ./cvat/requirements/base.txt)
$(grep "^pylint-.\+==" ./dev/requirements.txt) \
$(grep "^django==" ./cvat/requirements/base.txt)
echo "Pylint version: "$(pylint --version | head -1)
echo "The files will be checked: "$(echo $CHANGED_FILES)
Expand Down
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
/share/
/static/
/db.sqlite3
/.*env*
/keys
/logs
/profiles
Expand All @@ -21,6 +20,11 @@ __pycache__
.coverage
.husky/
.python-version
tmp*cvat/
temp*/

# Ignore generated test files
docker-compose.tests.yml

# Ignore npm logs file
npm-debug.log*
Expand Down Expand Up @@ -49,8 +53,8 @@ yarn-error.log*

# Ignore all the installed packages
node_modules
venv/
.venv/
/*env*/
/.*env*

# Ignore all js dists
cvat-data/dist
Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

<!-- scriv-insert-here -->

<a id='changelog-2.25.0'></a>
## \[2.25.0\] - 2025-01-09

### Added

- \[CLI\] Added commands for working with native functions
(<https://github.com/cvat-ai/cvat/pull/8821>)

- Ultralytics YOLO formats now support tracks
(<https://github.com/cvat-ai/cvat/pull/8883>)

### Changed

- YOLOv8 formats renamed to Ultralytics YOLO formats
(<https://github.com/cvat-ai/cvat/pull/8863>)

- The `match_empty_frames` quality setting is changed to `empty_is_annotated`.
The updated option includes any empty frames in the final metrics instead of only
matching empty frames. This makes metrics such as Precision much more representative and useful.
(<https://github.com/cvat-ai/cvat/pull/8888>)

### Fixed

- Changing rotation after export/import in Ultralytics YOLO Oriented Boxes format
(<https://github.com/cvat-ai/cvat/pull/8891>)

- Export to yolo formats if both Train and default dataset are present
(<https://github.com/cvat-ai/cvat/pull/8884>)

- Issue with deleting frames
(<https://github.com/cvat-ai/cvat/pull/8872>)

<a id='changelog-2.24.0'></a>
## \[2.24.0\] - 2024-12-20

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,11 +175,11 @@ For more information about the supported formats, see:
| [Kitti Raw Format](https://www.cvlibs.net/datasets/kitti/raw_data.php) | ✔️ | ✔️ |
| [LFW](http://vis-www.cs.umass.edu/lfw/) | ✔️ | ✔️ |
| [Supervisely Point Cloud Format](https://docs.supervise.ly/data-organization/00_ann_format_navi) | ✔️ | ✔️ |
| [YOLOv8 Detection](https://docs.ultralytics.com/datasets/detect/) | ✔️ | ✔️ |
| [YOLOv8 Oriented Bounding Boxes](https://docs.ultralytics.com/datasets/obb/) | ✔️ | ✔️ |
| [YOLOv8 Segmentation](https://docs.ultralytics.com/datasets/segment/) | ✔️ | ✔️ |
| [YOLOv8 Pose](https://docs.ultralytics.com/datasets/pose/) | ✔️ | ✔️ |
| [YOLOv8 Classification](https://docs.ultralytics.com/datasets/classify/) | ✔️ | ✔️ |
| [Ultralytics YOLO Detection](https://docs.ultralytics.com/datasets/detect/) | ✔️ | ✔️ |
| [Ultralytics YOLO Oriented Bounding Boxes](https://docs.ultralytics.com/datasets/obb/) | ✔️ | ✔️ |
| [Ultralytics YOLO Segmentation](https://docs.ultralytics.com/datasets/segment/) | ✔️ | ✔️ |
| [Ultralytics YOLO Pose](https://docs.ultralytics.com/datasets/pose/) | ✔️ | ✔️ |
| [Ultralytics YOLO Classification](https://docs.ultralytics.com/datasets/classify/) | ✔️ | ✔️ |

<!--lint enable maximum-line-length-->

Expand Down
5 changes: 5 additions & 0 deletions cvat-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ The following subcommands are supported:
- `backup` - back up a task
- `auto-annotate` - automatically annotate a task using a local function

- Functions (Enterprise/Cloud only):
- `create-native` - create a function that can be powered by an agent
- `delete` - delete a function
- `run-agent` - process requests for a native function

## Installation

`pip install cvat-cli`
Expand Down
4 changes: 3 additions & 1 deletion cvat-cli/requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
cvat-sdk~=2.24.0
cvat-sdk==2.25.0

attrs>=24.2.0
Pillow>=10.3.0
setuptools>=70.0.0 # not directly required, pinned by Snyk to avoid a vulnerability
5 changes: 0 additions & 5 deletions cvat-cli/requirements/development.txt

This file was deleted.

9 changes: 7 additions & 2 deletions cvat-cli/src/cvat_cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@
from cvat_sdk import exceptions

from ._internal.commands_all import COMMANDS
from ._internal.common import build_client, configure_common_arguments, configure_logger
from ._internal.common import (
CriticalError,
build_client,
configure_common_arguments,
configure_logger,
)
from ._internal.utils import popattr

logger = logging.getLogger(__name__)
Expand All @@ -29,7 +34,7 @@ def main(args: list[str] = None):
try:
with build_client(parsed_args, logger=logger) as client:
popattr(parsed_args, "_executor")(client, **vars(parsed_args))
except (exceptions.ApiException, urllib3.exceptions.HTTPError) as e:
except (exceptions.ApiException, urllib3.exceptions.HTTPError, CriticalError) as e:
logger.critical(e)
return 1

Expand Down
Loading

0 comments on commit 7bf0b26

Please sign in to comment.