TeamApi

class TeamApi[source]

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

API for working with Team. TeamApi object is immutable.

Parameters
api : Api

API connection to the server

Usage example
import os
from dotenv import load_dotenv

import supervisely as sly

# Load secrets and create API object from .env file (recommended)
# Learn more here: https://developer.supervisely.com/getting-started/basics-of-authentication
if sly.is_development():
    load_dotenv(os.path.expanduser("~/supervisely.env"))
api = sly.Api.from_env()

# Pass values into the API constructor (optional, not recommended)
# api = sly.Api(server_address="https://app.supervise.ly", token="4r47N...xaTatb")

team_info = api.team.get_info_by_id(team_id) # api usage example

Methods

create

Creates Team with given name.

exists

get_activity

Get Team activity by ID.

get_free_name

get_info_by_id

Get Team information by ID.

get_info_by_name

get_list

List of all Teams.

get_list_all_pages

Get list of all or limited quantity entities from the Supervisely server.

get_list_all_pages_generator

This generator function retrieves a list of all or a limited quantity of entities from the Supervisely server, yielding batches of entities as they are retrieved

info_sequence

NamedTuple TeamInfo containing information about Team.

info_tuple_name

NamedTuple name - TeamInfo.

update

Attributes

MAX_WAIT_ATTEMPTS

Maximum number of attempts that will be made to wait for a certain condition to be met.

WAIT_ATTEMPT_TIMEOUT_SEC

Number of seconds for intervals between attempts.

InfoType

alias of supervisely.api.module_api.TeamInfo

create(name, description='', change_name_if_conflict=False)[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

TeamInfo

Usage example
import supervisely as sly

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',
#                  UsageInfo(plan='free')               )
exists(name)
get_activity(team_id, filter_user_id=None, filter_project_id=None, filter_job_id=None, filter_actions=None, progress_cb=None, start_date=None, end_date=None)[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.

progress_cb : tqdm or callable, optional

Function to check progress.

start_date : str, optional

Start date to get Team activity.

end_date : str, optional

End date to get Team activity.

Returns

Team activity

Return type

List[dict]

Usage example
import supervisely as sly
from supervisely.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":{}
#     }
# ]
get_free_name(name)
get_info_by_id(id, raise_error=False)[source]

Get Team information by ID.

Parameters
id : int

Team ID in Supervisely.

Returns

Information about Team. See info_sequence

Return type

TeamInfo

Usage example
import supervisely as sly

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',
#          UsageInfo(plan='free')               )

# 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',
#          UsageInfo(plan='free')               )
get_info_by_name(name)
get_list(filters=None)[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[TeamInfo]

Usage example
import supervisely as sly

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',
#                   UsageInfo(plan='free')               ),
# TeamInfo(id=2,
#          name='Road',
#          description='',
#          role='admin',
#          created_at='2020-03-31T08:52:11.000Z',
#          updated_at='2020-03-31T08:52:11.000Z',
#          UsageInfo(plan='free')               ),
# TeamInfo(id=3,
#          name='Animal',
#          description='',
#          role='admin',
#          created_at='2020-04-02T08:59:03.717Z',
#          updated_at='2020-04-02T08:59:03.717Z',
#          UsageInfo(plan='free')               )
# ]

# 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',
#                  UsageInfo(plan='free')               )
# ]
get_list_all_pages(method, data, progress_cb=None, convert_json_info_cb=None, limit=None, return_first_response=False)

Get list of all or limited quantity entities from the Supervisely server.

Parameters
method : str

Request method name

data : dict

Dictionary with request body info

progress_cb : Progress, optional

Function for tracking download progress.

convert_json_info_cb : Callable, optional

Function for convert json info

limit : int, optional

Number of entity to retrieve

return_first_response : bool, optional

Specify if return first response

get_list_all_pages_generator(method, data, progress_cb=None, convert_json_info_cb=None, limit=None, return_first_response=False)

This generator function retrieves a list of all or a limited quantity of entities from the Supervisely server, yielding batches of entities as they are retrieved

Parameters
method : str

Request method name

data : dict

Dictionary with request body info

progress_cb : Progress, optional

Function for tracking download progress.

convert_json_info_cb : Callable, optional

Function for convert json info

limit : int, optional

Number of entity to retrieve

return_first_response : bool, optional

Specify if return first response

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',
         UsageInfo(plan='free')               )
static info_tuple_name()[source]

NamedTuple name - TeamInfo.

update(id, name=None, description=None)