diff --git a/docs/source/api_reference/api_annotation_class.rst b/docs/source/api_reference/api_annotation_class.rst index 81232daa8..6647f2832 100644 --- a/docs/source/api_reference/api_annotation_class.rst +++ b/docs/source/api_reference/api_annotation_class.rst @@ -1,6 +1,6 @@ -========== +================== Annotation Classes -========== +================== .. automethod:: superannotate.SAClient.create_annotation_class .. _ref_create_annotation_classes_from_classes_json: diff --git a/docs/source/api_reference/api_client.rst b/docs/source/api_reference/api_client.rst index 20569f5d2..4cddc1555 100644 --- a/docs/source/api_reference/api_client.rst +++ b/docs/source/api_reference/api_client.rst @@ -1,6 +1,6 @@ -========== +================== SAClient interface -========== +================== Contents ======== @@ -18,4 +18,3 @@ Contents api_team api_neural_network ---- diff --git a/docs/source/api_reference/api_custom_metadata.rst b/docs/source/api_reference/api_custom_metadata.rst index 475421612..58b465bda 100644 --- a/docs/source/api_reference/api_custom_metadata.rst +++ b/docs/source/api_reference/api_custom_metadata.rst @@ -1,6 +1,6 @@ -========== +=============== Custom Metadata -========== +=============== .. automethod:: superannotate.SAClient.create_custom_fields .. automethod:: superannotate.SAClient.get_custom_fields diff --git a/docs/source/api_reference/api_item.rst b/docs/source/api_reference/api_item.rst index 1b4645771..db70640b7 100644 --- a/docs/source/api_reference/api_item.rst +++ b/docs/source/api_reference/api_item.rst @@ -1,6 +1,6 @@ -========== +===== Items -========== +===== .. automethod:: superannotate.SAClient.query diff --git a/docs/source/api_reference/api_metadata.rst b/docs/source/api_reference/api_metadata.rst index f6692ed68..db535b6c8 100644 --- a/docs/source/api_reference/api_metadata.rst +++ b/docs/source/api_reference/api_metadata.rst @@ -1,10 +1,13 @@ -========== +========================= Remote metadata reference -========== +========================= + Projects metadata _________________ + .. _ref_metadata: + Project metadata example: .. code-block:: python diff --git a/docs/source/api_reference/api_neural_network.rst b/docs/source/api_reference/api_neural_network.rst index 3b5ebc49a..c6d288a6c 100644 --- a/docs/source/api_reference/api_neural_network.rst +++ b/docs/source/api_reference/api_neural_network.rst @@ -1,6 +1,6 @@ -========== +============== Neural Network -========== +============== .. automethod:: superannotate.SAClient.download_model diff --git a/docs/source/api_reference/cli_client.rst b/docs/source/api_reference/cli_client.rst deleted file mode 100644 index 20e7a2cb1..000000000 --- a/docs/source/api_reference/cli_client.rst +++ /dev/null @@ -1,222 +0,0 @@ -.. _ref_cli: - -======================================== -CLI Reference -======================================== - - -With SuperAnnotate CLI, basic tasks can be accomplished using shell commands: - -.. code-block:: bash - - superannotatecli <--arg1 val1> <--arg2 val2> [--optional_arg3 val3] [--optional_arg4] ... - -To use the CLI a command line initialization step should be performed after the - -:ref:`installation `: - -.. code-block:: bash - - superannotatecli init - - - -Available commands -________________________ - - -.. _ref_cli_init: - -Initialization and configuration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To initialize CLI (and SDK) with team token: - -.. code-block:: bash - - superannotatecli init - ----------- - - -.. _ref_create_server: - -Creating a server -~~~~~~~~~~~~~~~~~~ - -This will create a directory by the given name in your current or provided directory: - -.. code-block:: bash - - superannotatecli create-server --name --path - ----------- - - -.. _ref_create_project: - -Creating a project -~~~~~~~~~~~~~~~~~~ - -To create a new project: - -.. code-block:: bash - - superannotatecli create-project --name --description --type - ----------- - -Creating a folder in a project -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To create a new folder: - -.. code-block:: bash - - superannotatecli create-folder --project --name - ----------- - -.. _ref_upload_images: - -Uploading images -~~~~~~~~~~~~~~~~ - -To upload images from folder to project use: - -.. code-block:: bash - - superannotatecli upload-images --project --folder [--recursive] [--extensions ,,...] - -If optional argument *recursive* is given then subfolders of :file:`` are also recursively -scanned for available images. - -Optional argument *extensions* accepts comma separated list of image extensions -to look for. If the argument is not given then value *jpg,jpeg,png,tif,tiff,webp,bmp* is assumed. - ----------- - -.. _ref_attach_image_urls: - -Attaching image URLs -~~~~~~~~~~~~~~~~~~~~ - -To attach image URLs to project use: - -.. code-block:: bash - - superannotatecli attach-image-urls --project --attachments [--annotation_status ] - ----------- - -.. _ref_upload_videos: - -Uploading videos -~~~~~~~~~~~~~~~~ - -To upload videos from folder to project use: - -.. code-block:: bash - - superannotatecli upload-videos --project --folder - [--recursive] [--extensions mp4,avi,mov,webm,flv,mpg,ogg] - [--target-fps ] [--start-time ] - [--end-time ] - -If optional argument *recursive* is given then subfolders of :file:`` are also recursively -scanned for available videos. - -Optional argument *extensions* accepts comma separated list of image extensions -to look for. If the argument is not given then value *mp4,avi,mov,webm,flv,mpg,ogg* is assumed. - -*target-fps* specifies how many frames per second need to extract from the videos (approximate). -If not specified all frames will be uploaded. - -*start-time* specifies time (in seconds) from which to start extracting frames, -default is 0.0. - -*end-time* specifies time (in seconds) up to which to extract frames. -If it is not specified, then up to end is assumed. - ----------- - -.. _ref_upload_preannotations: - -Uploading preannotations -~~~~~~~~~~~~~~~~~~~~~~~~ - -To upload preannotations from folder to project use: - -.. code-block:: bash - - superannotatecli upload-preannotations --project --folder - [--format "COCO" or "SuperAnnotate"] - [--dataset-name ""] - [--task "] - - -Optional argument *format* accepts input annotation format. It can have COCO or SuperAnnotate values. -If the argument is not given then SuperAnnotate (the native annotation format) is assumed. - -Only when COCO format is specified *dataset-name* and *task* arguments are required. - -*dataset-name* specifies JSON filename (without extension) in . - -*task* specifies the COCO task for conversion. Please see -:ref:`import_annotation_format ` for more details. - - ----------- - -.. _ref_upload_annotations: - -Uploading annotations -~~~~~~~~~~~~~~~~~~~~~~~~ - -To upload annotations from folder to project use: - -.. code-block:: bash - - superannotatecli upload-annotations --project --folder - [--format "COCO" or "SuperAnnotate"] - [--dataset-name ""] - [--task "] - -Optional argument *format* accepts input annotation format. It can have COCO or SuperAnnotate values. -If the argument is not given then SuperAnnotate (the native annotation format) is assumed. - -Only when COCO format is specified *dataset-name* and *task* arguments are required. - -*dataset-name* specifies JSON filename (without extension) in . - -*task* specifies the COCO task for conversion. Please see -:ref:`import_annotation_format ` for more details. - ----------- - -.. _ref_export_project: - -Exporting projects -~~~~~~~~~~~~~~~~~~~~~~~~ - -To export project - -.. code-block:: bash - - superannotatecli export-project --project --folder - [--include-fuse] - [--disable-extract-zip-contents] - [--annotation-statuses ] - ----------- - -.. _ref_cli_version: - -SDK version information -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To show the version of the current SDK installation: - -.. code-block:: bash - - superannotatecli version diff --git a/docs/source/api_reference/helpers.rst b/docs/source/api_reference/helpers.rst index 9851c52e3..9a97851d1 100644 --- a/docs/source/api_reference/helpers.rst +++ b/docs/source/api_reference/helpers.rst @@ -1,6 +1,6 @@ -========== +================================ Annotation JSON helper functions -========== +================================ .. _ref_converter: diff --git a/docs/source/api_reference/index.rst b/docs/source/api_reference/index.rst index 30dcc8766..398da2abd 100644 --- a/docs/source/api_reference/index.rst +++ b/docs/source/api_reference/index.rst @@ -11,5 +11,4 @@ Contents api_client api_metadata - helpers ---- + helpers \ No newline at end of file diff --git a/docs/source/cli_client.rst b/docs/source/cli_client.rst index 357b2400d..0185cb24e 100644 --- a/docs/source/cli_client.rst +++ b/docs/source/cli_client.rst @@ -1,8 +1,8 @@ .. _ref_cli: -========== +============= CLI Reference -========== +============= With SuperAnnotate CLI, basic tasks can be accomplished using shell commands: @@ -12,7 +12,7 @@ With SuperAnnotate CLI, basic tasks can be accomplished using shell commands: To use the CLI a command line initialization step should be performed after the -:ref:`installation <_ref_quickstart>`: +:ref:`installation `: .. code-block:: bash diff --git a/docs/source/sa_server.rst b/docs/source/sa_server.rst index 5fcbc7342..b858ec15f 100644 --- a/docs/source/sa_server.rst +++ b/docs/source/sa_server.rst @@ -1,8 +1,5 @@ -.. _ref_cli: - SAServer Reference -====================================== - +================== The SAServer provides interface to create web API and run in development or production servers. diff --git a/docs/source/server.rst b/docs/source/server.rst deleted file mode 100644 index 41bd8ff6a..000000000 --- a/docs/source/server.rst +++ /dev/null @@ -1,122 +0,0 @@ -.. _ref_server: - -SAServer Reference -====================================== - -.. contents:: - -The SAServer provides interface to create web API and run in development or production servers. - -This will create a directory by the given name in your current or provided directory: - -.. code-block:: bash - - superannotatecli create-server --name --path - ----------- - -Usage ----------------- - -SuperAnnotate Python SDK allows access to the platform without web browser: - -.. code-block:: python - - import random - from superannotate import SAClient - from superannotate import SAServer - - - app = SAServer() - sa_client = SAClient() - QA_EMAILS = [ - 'qa1@superannotate.com', 'qa2@superannotate.com', - 'qa3@superannotate.com', 'qa4@superannotate.com' - ] - - - @app.route("item_completed", methods=["POST"]) - def index(request): - """ - Listening webhooks on items completed events form Superannotate automation - and is randomly assigned to qa - """ - project_id, folder_id = request.data['project_id'], request.data['folder_id'] - project = sa_client.get_project_by_id(project_id) - folder = sa_client.get_folder_by_id(project_id=project_id, folder_id=folder_id) - sa_client.assign_items( - f"{project['name']}/{folder['name']}", - items=[request.data['name']], - user=random.choice(QA_EMAILS) - ) - - - if __name__ == '__main__': - app.run(host='0.0.0.0', port=5002) - -Interface ----------------- - -.. automethod:: superannotate.SAServer.route -.. automethod:: superannotate.SAServer.add_url_rule -.. automethod:: superannotate.SAServer.run - - -uWSGI ----------- - -`uWSGI`_ is a fast, compiled server suite with extensive configuration -and capabilities beyond a basic server. - -* It can be very performant due to being a compiled program. -* It is complex to configure beyond the basic application, and has so - many options that it can be difficult for beginners to understand. -* It does not support Windows (but does run on WSL). -* It requires a compiler to install in some cases. - -This page outlines the basics of running uWSGI. Be sure to read its -documentation to understand what features are available. - -.. _uWSGI: https://uwsgi-docs.readthedocs.io/en/latest/ - -uWSGI has multiple ways to install it. The most straightforward is to -install the ``pyuwsgi`` package, which provides precompiled wheels for -common platforms. However, it does not provide SSL support, which can be -provided with a reverse proxy instead. - -Install ``pyuwsgi``. - -.. code-block:: text - - $ pip install pyuwsgi - -If you have a compiler available, you can install the ``uwsgi`` package -instead. Or install the ``pyuwsgi`` package from sdist instead of wheel. -Either method will include SSL support. - -.. code-block:: text - - $ pip install uwsgi - - # or - $ pip install --no-binary pyuwsgi pyuwsgi - - -Running -------- - -The most basic way to run uWSGI is to tell it to start an HTTP server -and import your application. - -.. code-block:: text - - $ uwsgi --http 127.0.0.1:8000 --master -p 4 -w wsgi:app - - *** Starting uWSGI 2.0.20 (64bit) on [x] *** - *** Operational MODE: preforking *** - spawned uWSGI master process (pid: x) - spawned uWSGI worker 1 (pid: x, cores: 1) - spawned uWSGI worker 2 (pid: x, cores: 1) - spawned uWSGI worker 3 (pid: x, cores: 1) - spawned uWSGI worker 4 (pid: x, cores: 1) - spawned uWSGI http 1 (pid: x) \ No newline at end of file diff --git a/docs/source/userguide/index.rst b/docs/source/userguide/index.rst index 70e089d7c..1d7c4e0f2 100644 --- a/docs/source/userguide/index.rst +++ b/docs/source/userguide/index.rst @@ -1,8 +1,9 @@ -================================================== +========== User Guide -================================================== +========== -The first steps... +Welcome to the SuperAnnotate Python Software Development Kit (SDK), which enables Python programmers to create software +that incorporates services of the platform and effortlessly integrates SuperAnnotate into their AI process. Contents ======== @@ -12,5 +13,4 @@ Contents quickstart setup_project - utilities ---- + utilities \ No newline at end of file diff --git a/docs/source/userguide/quickstart.rst b/docs/source/userguide/quickstart.rst index 88d01c285..44cad2d82 100644 --- a/docs/source/userguide/quickstart.rst +++ b/docs/source/userguide/quickstart.rst @@ -2,6 +2,8 @@ Quickstart ========== +This introduction provides a quick overview of how to get SuperAnnotate Python SDK up and running on your local machine. + Installation ============ @@ -23,9 +25,8 @@ It can be installed on Ubuntu with: sudo apt-get install ffmpeg -For Windows and Mac OS based installations to use :py:obj:`consensus` -function you might also need to install beforehand :py:obj:`shapely` package, -which we found to work properly only under Anaconda distribution, with: +To use the :py:obj:`consensus` function on Windows and Mac platforms, you might also need to install the shapely package +beforehand. The package works well only under the Anaconda distribution with: .. code-block:: bash @@ -34,12 +35,14 @@ which we found to work properly only under Anaconda distribution, with: ---------- +Initialization and authorization +================================ + Config file -____________________ +~~~~~~~~~~~ -To use the SDK, a config file with team specific authentication token needs to be -created. The token is available to team admins on -team setting page at https://app.superannotate.com/team. +To use the SDK, you need to create a config file with a team-specific authentication token. The token is available +to team admins on the team settings page at https://app.superannotate.com/team. Default location config file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -58,7 +61,7 @@ To generate a default location (:file:`~/.superannotate/config.json`) config fil superannotatecli init Custom config file -~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ .. _ref_custom_config_file: To create a custom config file a new INI file with key "token" can be created: @@ -71,9 +74,6 @@ To create a custom config file a new INI file with key "token" can be created: LOGGING_PATH = ~/.superannotate/logs -Initialization and authorization -========= - Include the package in your Python code: .. code-block:: python @@ -92,7 +92,7 @@ the :ref:`CLI init `. Otherwise to authenticate SDK with the :ref: .. _basic-use: Creating a project -========= +================== To create a new "Vector" project with name "Example Project 1" and description "test": @@ -105,7 +105,7 @@ To create a new "Vector" project with name "Example Project 1" and description Uploading images to project -========= +=========================== To upload all images with extensions "jpg" or "png" from the @@ -118,7 +118,7 @@ To upload all images with extensions "jpg" or "png" from the See the full argument options for :py:func:`upload_images_from_folder_to_project` :ref:`here `. -For full list of available functions on projects, see :ref:`ref_projects`. +:ref:`For full list of available functions on projects, see `. .. note:: @@ -131,7 +131,7 @@ For full list of available functions on projects, see :ref:`ref_projects`. Working with images -========= +=================== To download the image one can use: @@ -158,7 +158,7 @@ Upload back to the platform with: Working with team contributors -========= +============================== A team contributor can be invited to the team with: diff --git a/docs/source/userguide/setup_project.rst b/docs/source/userguide/setup_project.rst index 1ebeddc9b..9c95d8127 100644 --- a/docs/source/userguide/setup_project.rst +++ b/docs/source/userguide/setup_project.rst @@ -1,10 +1,10 @@ -========== +============= Setup Project -========== +============= Creating a project ------------------ +------------------ To create a new "Vector" project with name "Example Project 1" and description "test": @@ -17,7 +17,7 @@ To create a new "Vector" project with name "Example Project 1" and description Uploading images to project ------------------ +--------------------------- To upload all images with extensions "jpg" or "png" from the @@ -63,7 +63,7 @@ point to that folder with slash after the project name, e.g., sa.upload_images_from_folder_to_project(project + "/folder1", "") Working with annotation classes -_______________________________________________ +_______________________________ An annotation class for a project can be created with SDK's: @@ -94,39 +94,46 @@ The :file:`classes.json` file will be downloaded to :file:`"`_ from project @@ -129,7 +129,7 @@ attribute groups can be grouped under :code:`instanceId` field. Working with DICOM files -============ +------------------------ JPEG images with names :file:`_.jpg` will be created in :file:``. Those JPEG images can be uploaded to @@ -151,7 +151,7 @@ Grassroots DICOM library ` sudo apt install python3-gdcm Computing consensus scores for instances between several projects -============ +----------------------------------------------------------------- Consensus is a tool to compare the quallity of the annotations of the same image that is present in several projects. diff --git a/pytest.ini b/pytest.ini index 6c9d4e852..f9fc87be0 100644 --- a/pytest.ini +++ b/pytest.ini @@ -3,5 +3,5 @@ minversion = 3.7 log_cli=true python_files = test_*.py pytest_plugins = ['pytest_profiling'] -;addopts = -n auto --dist=loadscope +addopts = -n auto --dist=loadscope diff --git a/src/superannotate/lib/app/interface/sdk_interface.py b/src/superannotate/lib/app/interface/sdk_interface.py index 8afdc493e..a08a80768 100644 --- a/src/superannotate/lib/app/interface/sdk_interface.py +++ b/src/superannotate/lib/app/interface/sdk_interface.py @@ -1303,9 +1303,10 @@ def create_annotation_class( :type color: str :param attribute_groups: list of attribute group dicts. - The values for the "group_type" key are "radio"|"checklist"|"text"|"numeric". - Mandatory keys for each attribute group are - - "name" + The values for the "group_type" key are "radio"|"checklist"|"text"|"numeric". + Mandatory keys for each attribute group are + + - "name" :type attribute_groups: list of dicts :param class_type: class type. Should be either "object" or "tag" @@ -1316,11 +1317,12 @@ def create_annotation_class( Request Example: :: + attributes_list = [ - { - "group_type": "radio", - "name": "Vehicle", - "attributes": [ + { + "group_type": "radio", + "name": "Vehicle", + "attributes": [ { "name": "Car" }, @@ -1599,7 +1601,7 @@ def upload_annotations( :type annotations: list of dicts :param keep_status: If False, the annotation status will be automatically - updated to "InProgress," otherwise the current status will be kept. + updated to "InProgress," otherwise the current status will be kept. :type keep_status: bool @@ -1608,6 +1610,7 @@ def upload_annotations( Response Example: :: + { "succeeded": [], "failed":[], @@ -2319,6 +2322,7 @@ def get_item_metadata( Request Example: :: + client.get_item_metadata( project="Medical Annotations", item_name = "image_1.png", @@ -2327,6 +2331,7 @@ def get_item_metadata( Response Example: :: + { "name": "image_1.jpeg", "path": "Medical Annotations/Study", @@ -2370,35 +2375,35 @@ def search_items( ): """Search items by filtering criteria. - :param project: project name or folder path (e.g., “project1/folder1”). - If recursive=False=True, then only the project name is required. + If recursive=False=True, then only the project name is required. :type project: str :param name_contains: Returns those items, where the given string is found anywhere within an item’s name. - If None, all items returned, in accordance with the recursive=False parameter. + If None, all items returned, in accordance with the recursive=False parameter. :type name_contains: str :param annotation_status: if not None, filters items by annotation status. - Values are: - ♦ “NotStarted” \n - ♦ “InProgress” \n - ♦ “QualityCheck” \n - ♦ “Returned” \n - ♦ “Completed” \n - ♦ “Skip” \n + Values are: + + ♦ “NotStarted” \n + ♦ “InProgress” \n + ♦ “QualityCheck” \n + ♦ “Returned” \n + ♦ “Completed” \n + ♦ “Skip” \n :type annotation_status: str :param annotator_email: returns those items’ names that are assigned to the specified annotator. - If None, all items are returned. Strict equal. + If None, all items are returned. Strict equal. :type annotator_email: str :param qa_email: returns those items’ names that are assigned to the specified QA. - If None, all items are returned. Strict equal. + If None, all items are returned. Strict equal. :type qa_email: str :param recursive: search in the project’s root and all of its folders. - If False search only in the project’s root or given directory. + If False search only in the project’s root or given directory. :type recursive: bool :param include_custom_metadata: include custom metadata that has been attached to an asset. @@ -2409,6 +2414,7 @@ def search_items( Request Example: :: + client.search_items( project="Medical Annotations", name_contains="image_1", @@ -2417,6 +2423,7 @@ def search_items( Response Example: :: + [ { "name": "image_1.jpeg", @@ -2750,6 +2757,7 @@ def create_custom_fields(self, project: NotEmptyStr, fields: dict): enum list of strings ============== ====================== + :: custom_fields = { @@ -2806,6 +2814,7 @@ def get_custom_fields(self, project: NotEmptyStr): Response Example: :: + { "study_date": { "type": "string", @@ -2856,6 +2865,7 @@ def delete_custom_fields( Request Example: :: + client = SAClient() client.delete_custom_fields( project = "Medical Annotations", @@ -2864,6 +2874,7 @@ def delete_custom_fields( Response Example: :: + { "study_date": { "type": "string", @@ -2915,6 +2926,7 @@ def upload_custom_values( Request Example: :: + client = SAClient() items_values = [ @@ -2948,8 +2960,10 @@ def upload_custom_values( project = "Medical Annotations", items = items_values ) + Response Example: :: + { "successful_items_count": 2, "failed_items_names": ["image_3.png"] @@ -2975,15 +2989,16 @@ def delete_custom_values( :type project: str :param items: list of name-custom data dicts. - The key of each dict element indicates an existing item in the project root or folder. - The value should be the list of fields to be removed from the given item. - Please note, that the function removes pointed metadata from a given item. - To delete metadata for all items you should delete it from the custom metadata schema. - To override values for existing fields, use SAClient.upload_custom_values() + The key of each dict element indicates an existing item in the project root or folder. + The value should be the list of fields to be removed from the given item. + Please note, that the function removes pointed metadata from a given item. + To delete metadata for all items you should delete it from the custom metadata schema. + To override values for existing fields, use SAClient.upload_custom_values() :type items: list of dicts Request Example: :: + client.delete_custom_values( project = "Medical Annotations", items = [ @@ -3023,6 +3038,7 @@ def add_items_to_subset( Request Example: :: + client = SAClient() # option 1 @@ -3057,6 +3073,7 @@ def add_items_to_subset( Response Example: :: + { "succeeded": [ { diff --git a/src/superannotate/lib/app/server/core.py b/src/superannotate/lib/app/server/core.py index 8d79b5623..d1f64d50d 100644 --- a/src/superannotate/lib/app/server/core.py +++ b/src/superannotate/lib/app/server/core.py @@ -62,7 +62,7 @@ def index(): :type rule: str. :param methods: Allowed HTTP methods. - :type rule: list of str + :type methods: list of str :param options: Extra options passed to the :class:`~werkzeug.routing.Rule` object. diff --git a/tests/integration/annotations/test_get_annotations.py b/tests/integration/annotations/test_get_annotations.py index fb60f5d3e..450cacdec 100644 --- a/tests/integration/annotations/test_get_annotations.py +++ b/tests/integration/annotations/test_get_annotations.py @@ -143,7 +143,6 @@ class TestGetAnnotationsVideo(BaseTestCase): PROJECT_NAME = "test attach multiple video urls" PATH_TO_URLS = "data_set/video_urls.csv" PATH_TO_URLS_WITHOUT_NAMES = "data_set/attach_urls_with_no_name.csv" - PATH_TO_50K_URLS = "data_set/501_urls.csv" PROJECT_DESCRIPTION = "desc" ANNOTATIONS_PATH = "data_set/video_annotations" VIDEO_NAME = "video.mp4" diff --git a/tests/integration/annotations/video/test_get_annotations_per_frame.py b/tests/integration/annotations/video/test_get_annotations_per_frame.py index 39e7b3891..3e74e2d51 100644 --- a/tests/integration/annotations/video/test_get_annotations_per_frame.py +++ b/tests/integration/annotations/video/test_get_annotations_per_frame.py @@ -13,7 +13,6 @@ class TestGetAnnotations(BaseTestCase): PROJECT_NAME = "test attach video urls" PATH_TO_URLS = "attach_video_for_annotation.csv" PATH_TO_URLS_WITHOUT_NAMES = "attach_urls_with_no_name.csv" - PATH_TO_50K_URLS = "501_urls.csv" PROJECT_DESCRIPTION = "desc" ANNOTATIONS_PATH = "video_convertor_annotations" VIDEO_NAME = "video.mp4"