superannotate 4.5.2__tar.gz → 4.5.3.dev1__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.
- {superannotate-4.5.2/src/superannotate.egg-info → superannotate-4.5.3.dev1}/PKG-INFO +11 -9
- superannotate-4.5.3.dev1/requirements.txt +15 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/__init__.py +1 -3
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/common.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/common.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/__init__.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/conversion.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/baseStrategy.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_converter.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_strategies.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_to_sa_pixel.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/sa_vector_to_coco.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/converters.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/dataloop_strategies.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/dataloop_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/googlecloud_converters/googlecloud_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/labelbox_converters/labelbox_helper.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/labelbox_converters/labelbox_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sagemaker_converters/sagemaker_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/supervisely_to_sa_vector.py +6 -3
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/vgg_to_sa_vector.py +3 -4
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_to_sa_pixel.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vott_converters/vott_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/yolo_converters/yolo_strategies.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/yolo_converters/yolo_to_sa_vector.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/export_from_sa_conversions.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/import_to_sa_conversions.py +1 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/sa_conversion.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/base_interface.py +6 -7
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk_interface.py +191 -91
- superannotate-4.5.3.dev1/src/superannotate/lib/app/interface/types.py +37 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/serializers.py +28 -18
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/__init__.py +0 -1
- superannotate-4.5.3.dev1/src/superannotate/lib/core/entities/base.py +140 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/classes.py +27 -35
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/folder.py +18 -23
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/integrations.py +3 -10
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/items.py +15 -32
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/multimodal_form.py +2 -0
- superannotate-4.5.3.dev1/src/superannotate/lib/core/entities/project.py +146 -0
- superannotate-4.5.3.dev1/src/superannotate/lib/core/entities/work_managament.py +283 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/enums.py +45 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/plugin.py +1 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/service_types.py +34 -44
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/types.py +7 -7
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/annotations.py +8 -12
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/classes.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/folders.py +10 -6
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/images.py +6 -4
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/integrations.py +5 -3
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/items.py +5 -6
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/projects.py +21 -16
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/video_convertor.py +10 -11
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/controller.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/custom_entities.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/serviceprovider.py +1 -3
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/__init__.py +0 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/annotation.py +5 -8
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/annotation_class.py +5 -3
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/folder.py +4 -1
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/http_client.py +11 -13
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/item.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/item_service.py +2 -2
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/work_management.py +6 -4
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/utils.py +0 -1
- superannotate-4.5.3.dev1/src/superannotate/lib/infrastructure/validators.py +134 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1/src/superannotate.egg-info}/PKG-INFO +11 -9
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/SOURCES.txt +0 -1
- superannotate-4.5.3.dev1/src/superannotate.egg-info/requires.txt +15 -0
- superannotate-4.5.2/requirements.txt +0 -13
- superannotate-4.5.2/src/superannotate/lib/app/interface/types.py +0 -55
- superannotate-4.5.2/src/superannotate/lib/core/entities/base.py +0 -136
- superannotate-4.5.2/src/superannotate/lib/core/entities/project.py +0 -182
- superannotate-4.5.2/src/superannotate/lib/core/entities/work_managament.py +0 -322
- superannotate-4.5.2/src/superannotate/lib/core/pydantic_v1.py +0 -38
- superannotate-4.5.2/src/superannotate/lib/infrastructure/validators.py +0 -95
- superannotate-4.5.2/src/superannotate.egg-info/requires.txt +0 -13
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/LICENSE +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/MANIFEST.in +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/README.rst +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/setup.cfg +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/setup.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/aggregators.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/bin/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/bin/superannotate.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/exceptions.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/helpers.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_api.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/sa_pixel_to_coco.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/dataloop_helper.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/googlecloud_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/googlecloud_converters/googlecloud_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/labelbox_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sa_json_helper.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sagemaker_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sagemaker_converters/sagemaker_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/supervisely_helper.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/supervisely_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/vgg_helper.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/vgg_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_helper.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vott_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vott_converters/vott_strategies.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/yolo_converters/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/cli_interface.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/folders.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/project.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/base_usecases.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/conditions.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/config.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/filters.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/project_entities.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/exceptions.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/jsx_conditions.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/reporter.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/repositories.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/response.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/serviceproviders.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/base.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/custom_fields.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/models.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/utils.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/__init__.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/annotation_adapter.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/helpers.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/query_builder.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/repositories.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/explore.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/integration.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/project.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/telemetry_scoring.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/stream_data_handler.py +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/dependency_links.txt +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/entry_points.txt +0 -0
- {superannotate-4.5.2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: superannotate
|
|
3
|
-
Version: 4.5.
|
|
3
|
+
Version: 4.5.3.dev1
|
|
4
4
|
Summary: Python SDK to SuperAnnotate platform
|
|
5
5
|
Home-page: https://github.com/superannotateai/superannotate-python-sdk
|
|
6
6
|
Author: SuperAnnotate AI
|
|
@@ -17,18 +17,20 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
17
17
|
Requires-Python: >=3.10
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: pydantic
|
|
20
|
+
Requires-Dist: pydantic~=2.5
|
|
21
|
+
Requires-Dist: pydantic-extra-types~=2.11
|
|
21
22
|
Requires-Dist: aiohttp~=3.8
|
|
22
|
-
Requires-Dist: boto3~=1.
|
|
23
|
+
Requires-Dist: boto3~=1.42
|
|
23
24
|
Requires-Dist: opencv-python-headless~=4.7
|
|
24
|
-
Requires-Dist: plotly~=5
|
|
25
|
+
Requires-Dist: plotly~=6.5
|
|
25
26
|
Requires-Dist: pandas~=2.0
|
|
26
|
-
Requires-Dist: pillow
|
|
27
|
+
Requires-Dist: pillow~=12.1
|
|
27
28
|
Requires-Dist: tqdm~=4.66
|
|
28
|
-
Requires-Dist: requests
|
|
29
|
-
Requires-Dist: aiofiles
|
|
30
|
-
Requires-Dist: fire
|
|
31
|
-
Requires-Dist: mixpanel
|
|
29
|
+
Requires-Dist: requests~=2.32
|
|
30
|
+
Requires-Dist: aiofiles~=25.1
|
|
31
|
+
Requires-Dist: fire~=0.7
|
|
32
|
+
Requires-Dist: mixpanel~=5.1
|
|
33
|
+
Requires-Dist: typing_extensions~=4.15
|
|
32
34
|
Requires-Dist: superannotate-schemas==1.0.49
|
|
33
35
|
|
|
34
36
|
SuperAnnotate Python SDK
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
pydantic~=2.5
|
|
2
|
+
pydantic-extra-types~=2.11
|
|
3
|
+
aiohttp~=3.8
|
|
4
|
+
boto3~=1.42
|
|
5
|
+
opencv-python-headless~=4.7
|
|
6
|
+
plotly~=6.5
|
|
7
|
+
pandas~=2.0
|
|
8
|
+
pillow~=12.1
|
|
9
|
+
tqdm~=4.66
|
|
10
|
+
requests~=2.32
|
|
11
|
+
aiofiles~=25.1
|
|
12
|
+
fire~=0.7
|
|
13
|
+
mixpanel~=5.1
|
|
14
|
+
typing_extensions~=4.15
|
|
15
|
+
superannotate-schemas==1.0.49
|
|
@@ -2,8 +2,7 @@ import logging
|
|
|
2
2
|
import os
|
|
3
3
|
import sys
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
__version__ = "4.5.2"
|
|
5
|
+
__version__ = "4.5.3dev1"
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
os.environ.update({"sa_version": __version__})
|
|
@@ -22,7 +21,6 @@ from superannotate.lib.app.input_converters import import_annotation
|
|
|
22
21
|
from superannotate.lib.app.interface.sdk_interface import SAClient
|
|
23
22
|
from superannotate.lib.app.interface.sdk_interface import ItemContext
|
|
24
23
|
|
|
25
|
-
|
|
26
24
|
SESSIONS = {}
|
|
27
25
|
|
|
28
26
|
|
|
@@ -24,11 +24,11 @@ def blue_color_generator(n, hex_values=True):
|
|
|
24
24
|
)
|
|
25
25
|
hex_color = (
|
|
26
26
|
"#"
|
|
27
|
-
+ "{:02x}"
|
|
27
|
+
+ f"{bgr_color[2]:02x}"
|
|
28
28
|
+ "{:02x}".format(
|
|
29
29
|
bgr_color[1],
|
|
30
30
|
)
|
|
31
|
-
+ "{:02x}"
|
|
31
|
+
+ f"{bgr_color[0]:02x}"
|
|
32
32
|
)
|
|
33
33
|
if hex_values:
|
|
34
34
|
hex_colors.append(hex_color)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Main module for input converters
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
import os
|
|
5
6
|
import shutil
|
|
6
7
|
import tempfile
|
|
@@ -15,7 +16,6 @@ from lib.core.exceptions import AppException
|
|
|
15
16
|
from .export_from_sa_conversions import export_from_sa
|
|
16
17
|
from .import_to_sa_conversions import import_to_sa
|
|
17
18
|
|
|
18
|
-
|
|
19
19
|
ALLOWED_TASK_TYPES = [
|
|
20
20
|
"panoptic_segmentation",
|
|
21
21
|
"instance_segmentation",
|
|
@@ -108,7 +108,7 @@ def _passes_value_sanity(values_info):
|
|
|
108
108
|
for value in values_info:
|
|
109
109
|
if value[0] not in value[2]:
|
|
110
110
|
raise AppException(
|
|
111
|
-
"'{}' should be one of the following '{
|
|
111
|
+
f"'{value[1]}' should be one of the following '{value[2]}'"
|
|
112
112
|
)
|
|
113
113
|
|
|
114
114
|
|
|
@@ -4,6 +4,7 @@ This object will receive the strategy from outside and will convert according to
|
|
|
4
4
|
said strategy.
|
|
5
5
|
|
|
6
6
|
"""
|
|
7
|
+
|
|
7
8
|
from .coco_converters.coco_strategies import CocoKeypointDetectionStrategy
|
|
8
9
|
from .coco_converters.coco_strategies import CocoObjectDetectionStrategy
|
|
9
10
|
from .coco_converters.coco_strategies import CocoPanopticConverterStrategy
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Supervisely to SA conversion method
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
import json
|
|
5
6
|
import logging
|
|
6
7
|
import threading
|
|
@@ -92,9 +93,11 @@ def supervisely_to_sa(json_files, class_id_map, task, output_dir):
|
|
|
92
93
|
elif obj["geometryType"] == "bitmap":
|
|
93
94
|
for ppoints in _base64_to_polygon(obj["bitmap"]["data"]):
|
|
94
95
|
points = [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
(
|
|
97
|
+
x + obj["bitmap"]["origin"][0]
|
|
98
|
+
if i % 2 == 0
|
|
99
|
+
else x + obj["bitmap"]["origin"][1]
|
|
100
|
+
)
|
|
98
101
|
for i, x in enumerate(ppoints)
|
|
99
102
|
]
|
|
100
103
|
instance_type = "polygon"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
VGG to SA conversion method.
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
import json
|
|
5
6
|
import logging
|
|
6
7
|
import threading
|
|
@@ -59,10 +60,8 @@ def vgg_to_sa(json_data, task, output_dir):
|
|
|
59
60
|
instances = img["regions"]
|
|
60
61
|
for instance in instances:
|
|
61
62
|
if "type" not in instance["region_attributes"].keys():
|
|
62
|
-
raise KeyError(
|
|
63
|
-
|
|
64
|
-
be category name. Please correct JSON file."
|
|
65
|
-
)
|
|
63
|
+
raise KeyError("'VGG' JSON should contain 'type' key which will \
|
|
64
|
+
be category name. Please correct JSON file.")
|
|
66
65
|
if not isinstance(instance["region_attributes"]["type"], str):
|
|
67
66
|
raise ValueError("Wrong attribute was choosen for 'type' attribute.")
|
|
68
67
|
|
|
@@ -9,6 +9,7 @@ from inspect import signature
|
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from types import FunctionType
|
|
11
11
|
from typing import Iterable
|
|
12
|
+
from typing import Optional
|
|
12
13
|
from typing import Sized
|
|
13
14
|
|
|
14
15
|
import lib.core as constants
|
|
@@ -18,19 +19,20 @@ from lib.core import setup_logging
|
|
|
18
19
|
from lib.core.entities.base import ConfigEntity
|
|
19
20
|
from lib.core.entities.base import TokenStr
|
|
20
21
|
from lib.core.exceptions import AppException
|
|
21
|
-
from lib.core.pydantic_v1 import ErrorWrapper
|
|
22
|
-
from lib.core.pydantic_v1 import ValidationError
|
|
23
22
|
from lib.infrastructure.controller import Controller
|
|
24
23
|
from lib.infrastructure.utils import extract_project_folder_inputs
|
|
25
24
|
from lib.infrastructure.validators import wrap_error
|
|
26
25
|
from mixpanel import Mixpanel
|
|
26
|
+
from pydantic import ValidationError
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
class BaseInterfaceFacade:
|
|
30
30
|
REGISTRY = []
|
|
31
31
|
|
|
32
32
|
@validate_arguments
|
|
33
|
-
def __init__(
|
|
33
|
+
def __init__(
|
|
34
|
+
self, token: Optional[TokenStr] = None, config_path: Optional[str] = None
|
|
35
|
+
):
|
|
34
36
|
try:
|
|
35
37
|
if token:
|
|
36
38
|
config = ConfigEntity(SA_TOKEN=token)
|
|
@@ -80,10 +82,7 @@ class BaseInterfaceFacade:
|
|
|
80
82
|
try:
|
|
81
83
|
config = ConfigEntity(SA_TOKEN=token)
|
|
82
84
|
except ValidationError:
|
|
83
|
-
raise
|
|
84
|
-
[ErrorWrapper(ValueError("Invalid token."), loc="token")],
|
|
85
|
-
model=ConfigEntity,
|
|
86
|
-
)
|
|
85
|
+
raise AppException("Invalid token.")
|
|
87
86
|
host = json_data.get("main_endpoint")
|
|
88
87
|
verify_ssl = json_data.get("ssl_verify")
|
|
89
88
|
if host:
|