Team API

class supervisely_lib.api.team_api.ActivityAction[source]

Bases: object

List of Team Actions to sort Team Activity.

LOGIN = 'login'
LOGOUT = 'logout'
CREATE_PROJECT = 'create_project'
UPDATE_PROJECT = 'update_project'
DISABLE_PROJECT = 'disable_project'
RESTORE_PROJECT = 'restore_project'
CREATE_DATASET = 'create_dataset'
UPDATE_DATASET = 'update_dataset'
DISABLE_DATASET = 'disable_dataset'
RESTORE_DATASET = 'restore_dataset'
CREATE_IMAGE = 'create_image'
UPDATE_IMAGE = 'update_image'
DISABLE_IMAGE = 'disable_image'
RESTORE_IMAGE = 'restore_image'
CREATE_FIGURE = 'create_figure'
UPDATE_FIGURE = 'update_figure'
DISABLE_FIGURE = 'disable_figure'
RESTORE_FIGURE = 'restore_figure'
CREATE_CLASS = 'create_class'
UPDATE_CLASS = 'update_class'
DISABLE_CLASS = 'disable_class'
RESTORE_CLASS = 'restore_class'
CREATE_BACKUP = 'create_backup'
EXPORT_PROJECT = 'export_project'
MODEL_TRAIN = 'model_train'
MODEL_INFERENCE = 'model_inference'
CREATE_PLUGIN = 'create_plugin'
DISABLE_PLUGIN = 'disable_plugin'
RESTORE_PLUGIN = 'restore_plugin'
CREATE_NODE = 'create_node'
DISABLE_NODE = 'disable_node'
RESTORE_NODE = 'restore_node'
CREATE_WORKSPACE = 'create_workspace'
DISABLE_WORKSPACE = 'disable_workspace'
RESTORE_WORKSPACE = 'restore_workspace'
CREATE_MODEL = 'create_model'
DISABLE_MODEL = 'disable_model'
RESTORE_MODEL = 'restore_model'
ADD_MEMBER = 'add_member'
REMOVE_MEMBER = 'remove_member'
LOGIN_TO_TEAM = 'login_to_team'
ATTACH_TAG = 'attach_tag'
UPDATE_TAG_VALUE = 'update_tag_value'
DETACH_TAG = 'detach_tag'
ANNOTATION_DURATION = 'annotation_duration'
IMAGE_REVIEW_STATUS_UPDATED = 'image_review_status_updated'
class supervisely_lib.api.team_api.TeamApi(api)[source]

Bases: supervisely_lib.api.module_api.ModuleNoParent, supervisely_lib.api.module_api.UpdateableModule

API for working with Team. TeamApi object is immutable.

Parameters

api (Api) – API connection to the server

Usage example
# You can connect to API directly
address = 'https://app.supervise.ly/'
token = 'Your Supervisely API Token'
api = sly.Api(address, token)

# Or you can use API from environment
os.environ['SERVER_ADDRESS'] = 'https://app.supervise.ly'
os.environ['API_TOKEN'] = 'Your Supervisely API Token'
api = sly.Api.from_env()

team_info = api.worksapce.get_info_by_id(team_id) # api usage example
static info_sequence()[source]

NamedTuple TeamInfo containing information about Team.

Example
TeamInfo(id=1,
         name='Vehicle',
         description='',
         role='admin',
         created_at='2020-03-31T14:49:08.931Z',
         updated_at='2020-03-31T14:49:08.931Z')
static info_tuple_name()[source]

NamedTuple name - TeamInfo.

get_list(filters: Optional[List[dict]] = None) → List[NamedTuple][source]

List of all Teams.

Parameters

filters (list, optional) – List of params to sort output Teams.

Returns

List of all Teams with information. See info_sequence

Return type

List[NamedTuple]

Usage example
team_id = 8

os.environ['SERVER_ADDRESS'] = 'https://app.supervise.ly'
os.environ['API_TOKEN'] = 'Your Supervisely API Token'
api = sly.Api.from_env()

team_list = api.team.get_list(team_id)
print(team_list)
# Output: [TeamInfo(id=1,
#                   name='Vehicle',
#                   description='',
#                   role='admin',
#                   created_at='2020-03-31T14:49:08.931Z',
#                   updated_at='2020-03-31T14:49:08.931Z'),
# TeamInfo(id=2,
#          name='Road',
#          description='',
#          role='admin',
#          created_at='2020-03-31T08:52:11.000Z',
#          updated_at='2020-03-31T08:52:11.000Z'),
# TeamInfo(id=3,
#          name='Animal',
#          description='',
#          role='admin',
#          created_at='2020-04-02T08:59:03.717Z',
#          updated_at='2020-04-02T08:59:03.717Z')
# ]

# Filtered Team list
team_list = api.team.get_list(team_id, filters=[{ 'field': 'name', 'operator': '=', 'value': 'Animal' }])
print(team_list)
# Output: [TeamInfo(id=3,
#                  name='Animal',
#                  description='',
#                  role='admin',
#                  created_at='2020-04-02T08:59:03.717Z',
#                  updated_at='2020-04-02T08:59:03.717Z')
# ]
get_info_by_id(id: int) → NamedTuple[source]

Get Team information by ID.

Parameters

id (int) – Team ID in Supervisely.

Returns

Information about Team. See info_sequence

Return type

NamedTuple

Usage example
os.environ['SERVER_ADDRESS'] = 'https://app.supervise.ly'
os.environ['API_TOKEN'] = 'Your Supervisely API Token'
api = sly.Api.from_env()

team_info = api.team.get_info_by_id(8)
print(team_info)
# Output: TeamInfo(id=8,
#          name='Fruits',
#          description='',
#          role='admin',
#          created_at='2020-04-15T10:50:41.926Z',
#          updated_at='2020-04-15T10:50:41.926Z')

# You can also get Team info by name
team_info = api.team.get_info_by_name("Fruits")
print(team_info)
# Output: TeamInfo(id=8,
#          name='Fruits',
#          description='',
#          role='admin',
#          created_at='2020-04-15T10:50:41.926Z',
#          updated_at='2020-04-15T10:50:41.926Z')
create(name: str, description: str = '', change_name_if_conflict: bool = False) → NamedTuple[source]

Creates Team with given name.

Parameters
  • name (str) – Team name.

  • description (str) – Team description.

  • change_name_if_conflict (bool, optional) – Checks if given name already exists and adds suffix to the end of the name.

Returns

Information about Team. See info_sequence

Return type

NamedTuple

Usage example
os.environ['SERVER_ADDRESS'] = 'https://app.supervise.ly'
os.environ['API_TOKEN'] = 'Your Supervisely API Token'
api = sly.Api.from_env()

new_team = api.team.create("Flowers")
print(new_team)
# Output: TeamInfo(id=228,
#                  name='Flowers',
#                  description='',
#                  role='admin',
#                  created_at='2021-03-11T11:18:46.576Z',
#                  updated_at='2021-03-11T11:18:46.576Z')
get_activity(team_id: int, filter_user_id=None, filter_project_id=None, filter_job_id=None, filter_actions: Optional[list] = None) → List[dict][source]

Get Team activity by ID.

Parameters
  • team_id (int) – Team ID in Supervisely.

  • filter_user_id (int, optional) – User ID by which the activity will be filtered.

  • filter_project_id (int, optional) – Project ID by which the activity will be filtered.

  • filter_job_id (int, optional) – Job ID by which the activity will be filtered.

  • filter_actions (list, optional) – List of ActivityAction by which the activity will be filtered.

Returns

Team activity

Return type

List[dict]

Usage example
from supervisely_lib.api.team_api import ActivityAction as aa

os.environ['SERVER_ADDRESS'] = 'https://app.supervise.ly'
os.environ['API_TOKEN'] = 'Your Supervisely API Token'
api = sly.Api.from_env()

labeling_actions = [
    aa.ATTACH_TAG,
    aa.UPDATE_TAG_VALUE,
    aa.DETACH_TAG,
]

team_activity = api.team.get_activity(8, filter_actions=labeling_actions)
print(team_activity)
# Output: [
#     {
#         "userId":7,
#         "action":"detach_tag",
#         "date":"2021-01-15T15:11:55.985Z",
#         "user":"cxnt",
#         "projectId":1817,
#         "project":"App_Test_Poly",
#         "datasetId":2370,
#         "dataset":"train",
#         "imageId":726985,
#         "image":"IMG_8144.jpeg",
#         "classId":"None",
#         "class":"None",
#         "figureId":"None",
#         "job":"None",
#         "jobId":"None",
#         "tag":"hhhlk",
#         "tagId":4720,
#         "meta":{}
#     },
#     {
#         "userId":7,
#         "action":"attach_tag",
#         "date":"2021-01-15T14:24:58.480Z",
#         "user":"cxnt",
#         "projectId":1817,
#         "project":"App_Test_Poly",
#         "datasetId":2370,
#         "dataset":"train",
#         "imageId":726985,
#         "image":"IMG_8144.jpeg",
#         "classId":"None",
#         "class":"None",
#         "figureId":"None",
#         "job":"None",
#         "jobId":"None",
#         "tag":"hhhlk",
#         "tagId":4720,
#         "meta":{}
#     }
# ]
InfoType

alias of supervisely_lib.api.module_api.TeamInfo