superannotate 4.5.2.dev2__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.dev2/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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/__init__.py +1 -3
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/common.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/common.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/__init__.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/conversion.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/baseStrategy.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_converter.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_strategies.py +2 -2
- {superannotate-4.5.2.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/converters.py +1 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/dataloop_strategies.py +2 -2
- {superannotate-4.5.2.dev2 → 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.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/labelbox_converters/labelbox_helper.py +0 -1
- {superannotate-4.5.2.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/yolo_converters/yolo_strategies.py +2 -2
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/export_from_sa_conversions.py +1 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/import_to_sa_conversions.py +1 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/sa_conversion.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/base_interface.py +6 -7
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/serializers.py +28 -18
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/classes.py +27 -35
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/folder.py +18 -23
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/integrations.py +3 -10
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/items.py +15 -32
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/enums.py +45 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/plugin.py +1 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/service_types.py +34 -44
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/types.py +7 -7
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/annotations.py +8 -12
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/classes.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/folders.py +10 -6
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/images.py +6 -4
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/integrations.py +5 -3
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/items.py +5 -6
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/projects.py +21 -16
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/video_convertor.py +10 -11
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/controller.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/custom_entities.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/serviceprovider.py +1 -3
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/__init__.py +0 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/annotation.py +5 -8
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/annotation_class.py +5 -3
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/folder.py +4 -1
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/http_client.py +11 -13
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/item.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/item_service.py +2 -2
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/work_management.py +6 -4
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1/src/superannotate.egg-info}/PKG-INFO +11 -9
- {superannotate-4.5.2.dev2 → 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.dev2/requirements.txt +0 -13
- superannotate-4.5.2.dev2/src/superannotate/lib/app/interface/types.py +0 -55
- superannotate-4.5.2.dev2/src/superannotate/lib/core/entities/base.py +0 -136
- superannotate-4.5.2.dev2/src/superannotate/lib/core/entities/project.py +0 -182
- superannotate-4.5.2.dev2/src/superannotate/lib/core/entities/work_managament.py +0 -322
- superannotate-4.5.2.dev2/src/superannotate/lib/core/pydantic_v1.py +0 -38
- superannotate-4.5.2.dev2/src/superannotate/lib/infrastructure/validators.py +0 -95
- superannotate-4.5.2.dev2/src/superannotate.egg-info/requires.txt +0 -13
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/LICENSE +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/MANIFEST.in +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/README.rst +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/setup.cfg +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/setup.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/analytics/aggregators.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/bin/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/bin/superannotate.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/exceptions.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/helpers.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/coco_converters/coco_api.py +0 -0
- {superannotate-4.5.2.dev2 → 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.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/dataloop_converters/dataloop_helper.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/googlecloud_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/googlecloud_converters/googlecloud_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/labelbox_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sa_json_helper.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sagemaker_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/sagemaker_converters/sagemaker_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/supervisely_helper.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/supervisely_converters/supervisely_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/vgg_helper.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vgg_converters/vgg_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_helper.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/voc_converters/voc_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vott_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/vott_converters/vott_strategies.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/input_converters/converters/yolo_converters/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/cli_interface.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/folders.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/app/interface/sdk/project.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/base_usecases.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/conditions.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/config.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/filters.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/entities/project_entities.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/exceptions.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/jsx_conditions.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/reporter.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/repositories.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/response.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/serviceproviders.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/base.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/custom_fields.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/usecases/models.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/core/utils.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/__init__.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/annotation_adapter.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/helpers.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/query_builder.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/repositories.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/explore.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/integration.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/project.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/services/telemetry_scoring.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate/lib/infrastructure/stream_data_handler.py +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/dependency_links.txt +0 -0
- {superannotate-4.5.2.dev2 → superannotate-4.5.3.dev1}/src/superannotate.egg-info/entry_points.txt +0 -0
- {superannotate-4.5.2.dev2 → 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.2dev2"
|
|
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:
|