Source code for supervisely.api.project_class_api
# coding: utf-8
"""list available classes in supervisely project"""
# docs
from typing import Optional, List, Dict
from supervisely.api.module_api import ModuleApi
from supervisely.api.module_api import ApiField
[docs]class ProjectClassApi(ModuleApi):
"""
API for working with classes in Project. :class:`ProjectClassApi<ProjectClassApi>` object is immutable.
:param api: API connection to the server
:type api: Api
"""
@staticmethod
def info_sequence():
return [ApiField.ID,
#ApiField.PROJECT_ID,
ApiField.NAME,
ApiField.DESCRIPTION,
ApiField.SHAPE,
ApiField.COLOR,
ApiField.CREATED_AT,
ApiField.UPDATED_AT
]
[docs] @staticmethod
def info_tuple_name():
"""
NamedTuple name - **ProjectClassInfo**.
"""
return 'ProjectClassInfo'
[docs] def get_list(self, project_id: int, filters: Optional[List[Dict[str, str]]] = None) -> list:
"""
List of Classes in the given Project.
:param project_id: Project ID in Supervisely.
:type project_id: int
:param filters:
:type filters: list
:return: List of classes.
:rtype: :class:`list`
"""
return self.get_list_all_pages('advanced.object_classes.list', {ApiField.PROJECT_ID: project_id, "filter": filters or []})