Intro to Python SDK
Let's try Supervisely SDK for Python and create your first python script for Supervisely automation.
Last updated
pip install superviselyimport json
import supervisely as sly
api = sly.Api(server_address="https://app.supervise.ly", token="4r47N...xaTatb")
my_teams = api.team.get_list()
print(f"I'm a member of {len(my_teams)} teams")
# get first team and workspace
team = my_teams[0]
workspace = api.workspace.get_list(team.id)[0]project = api.project.create(workspace.id, "animals", change_name_if_conflict=True)
dataset = api.dataset.create(project.id, "cats", change_name_if_conflict=True)
print(f"Project {project.id} with dataset {dataset.id} are created")
cat_class = sly.ObjClass("cat", sly.Rectangle, color=[0, 255, 0])
scene_tag = sly.TagMeta("scene", sly.TagValueType.ANY_STRING)
project_meta = sly.ProjectMeta(obj_classes=[cat_class], tag_metas=[scene_tag])
api.project.update_meta(project.id, project_meta.to_json())image_info = api.image.upload_path(dataset.id, name="my-cats.jpg", path="images/my-cats.jpg")cat1 = sly.Label(sly.Rectangle(top=875, left=127, bottom=1410, right=581), cat_class)
cat2 = sly.Label(sly.Rectangle(top=549, left=266, bottom=1500, right=1199), cat_class)
tag = sly.Tag(scene_tag, value="indoor")
ann = sly.Annotation(img_size=[1600, 1200], labels=[cat1, cat2], img_tags=[tag])
api.annotation.upload_ann(image_info.id, ann)img = api.image.download_np(image_info.id) # RGB ndarray
print("image shape (height, width, channels)", img.shape)
ann_json = api.annotation.download_json(image_info.id)
print("annotaiton:\n", json.dumps(ann_json, indent=4))