Skip to content

Commit

Permalink
Merge branch 'develop' into bs/fixed_4822
Browse files Browse the repository at this point in the history
  • Loading branch information
bsekachev committed Aug 29, 2022
2 parents abf2c2c + 545e778 commit e20775e
Show file tree
Hide file tree
Showing 76 changed files with 3,526 additions and 1,205 deletions.
1 change: 1 addition & 0 deletions .bandit
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
# B406 : import_xml_sax
# B410 : import_lxml
skips: B101,B102,B320,B404,B406,B410
exclude: **/tests/**,tests
2 changes: 1 addition & 1 deletion .github/workflows/bandit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
echo "Bandit version: "$(bandit --version | head -1)
echo "The files will be checked: "$(echo $CHANGED_FILES)
bandit $CHANGED_FILES --exclude '**/tests/**' -a file --ini ./.bandit -f html -o ./bandit_report/bandit_checks.html
bandit -a file --ini .bandit -f html -o ./bandit_report/bandit_checks.html $CHANGED_FILES
deactivate
else
echo "No files with the \"py\" extension found"
Expand Down
11 changes: 8 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Possibility to display tags on frame
- Support source and target storages (server part)
- Tests for import/export annotation, dataset, backup from/to cloud storage
- Added Python SDK package (`cvat-sdk`)
- Added Python SDK package (`cvat-sdk`) (<https://github.com/opencv/cvat/pull/4813>)
- Previews for jobs
- Documentation for LDAP authentication (<https://github.com/cvat-ai/cvat/pull/39>)
- OpenCV.js caching and autoload (<https://github.com/cvat-ai/cvat/pull/30>)
- Publishing dev version of CVAT docker images (<https://github.com/cvat-ai/cvat/pull/53>)
- Support of Human Pose Estimation, Facial Landmarks (and similar) use-cases, new shape type: Skeleton (<https://github.com/cvat-ai/cvat/pull/1>)
- Support of Human Pose Estimation, Facial Landmarks (and similar) use-cases, new shape type:
Skeleton (<https://github.com/cvat-ai/cvat/pull/1>), (<https://github.com/opencv/cvat/pull/4829>)
- Added helm chart support for serverless functions and analytics (<https://github.com/cvat-ai/cvat/pull/110>)
- Added confirmation when remove a track (<https://github.com/opencv/cvat/pull/4846>)


### Changed
- Bumped nuclio version to 1.8.14
- Simplified running REST API tests. Extended CI-nightly workflow
- REST API tests are partially moved to Python SDK (`users`, `projects`, `tasks`)
- REST API tests are partially moved to Python SDK (`users`, `projects`, `tasks`, `issues`)
- cvat-ui: Improve UI/UX on label, create task and create project forms (<https://github.com/cvat-ai/cvat/pull/7>)
- Removed link to OpenVINO documentation (<https://github.com/cvat-ai/cvat/pull/35>)
- Clarified meaning of chunking for videos
Expand All @@ -51,6 +54,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Image search in cloud storage (<https://github.com/cvat-ai/cvat/pull/8>)
- Reset password functionality (<https://github.com/cvat-ai/cvat/pull/52>)
- Creating task with cloud storage data (<https://github.com/cvat-ai/cvat/pull/116>)
- Show empty tasks (<https://github.com/cvat-ai/cvat/pull/100>)
- Fixed project filtration (<https://github.com/opencv/cvat/pull/4878>)

### Security
- TDB
Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,21 @@ organizations around the world to solve real problems using the Data-centric
AI approach.

Start using CVAT online for free: [cvat.ai](https://cvat.ai). Or set it up as a self-hosted solution:
[read here](https://cvat-ai.github.io/cvat/docs/administration/basics/installation/).
[read here](https://opencv.github.io/cvat/docs/administration/basics/installation/).

![CVAT screencast](site/content/en/images/cvat-ai-screencast.gif)

## Quick start ⚡

- [Installation guide](https://cvat-ai.github.io/cvat/docs/administration/basics/installation/)
- [Manual](https://cvat-ai.github.io/cvat/docs/manual/)
- [Contributing](https://cvat-ai.github.io/cvat/docs/contributing/)
- [Django REST API documentation](https://cvat-ai.github.io/cvat/docs/administration/basics/rest_api_guide/)
- [Installation guide](https://opencv.github.io/cvat/docs/administration/basics/installation/)
- [Manual](https://opencv.github.io/cvat/docs/manual/)
- [Contributing](https://opencv.github.io/cvat/docs/contributing/)
- [Django REST API documentation](https://opencv.github.io/cvat/docs/administration/basics/rest_api_guide/)
- [Datumaro dataset framework](https://github.com/cvat-ai/datumaro/blob/develop/README.md)
- [Command line interface](https://cvat-ai.github.io/cvat/docs/manual/advanced/cli/)
- [XML annotation format](https://cvat-ai.github.io/cvat/docs/manual/advanced/xml_format/)
- [AWS Deployment Guide](https://cvat-ai.github.io/cvat/docs/administration/basics/aws-deployment-guide/)
- [Frequently asked questions](https://cvat-ai.github.io/cvat/docs/faq/)
- [Command line interface](https://opencv.github.io/cvat/docs/manual/advanced/cli/)
- [XML annotation format](https://opencv.github.io/cvat/docs/manual/advanced/xml_format/)
- [AWS Deployment Guide](https://opencv.github.io/cvat/docs/administration/basics/aws-deployment-guide/)
- [Frequently asked questions](https://opencv.github.io/cvat/docs/faq/)
- [Where to ask questions](#where-to-ask-questions)

## Partners ❤️
Expand Down Expand Up @@ -71,7 +71,7 @@ This is an online version of CVAT. It's free, efficient, and easy to use.
to 10 tasks there and upload up to 500Mb of data to annotate. It will only be
visible to you or people you assign to it.

For now, it does not have [analytics features](https://cvat-ai.github.io/cvat/docs/administration/advanced/analytics/)
For now, it does not have [analytics features](https://opencv.github.io/cvat/docs/administration/advanced/analytics/)
like management and monitoring the data annotation team.

We plan to enhance [cvat.ai](https://cvat.ai) with new powerful features. Stay tuned!
Expand All @@ -87,7 +87,7 @@ The images have been downloaded more than 1M times so far.

## REST API

CVAT has a REST API: [documentation](https://cvat-ai.github.io/cvat/docs/administration/basics/rest_api_guide/).
CVAT has a REST API: [documentation](https://opencv.github.io/cvat/docs/administration/basics/rest_api_guide/).
Its current version is `2.0-alpha`. We focus on its improvement, and the API may be changed in the next releases.

## Screencasts 🎦
Expand All @@ -112,14 +112,14 @@ dataset framework allows additional dataset transformations via its command
line tool and Python library.

For more information about the supported formats, look at the
[documentation](https://cvat-ai.github.io/cvat/docs/manual/advanced/formats/).
[documentation](https://opencv.github.io/cvat/docs/manual/advanced/formats/).

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

| Annotation format | Import | Export |
| --------------------------------------------------------------------------------------------------------- | ------ | ------ |
| [CVAT for images](https://cvat-ai.github.io/cvat/docs/manual/advanced/xml_format/#annotation) | ✔️ | ✔️ |
| [CVAT for a video](https://cvat-ai.github.io/cvat/docs/manual/advanced/xml_format/#interpolation) | ✔️ | ✔️ |
| [CVAT for images](https://opencv.github.io/cvat/docs/manual/advanced/xml_format/#annotation) | ✔️ | ✔️ |
| [CVAT for a video](https://opencv.github.io/cvat/docs/manual/advanced/xml_format/#interpolation) | ✔️ | ✔️ |
| [Datumaro](https://github.com/cvat-ai/datumaro) | | ✔️ |
| [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) | ✔️ | ✔️ |
| Segmentation masks from [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) | ✔️ | ✔️ |
Expand Down
21 changes: 10 additions & 11 deletions cvat-cli/src/cvat_cli/cli.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Copyright (C) 2020-2022 Intel Corporation
# Copyright (C) 2022 CVAT.ai Corporation
#
# SPDX-License-Identifier: MIT
Expand All @@ -11,7 +10,7 @@
import tqdm
from cvat_sdk import Client, models
from cvat_sdk.core.helpers import TqdmProgressReporter
from cvat_sdk.core.types import ResourceType
from cvat_sdk.core.proxies.tasks import ResourceType


class CLI:
Expand All @@ -26,7 +25,7 @@ def __init__(self, client: Client, credentials: Tuple[str, str]):

def tasks_list(self, *, use_json_output: bool = False, **kwargs):
"""List all tasks in either basic or JSON format."""
results = self.client.list_tasks(return_json=use_json_output, **kwargs)
results = self.client.tasks.list(return_json=use_json_output, **kwargs)
if use_json_output:
print(json.dumps(json.loads(results), indent=2))
else:
Expand All @@ -50,7 +49,7 @@ def tasks_create(
"""
Create a new task with the given name and labels JSON and add the files to it.
"""
task = self.client.create_task(
task = self.client.tasks.create_from_data(
spec=models.TaskWriteRequest(name=name, labels=labels, **kwargs),
resource_type=resource_type,
resources=resources,
Expand All @@ -66,7 +65,7 @@ def tasks_create(

def tasks_delete(self, task_ids: Sequence[int]) -> None:
"""Delete a list of tasks, ignoring those which don't exist."""
self.client.delete_tasks(task_ids=task_ids)
self.client.tasks.remove_by_ids(task_ids=task_ids)

def tasks_frames(
self,
Expand All @@ -80,11 +79,11 @@ def tasks_frames(
Download the requested frame numbers for a task and save images as
task_<ID>_frame_<FRAME>.jpg.
"""
self.client.retrieve_task(task_id=task_id).download_frames(
self.client.tasks.retrieve(obj_id=task_id).download_frames(
frame_ids=frame_ids,
outdir=outdir,
quality=quality,
filename_pattern="task_{task_id}_frame_{frame_id:06d}{frame_ext}",
filename_pattern=f"task_{task_id}" + "_frame_{frame_id:06d}{frame_ext}",
)

def tasks_dump(
Expand All @@ -99,7 +98,7 @@ def tasks_dump(
"""
Download annotations for a task in the specified format (e.g. 'YOLO ZIP 1.0').
"""
self.client.retrieve_task(task_id=task_id).export_dataset(
self.client.tasks.retrieve(obj_id=task_id).export_dataset(
format_name=fileformat,
filename=filename,
pbar=self._make_pbar(),
Expand All @@ -112,7 +111,7 @@ def tasks_upload(
) -> None:
"""Upload annotations for a task in the specified format
(e.g. 'YOLO ZIP 1.0')."""
self.client.retrieve_task(task_id=task_id).import_annotations(
self.client.tasks.retrieve(obj_id=task_id).import_annotations(
format_name=fileformat,
filename=filename,
status_check_period=status_check_period,
Expand All @@ -121,13 +120,13 @@ def tasks_upload(

def tasks_export(self, task_id: str, filename: str, *, status_check_period: int = 2) -> None:
"""Download a task backup"""
self.client.retrieve_task(task_id=task_id).download_backup(
self.client.tasks.retrieve(obj_id=task_id).download_backup(
filename=filename, status_check_period=status_check_period, pbar=self._make_pbar()
)

def tasks_import(self, filename: str, *, status_check_period: int = 2) -> None:
"""Import a task from a backup file"""
self.client.create_task_from_backup(
self.client.tasks.create_from_backup(
filename=filename, status_check_period=status_check_period, pbar=self._make_pbar()
)

Expand Down
2 changes: 1 addition & 1 deletion cvat-cli/src/cvat_cli/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import os
from distutils.util import strtobool

from cvat_sdk.core.types import ResourceType
from cvat_sdk.core.proxies.tasks import ResourceType

from .version import VERSION

Expand Down
2 changes: 1 addition & 1 deletion cvat-core/src/api-implementation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ const config = require('./config');
checkExclusiveFields(filter, ['id'], ['page']);
const searchParams = {};
for (const key of Object.keys(filter)) {
if (['id', 'page', 'search', 'sort', 'page'].includes(key)) {
if (['id', 'page', 'search', 'sort', 'page', 'filter'].includes(key)) {
searchParams[key] = filter[key];
}
}
Expand Down
2 changes: 1 addition & 1 deletion cvat-sdk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ cvat_sdk/api_client/
requirements/
docs/
setup.py
README.md
README.md
Loading

0 comments on commit e20775e

Please sign in to comment.