supervisely 6.73.366__py3-none-any.whl → 6.73.368__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- supervisely/annotation/annotation.py +21 -21
- supervisely/annotation/label.py +4 -4
- supervisely/annotation/obj_class.py +9 -5
- supervisely/annotation/obj_class_collection.py +2 -2
- supervisely/annotation/tag.py +2 -2
- supervisely/annotation/tag_collection.py +3 -3
- supervisely/annotation/tag_meta.py +2 -2
- supervisely/annotation/tag_meta_collection.py +2 -2
- supervisely/api/agent_api.py +1 -1
- supervisely/api/annotation_api.py +1 -1
- supervisely/api/dataset_api.py +4 -4
- supervisely/api/entities_collection_api.py +1 -1
- supervisely/api/file_api.py +10 -10
- supervisely/api/image_api.py +9 -9
- supervisely/api/labeling_job_api.py +1 -1
- supervisely/api/labeling_queue_api.py +1 -1
- supervisely/api/module_api.py +6 -6
- supervisely/api/object_class_api.py +1 -1
- supervisely/api/plugin_api.py +1 -1
- supervisely/api/pointcloud/pointcloud_annotation_api.py +1 -1
- supervisely/api/pointcloud/pointcloud_api.py +1 -1
- supervisely/api/pointcloud/pointcloud_episode_annotation_api.py +1 -1
- supervisely/api/pointcloud/pointcloud_episode_api.py +1 -1
- supervisely/api/project_api.py +4 -4
- supervisely/api/remote_storage_api.py +6 -6
- supervisely/api/role_api.py +1 -1
- supervisely/api/storage_api.py +3 -3
- supervisely/api/task_api.py +1 -1
- supervisely/api/team_api.py +1 -1
- supervisely/api/user_api.py +1 -1
- supervisely/api/video/video_annotation_api.py +1 -1
- supervisely/api/video/video_api.py +4 -4
- supervisely/api/volume/volume_annotation_api.py +1 -1
- supervisely/api/volume/volume_api.py +1 -1
- supervisely/api/workspace_api.py +1 -2
- supervisely/app/development/sly-net.sh +2 -2
- supervisely/app/fastapi/index.html +3 -3
- supervisely/app/fastapi/subapp.py +1 -1
- supervisely/aug/aug.py +10 -10
- supervisely/cli/__init__.py +15 -10
- supervisely/geometry/alpha_mask.py +2 -2
- supervisely/geometry/bitmap.py +8 -6
- supervisely/geometry/bitmap_base.py +63 -24
- supervisely/geometry/cuboid.py +97 -50
- supervisely/geometry/cuboid_2d.py +2 -2
- supervisely/geometry/graph.py +4 -4
- supervisely/geometry/mask_3d.py +1 -1
- supervisely/geometry/point.py +63 -24
- supervisely/geometry/point_location.py +2 -2
- supervisely/geometry/polygon.py +2 -2
- supervisely/geometry/polyline.py +32 -40
- supervisely/geometry/rectangle.py +2 -2
- supervisely/geometry/vector_geometry.py +27 -39
- supervisely/io/env.py +3 -2
- supervisely/labeling_jobs/utils.py +5 -5
- supervisely/nn/model/prediction_session.py +50 -19
- supervisely/pointcloud/pointcloud.py +2 -2
- supervisely/pointcloud_annotation/pointcloud_annotation.py +19 -17
- supervisely/pointcloud_annotation/pointcloud_episode_annotation.py +23 -20
- supervisely/pointcloud_annotation/pointcloud_episode_frame.py +18 -12
- supervisely/pointcloud_annotation/pointcloud_episode_frame_collection.py +9 -6
- supervisely/pointcloud_annotation/pointcloud_episode_object_collection.py +7 -3
- supervisely/pointcloud_annotation/pointcloud_episode_tag.py +1 -1
- supervisely/pointcloud_annotation/pointcloud_episode_tag_collection.py +2 -2
- supervisely/pointcloud_annotation/pointcloud_figure.py +1 -1
- supervisely/pointcloud_annotation/pointcloud_object_collection.py +11 -10
- supervisely/pointcloud_annotation/pointcloud_tag.py +5 -4
- supervisely/pointcloud_annotation/pointcloud_tag_collection.py +7 -6
- supervisely/pointcloud_episodes/pointcloud_episodes.py +2 -2
- supervisely/project/download.py +1 -1
- supervisely/project/pointcloud_episode_project.py +1 -2
- supervisely/project/pointcloud_project.py +1 -1
- supervisely/project/project.py +8 -7
- supervisely/project/project_meta.py +2 -2
- supervisely/project/readme_template.md +1 -1
- supervisely/project/upload.py +1 -1
- supervisely/project/video_project.py +1 -1
- supervisely/project/volume_project.py +1 -1
- supervisely/task/progress.py +1 -1
- supervisely/video_annotation/frame.py +2 -2
- supervisely/video_annotation/frame_collection.py +3 -3
- supervisely/video_annotation/video_annotation.py +7 -5
- supervisely/video_annotation/video_figure.py +2 -2
- supervisely/video_annotation/video_object.py +47 -28
- supervisely/video_annotation/video_object_collection.py +15 -8
- supervisely/video_annotation/video_tag.py +2 -2
- supervisely/video_annotation/video_tag_collection.py +5 -5
- supervisely/volume_annotation/volume_figure.py +2 -2
- supervisely/volume_annotation/volume_tag.py +6 -5
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/METADATA +2 -2
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/RECORD +95 -95
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/LICENSE +0 -0
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/WHEEL +0 -0
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.366.dist-info → supervisely-6.73.368.dist-info}/top_level.txt +0 -0
supervisely/api/module_api.py
CHANGED
|
@@ -1081,7 +1081,7 @@ class ModuleApi(ModuleApiBase):
|
|
|
1081
1081
|
import supervisely as sly
|
|
1082
1082
|
|
|
1083
1083
|
# You can connect to API directly
|
|
1084
|
-
address = 'https://app.
|
|
1084
|
+
address = 'https://app.supervisely.com/'
|
|
1085
1085
|
token = 'Your Supervisely API Token'
|
|
1086
1086
|
api = sly.Api(address, token)
|
|
1087
1087
|
|
|
@@ -1131,7 +1131,7 @@ class ModuleApi(ModuleApiBase):
|
|
|
1131
1131
|
import supervisely as sly
|
|
1132
1132
|
|
|
1133
1133
|
# You can connect to API directly
|
|
1134
|
-
address = 'https://app.
|
|
1134
|
+
address = 'https://app.supervisely.com/'
|
|
1135
1135
|
token = 'Your Supervisely API Token'
|
|
1136
1136
|
api = sly.Api(address, token)
|
|
1137
1137
|
|
|
@@ -1170,7 +1170,7 @@ class ModuleApi(ModuleApiBase):
|
|
|
1170
1170
|
import supervisely as sly
|
|
1171
1171
|
|
|
1172
1172
|
# You can connect to API directly
|
|
1173
|
-
address = 'https://app.
|
|
1173
|
+
address = 'https://app.supervisely.com/'
|
|
1174
1174
|
token = 'Your Supervisely API Token'
|
|
1175
1175
|
api = sly.Api(address, token)
|
|
1176
1176
|
|
|
@@ -1206,7 +1206,7 @@ class ModuleApi(ModuleApiBase):
|
|
|
1206
1206
|
import supervisely as sly
|
|
1207
1207
|
|
|
1208
1208
|
# You can connect to API directly
|
|
1209
|
-
address = 'https://app.
|
|
1209
|
+
address = 'https://app.supervisely.com/'
|
|
1210
1210
|
token = 'Your Supervisely API Token'
|
|
1211
1211
|
api = sly.Api(address, token)
|
|
1212
1212
|
|
|
@@ -1491,7 +1491,7 @@ class RemoveableBulkModuleApi(ModuleApi):
|
|
|
1491
1491
|
import supervisely as sly
|
|
1492
1492
|
|
|
1493
1493
|
# You can connect to API directly
|
|
1494
|
-
address = 'https://app.
|
|
1494
|
+
address = 'https://app.supervisely.com/'
|
|
1495
1495
|
token = 'Your Supervisely API Token'
|
|
1496
1496
|
api = sly.Api(address, token)
|
|
1497
1497
|
|
|
@@ -1525,7 +1525,7 @@ class RemoveableBulkModuleApi(ModuleApi):
|
|
|
1525
1525
|
import supervisely as sly
|
|
1526
1526
|
|
|
1527
1527
|
# You can connect to API directly
|
|
1528
|
-
address = 'https://app.
|
|
1528
|
+
address = 'https://app.supervisely.com/'
|
|
1529
1529
|
token = 'Your Supervisely API Token'
|
|
1530
1530
|
api = sly.Api(address, token)
|
|
1531
1531
|
|
|
@@ -31,7 +31,7 @@ class ObjectClassApi(ModuleApi):
|
|
|
31
31
|
api = sly.Api.from_env()
|
|
32
32
|
|
|
33
33
|
# Pass values into the API constructor (optional, not recommended)
|
|
34
|
-
# api = sly.Api(server_address="https://app.
|
|
34
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
35
35
|
|
|
36
36
|
project_id = 1951
|
|
37
37
|
obj_class_infos = api.object_class.get_list(project_id)
|
supervisely/api/plugin_api.py
CHANGED
|
@@ -30,7 +30,7 @@ class PluginApi(ModuleApi):
|
|
|
30
30
|
api = sly.Api.from_env()
|
|
31
31
|
|
|
32
32
|
# Pass values into the API constructor (optional, not recommended)
|
|
33
|
-
# api = sly.Api(server_address="https://app.
|
|
33
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
34
34
|
|
|
35
35
|
team_id = 8
|
|
36
36
|
plugin_info = api.plugin.get_list(team_id)
|
|
@@ -38,7 +38,7 @@ class PointcloudAnnotationAPI(EntityAnnotationAPI):
|
|
|
38
38
|
api = sly.Api.from_env()
|
|
39
39
|
|
|
40
40
|
# Pass values into the API constructor (optional, not recommended)
|
|
41
|
-
# api = sly.Api(server_address="https://app.
|
|
41
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
42
42
|
|
|
43
43
|
pointcloud_id = 19618685
|
|
44
44
|
ann_info = api.pointcloud.annotation.download(src_pointcloud_id)
|
|
@@ -148,7 +148,7 @@ class PointcloudApi(RemoveableBulkModuleApi):
|
|
|
148
148
|
api = sly.Api.from_env()
|
|
149
149
|
|
|
150
150
|
# Pass values into the API constructor (optional, not recommended)
|
|
151
|
-
# api = sly.Api(server_address="https://app.
|
|
151
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
152
152
|
|
|
153
153
|
pcd_id = 19618654
|
|
154
154
|
pcd_info = api.pointcloud.get_info_by_id(pcd_id) # api usage example
|
|
@@ -31,7 +31,7 @@ class PointcloudEpisodeAnnotationAPI(EntityAnnotationAPI):
|
|
|
31
31
|
api = sly.Api.from_env()
|
|
32
32
|
|
|
33
33
|
# Pass values into the API constructor (optional, not recommended)
|
|
34
|
-
# api = sly.Api(server_address="https://app.
|
|
34
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
35
35
|
|
|
36
36
|
dataset_id = 62664
|
|
37
37
|
ann_info = api.pointcloud_episode.annotation.download(dataset_id)
|
|
@@ -39,7 +39,7 @@ class PointcloudEpisodeApi(PointcloudApi):
|
|
|
39
39
|
api = sly.Api.from_env()
|
|
40
40
|
|
|
41
41
|
# Pass values into the API constructor (optional, not recommended)
|
|
42
|
-
# api = sly.Api(server_address="https://app.
|
|
42
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
43
43
|
|
|
44
44
|
pcd_epsodes_id = 19373295
|
|
45
45
|
pcd_epsodes_info = api.pointcloud_episode.get_info_by_id(pcd_epsodes_id) # api usage example
|
supervisely/api/project_api.py
CHANGED
|
@@ -139,7 +139,7 @@ class ProjectApi(CloneableModuleApi, UpdateableModule, RemoveableModuleApi):
|
|
|
139
139
|
api = sly.Api.from_env()
|
|
140
140
|
|
|
141
141
|
# Pass values into the API constructor (optional, not recommended)
|
|
142
|
-
# api = sly.Api(server_address="https://app.
|
|
142
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
143
143
|
|
|
144
144
|
project_id = 1951
|
|
145
145
|
project_info = api.project.get_info_by_id(project_id)
|
|
@@ -166,7 +166,7 @@ class ProjectApi(CloneableModuleApi, UpdateableModule, RemoveableModuleApi):
|
|
|
166
166
|
created_at='2020-11-17T17:44:28.158Z',
|
|
167
167
|
updated_at='2021-03-01T10:51:57.545Z',
|
|
168
168
|
type='images',
|
|
169
|
-
reference_image_url='http://app.
|
|
169
|
+
reference_image_url='http://app.supervisely.com/h5un6l2bnaz1vj8a9qgms4-public/images/original/...jpg',
|
|
170
170
|
custom_data={},
|
|
171
171
|
backup_archive={},
|
|
172
172
|
team_id=2,
|
|
@@ -945,7 +945,7 @@ class ProjectApi(CloneableModuleApi, UpdateableModule, RemoveableModuleApi):
|
|
|
945
945
|
|
|
946
946
|
project_url = api.project.url(project_id)
|
|
947
947
|
print(project_url)
|
|
948
|
-
# Output: http://
|
|
948
|
+
# Output: http://supervisely.com/projects/1951/datasets
|
|
949
949
|
"""
|
|
950
950
|
res = f"projects/{id}/datasets"
|
|
951
951
|
if is_development():
|
|
@@ -1764,7 +1764,7 @@ class ProjectApi(CloneableModuleApi, UpdateableModule, RemoveableModuleApi):
|
|
|
1764
1764
|
api = sly.Api.from_env()
|
|
1765
1765
|
|
|
1766
1766
|
# Pass values into the API constructor (optional, not recommended)
|
|
1767
|
-
# api = sly.Api(server_address="https://app.
|
|
1767
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
1768
1768
|
|
|
1769
1769
|
response = check_imageset_backup(project_id)
|
|
1770
1770
|
archive_url = response['imagesArchiveUrl']
|
|
@@ -40,7 +40,7 @@ class Provider(StrEnum):
|
|
|
40
40
|
):
|
|
41
41
|
prefix = path.split("://")[0]
|
|
42
42
|
raise ValueError(
|
|
43
|
-
f"Incorrect cloud provider '{prefix}' in path, learn more here: https://docs.
|
|
43
|
+
f"Incorrect cloud provider '{prefix}' in path, learn more here: https://docs.supervisely.com/enterprise-edition/advanced-tuning/s3#links-plugin-cloud-providers-support"
|
|
44
44
|
)
|
|
45
45
|
|
|
46
46
|
|
|
@@ -297,7 +297,7 @@ class RemoteStorageApi(ModuleApiBase):
|
|
|
297
297
|
api = sly.Api.from_env()
|
|
298
298
|
|
|
299
299
|
# Pass values into the API constructor (optional, not recommended)
|
|
300
|
-
# api = sly.Api(server_address="https://app.
|
|
300
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
301
301
|
|
|
302
302
|
team_id = 123
|
|
303
303
|
available_providers = api.remote_storage.get_list_available_providers(team_id)
|
|
@@ -357,7 +357,7 @@ class RemoteStorageApi(ModuleApiBase):
|
|
|
357
357
|
api = sly.Api.from_env()
|
|
358
358
|
|
|
359
359
|
# Pass values into the API constructor (optional, not recommended)
|
|
360
|
-
# api = sly.Api(server_address="https://app.
|
|
360
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
361
361
|
|
|
362
362
|
team_id = 123
|
|
363
363
|
supported_providers = api.remote_storage.get_list_supported_providers(team_id)
|
|
@@ -416,7 +416,7 @@ class RemoteStorageApi(ModuleApiBase):
|
|
|
416
416
|
api = sly.Api.from_env()
|
|
417
417
|
|
|
418
418
|
# Pass values into the API constructor (optional, not recommended)
|
|
419
|
-
# api = sly.Api(server_address="https://app.
|
|
419
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
420
420
|
|
|
421
421
|
path = "s3://bucket/lemons/ds1/img/IMG_444.jpeg"
|
|
422
422
|
is_exist = api.remote_storage.is_path_exist(path)
|
|
@@ -432,7 +432,7 @@ class RemoteStorageApi(ModuleApiBase):
|
|
|
432
432
|
resp = self._api.get("remote-storage.exists", json_body)
|
|
433
433
|
if resp is None:
|
|
434
434
|
return False
|
|
435
|
-
|
|
435
|
+
|
|
436
436
|
resp = resp.json()
|
|
437
437
|
|
|
438
438
|
if resp.get("exists"):
|
|
@@ -470,7 +470,7 @@ class RemoteStorageApi(ModuleApiBase):
|
|
|
470
470
|
api = sly.Api.from_env()
|
|
471
471
|
|
|
472
472
|
# Pass values into the API constructor (optional, not recommended)
|
|
473
|
-
# api = sly.Api(server_address="https://app.
|
|
473
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
474
474
|
|
|
475
475
|
path = "s3://bucket/lemons/ds1/img/IMG_444.jpeg"
|
|
476
476
|
team_id = 123
|
supervisely/api/role_api.py
CHANGED
|
@@ -39,7 +39,7 @@ class RoleApi(ModuleApiBase):
|
|
|
39
39
|
api = sly.Api.from_env()
|
|
40
40
|
|
|
41
41
|
# Pass values into the API constructor (optional, not recommended)
|
|
42
|
-
# api = sly.Api(server_address="https://app.
|
|
42
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
43
43
|
|
|
44
44
|
roles = api.role.get_list() # api usage example
|
|
45
45
|
"""
|
supervisely/api/storage_api.py
CHANGED
|
@@ -38,7 +38,7 @@ class StorageApi(FileApi):
|
|
|
38
38
|
api = sly.Api.from_env()
|
|
39
39
|
|
|
40
40
|
# Pass values into the API constructor (optional, not recommended)
|
|
41
|
-
# api = sly.Api(server_address="https://app.
|
|
41
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
42
42
|
|
|
43
43
|
team_id = 8
|
|
44
44
|
file_path = "/999_App_Test/"
|
|
@@ -117,7 +117,7 @@ class StorageApi(FileApi):
|
|
|
117
117
|
api = sly.Api.from_env()
|
|
118
118
|
|
|
119
119
|
# Pass values into the API constructor (optional, not recommended)
|
|
120
|
-
# api = sly.Api(server_address="https://app.
|
|
120
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
121
121
|
|
|
122
122
|
team_id = 8
|
|
123
123
|
|
|
@@ -317,7 +317,7 @@ class StorageApi(FileApi):
|
|
|
317
317
|
# sizeb=261,
|
|
318
318
|
# created_at='2021-01-11T09:04:17.959Z',
|
|
319
319
|
# updated_at='2021-01-11T09:04:17.959Z',
|
|
320
|
-
# full_storage_url='http://
|
|
320
|
+
# full_storage_url='http://supervisely.com/h5un6l2bnaz1vj8a9qgms4-public/teams_storage/8/y/P/rn/...json')
|
|
321
321
|
"""
|
|
322
322
|
dir_path = os.path.dirname(remote_path.rstrip("/"))
|
|
323
323
|
path_infos = self.list(team_id, dir_path, recursive=False)
|
supervisely/api/task_api.py
CHANGED
|
@@ -59,7 +59,7 @@ class TaskApi(ModuleApiBase, ModuleWithStatus):
|
|
|
59
59
|
api = sly.Api.from_env()
|
|
60
60
|
|
|
61
61
|
# Pass values into the API constructor (optional, not recommended)
|
|
62
|
-
# api = sly.Api(server_address="https://app.
|
|
62
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
63
63
|
|
|
64
64
|
task_id = 121230
|
|
65
65
|
task_info = api.task.get_info_by_id(task_id)
|
supervisely/api/team_api.py
CHANGED
|
@@ -169,7 +169,7 @@ class TeamApi(ModuleNoParent, UpdateableModule):
|
|
|
169
169
|
api = sly.Api.from_env()
|
|
170
170
|
|
|
171
171
|
# Pass values into the API constructor (optional, not recommended)
|
|
172
|
-
# api = sly.Api(server_address="https://app.
|
|
172
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
173
173
|
|
|
174
174
|
team_info = api.team.get_info_by_id(team_id) # api usage example
|
|
175
175
|
"""
|
supervisely/api/user_api.py
CHANGED
|
@@ -53,7 +53,7 @@ class UserApi(ModuleApiBase):
|
|
|
53
53
|
api = sly.Api.from_env()
|
|
54
54
|
|
|
55
55
|
# Pass values into the API constructor (optional, not recommended)
|
|
56
|
-
# api = sly.Api(server_address="https://app.
|
|
56
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
57
57
|
|
|
58
58
|
users = api.user.get_list() # api usage example
|
|
59
59
|
"""
|
|
@@ -37,7 +37,7 @@ class VideoAnnotationAPI(EntityAnnotationAPI):
|
|
|
37
37
|
api = sly.Api.from_env()
|
|
38
38
|
|
|
39
39
|
# Pass values into the API constructor (optional, not recommended)
|
|
40
|
-
# api = sly.Api(server_address="https://app.
|
|
40
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
41
41
|
|
|
42
42
|
video_id = 186648102
|
|
43
43
|
ann_info = api.video.annotation.download(video_id)
|
|
@@ -44,8 +44,8 @@ from supervisely.io.fs import (
|
|
|
44
44
|
ensure_base_path,
|
|
45
45
|
get_file_ext,
|
|
46
46
|
get_file_hash,
|
|
47
|
-
get_file_hash_chunked,
|
|
48
47
|
get_file_hash_async,
|
|
48
|
+
get_file_hash_chunked,
|
|
49
49
|
get_file_name_with_ext,
|
|
50
50
|
get_file_size,
|
|
51
51
|
list_files,
|
|
@@ -246,7 +246,7 @@ class VideoApi(RemoveableBulkModuleApi):
|
|
|
246
246
|
api = sly.Api.from_env()
|
|
247
247
|
|
|
248
248
|
# Pass values into the API constructor (optional, not recommended)
|
|
249
|
-
# api = sly.Api(server_address="https://app.
|
|
249
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
250
250
|
|
|
251
251
|
video_id = 19371139
|
|
252
252
|
video_info = api.video.get_info_by_id(video_id) # api usage example
|
|
@@ -630,7 +630,7 @@ class VideoApi(RemoveableBulkModuleApi):
|
|
|
630
630
|
# 'streams': [],
|
|
631
631
|
# 'width': 1920
|
|
632
632
|
# },
|
|
633
|
-
# 'fullStorageUrl': 'https://app.
|
|
633
|
+
# 'fullStorageUrl': 'https://app.supervisely.com/h..i35vz.mp4',
|
|
634
634
|
# 'hash': '30/TQ1BcIOn1ykA2psRtr3lq3HF6NPmr4uQ=',
|
|
635
635
|
# 'id': 19371139,
|
|
636
636
|
# 'link': None,
|
|
@@ -1403,7 +1403,7 @@ class VideoApi(RemoveableBulkModuleApi):
|
|
|
1403
1403
|
:type hashes: List[str]
|
|
1404
1404
|
:return: List of existing hashes
|
|
1405
1405
|
:rtype: :class:`List[str]`
|
|
1406
|
-
:Usage example:
|
|
1406
|
+
:Usage example:
|
|
1407
1407
|
|
|
1408
1408
|
.. code-block:: python
|
|
1409
1409
|
|
|
@@ -59,7 +59,7 @@ class VolumeAnnotationAPI(EntityAnnotationAPI):
|
|
|
59
59
|
api = sly.Api.from_env()
|
|
60
60
|
|
|
61
61
|
# Pass values into the API constructor (optional, not recommended)
|
|
62
|
-
# api = sly.Api(server_address="https://app.
|
|
62
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
63
63
|
|
|
64
64
|
volume_id = 19581134
|
|
65
65
|
ann_info = api.volume.annotation.download(volume_id)
|
|
@@ -181,7 +181,7 @@ class VolumeApi(RemoveableBulkModuleApi):
|
|
|
181
181
|
api = sly.Api.from_env()
|
|
182
182
|
|
|
183
183
|
# Pass values into the API constructor (optional, not recommended)
|
|
184
|
-
# api = sly.Api(server_address="https://app.
|
|
184
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
185
185
|
|
|
186
186
|
volume_id = 19581134
|
|
187
187
|
volume_info = api.volume.get_info_by_id(volume_id) # api usage example
|
supervisely/api/workspace_api.py
CHANGED
|
@@ -41,7 +41,7 @@ class WorkspaceApi(ModuleApi, UpdateableModule):
|
|
|
41
41
|
api = sly.Api.from_env()
|
|
42
42
|
|
|
43
43
|
# Pass values into the API constructor (optional, not recommended)
|
|
44
|
-
# api = sly.Api(server_address="https://app.
|
|
44
|
+
# api = sly.Api(server_address="https://app.supervisely.com", token="4r47N...xaTatb")
|
|
45
45
|
|
|
46
46
|
workspace_info = api.workspace.get_info_by_id(workspace_id) # api usage example
|
|
47
47
|
"""
|
|
@@ -263,4 +263,3 @@ class WorkspaceApi(ModuleApi, UpdateableModule):
|
|
|
263
263
|
"workspaces.visibility.set",
|
|
264
264
|
{ApiField.ID: id, ApiField.HIDDEN: not visible},
|
|
265
265
|
)
|
|
266
|
-
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
# TODO: check that wireguard-tools is installed
|
|
4
4
|
|
|
5
|
-
# ./sly-net.sh up XXX https://app.
|
|
5
|
+
# ./sly-net.sh up XXX https://app.supervisely.com .
|
|
6
6
|
# ./sly-net.sh <up|down> <token> <server_address> <config and keys folder>
|
|
7
7
|
|
|
8
8
|
set -u
|
|
9
9
|
set -e
|
|
10
10
|
set -o pipefail
|
|
11
11
|
FOLDER="${4:-.}"
|
|
12
|
-
SLY_NET_SERVER="${3:-https://app.
|
|
12
|
+
SLY_NET_SERVER="${3:-https://app.supervisely.com}"
|
|
13
13
|
cd "$FOLDER"
|
|
14
14
|
cat <<EOT > wg0.conf
|
|
15
15
|
[Interface]
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<body style="background-color: #f4f7fe">
|
|
65
65
|
<center>
|
|
66
66
|
<div id="app-global-loading-icon">
|
|
67
|
-
<img src="https://app.
|
|
67
|
+
<img src="https://app.supervisely.com/loading.gif" />
|
|
68
68
|
</div>
|
|
69
69
|
</center>
|
|
70
70
|
{% if __webpy_script__ %}
|
|
@@ -223,7 +223,7 @@ if state.get("app_initializing", False) == True:
|
|
|
223
223
|
result = fn;
|
|
224
224
|
}
|
|
225
225
|
{% if events_subscribed %}
|
|
226
|
-
|
|
226
|
+
|
|
227
227
|
subToStoreAction();
|
|
228
228
|
|
|
229
229
|
{% endif %}
|
|
@@ -264,4 +264,4 @@ if state.get("app_initializing", False) == True:
|
|
|
264
264
|
{% endif %}
|
|
265
265
|
</body>
|
|
266
266
|
|
|
267
|
-
</html>
|
|
267
|
+
</html>
|
|
@@ -906,7 +906,7 @@ class Application(metaclass=Singleton):
|
|
|
906
906
|
] = None, # function to check if the app is ready for requests (e.g serving app: model is served and ready)
|
|
907
907
|
show_header: bool = True,
|
|
908
908
|
):
|
|
909
|
-
self._favicon = os.environ.get("icon", "https://cdn.
|
|
909
|
+
self._favicon = os.environ.get("icon", "https://cdn.supervisely.com/favicon.ico")
|
|
910
910
|
JinjaWidgets().context["__favicon__"] = self._favicon
|
|
911
911
|
JinjaWidgets().context["__no_html_mode__"] = True
|
|
912
912
|
JinjaWidgets().context["__show_header__"] = show_header
|
supervisely/aug/aug.py
CHANGED
|
@@ -51,7 +51,7 @@ def fliplr(img: np.ndarray, ann: Annotation) -> Tuple[np.ndarray, Annotation]:
|
|
|
51
51
|
import supervisely as sly
|
|
52
52
|
from supervisely.aug.aug import fliplr
|
|
53
53
|
|
|
54
|
-
address = 'https://app.
|
|
54
|
+
address = 'https://app.supervisely.com/'
|
|
55
55
|
token = 'Your Supervisely API Token'
|
|
56
56
|
api = sly.Api(address, token)
|
|
57
57
|
|
|
@@ -93,7 +93,7 @@ def flipud(img: np.ndarray, ann: Annotation) -> Tuple[np.ndarray, Annotation]:
|
|
|
93
93
|
import supervisely as sly
|
|
94
94
|
from supervisely.aug.aug import flipud
|
|
95
95
|
|
|
96
|
-
address = 'https://app.
|
|
96
|
+
address = 'https://app.supervisely.com/'
|
|
97
97
|
token = 'Your Supervisely API Token'
|
|
98
98
|
api = sly.Api(address, token)
|
|
99
99
|
|
|
@@ -151,7 +151,7 @@ def crop(
|
|
|
151
151
|
import supervisely as sly
|
|
152
152
|
from supervisely.aug.aug import crop
|
|
153
153
|
|
|
154
|
-
address = 'https://app.
|
|
154
|
+
address = 'https://app.supervisely.com/'
|
|
155
155
|
token = 'Your Supervisely API Token'
|
|
156
156
|
api = sly.Api(address, token)
|
|
157
157
|
|
|
@@ -215,7 +215,7 @@ def crop_fraction(
|
|
|
215
215
|
import supervisely as sly
|
|
216
216
|
from supervisely.aug.aug import crop_fraction
|
|
217
217
|
|
|
218
|
-
address = 'https://app.
|
|
218
|
+
address = 'https://app.supervisely.com/'
|
|
219
219
|
token = 'Your Supervisely API Token'
|
|
220
220
|
api = sly.Api(address, token)
|
|
221
221
|
|
|
@@ -279,7 +279,7 @@ def random_crop(
|
|
|
279
279
|
import supervisely as sly
|
|
280
280
|
from supervisely.aug.aug import random_crop
|
|
281
281
|
|
|
282
|
-
address = 'https://app.
|
|
282
|
+
address = 'https://app.supervisely.com/'
|
|
283
283
|
token = 'Your Supervisely API Token'
|
|
284
284
|
api = sly.Api(address, token)
|
|
285
285
|
|
|
@@ -349,7 +349,7 @@ def random_crop_fraction(
|
|
|
349
349
|
import supervisely as sly
|
|
350
350
|
from supervisely.aug.aug import random_crop_fraction
|
|
351
351
|
|
|
352
|
-
address = 'https://app.
|
|
352
|
+
address = 'https://app.supervisely.com/'
|
|
353
353
|
token = 'Your Supervisely API Token'
|
|
354
354
|
api = sly.Api(address, token)
|
|
355
355
|
|
|
@@ -468,7 +468,7 @@ def instance_crop(
|
|
|
468
468
|
import supervisely as sly
|
|
469
469
|
from supervisely.aug.aug import instance_crop
|
|
470
470
|
|
|
471
|
-
address = 'https://app.
|
|
471
|
+
address = 'https://app.supervisely.com/'
|
|
472
472
|
token = 'Your Supervisely API Token'
|
|
473
473
|
api = sly.Api(address, token)
|
|
474
474
|
|
|
@@ -547,7 +547,7 @@ def resize(img: np.ndarray, ann: Annotation, size: Tuple) -> Tuple[np.ndarray, A
|
|
|
547
547
|
import supervisely as sly
|
|
548
548
|
from supervisely.aug.aug import resize
|
|
549
549
|
|
|
550
|
-
address = 'https://app.
|
|
550
|
+
address = 'https://app.supervisely.com/'
|
|
551
551
|
token = 'Your Supervisely API Token'
|
|
552
552
|
api = sly.Api(address, token)
|
|
553
553
|
|
|
@@ -612,7 +612,7 @@ def scale(
|
|
|
612
612
|
import supervisely as sly
|
|
613
613
|
from supervisely.aug.aug import scale
|
|
614
614
|
|
|
615
|
-
address = 'https://app.
|
|
615
|
+
address = 'https://app.supervisely.com/'
|
|
616
616
|
token = 'Your Supervisely API Token'
|
|
617
617
|
api = sly.Api(address, token)
|
|
618
618
|
|
|
@@ -675,7 +675,7 @@ def rotate(
|
|
|
675
675
|
import supervisely as sly
|
|
676
676
|
from supervisely.aug.aug import rotate
|
|
677
677
|
|
|
678
|
-
address = 'https://app.
|
|
678
|
+
address = 'https://app.supervisely.com/'
|
|
679
679
|
token = 'Your Supervisely API Token'
|
|
680
680
|
api = sly.Api(address, token)
|
|
681
681
|
|
supervisely/cli/__init__.py
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
from supervisely.cli.cli import cli
|
|
2
|
-
import supervisely as sly
|
|
3
1
|
from typing import Callable, Literal, Union
|
|
4
2
|
|
|
3
|
+
import supervisely as sly
|
|
4
|
+
from supervisely.cli.cli import cli
|
|
5
|
+
|
|
5
6
|
|
|
6
7
|
def _handle_creds_error_to_console(
|
|
7
8
|
api_func: sly.Api, printer: Callable = print
|
|
@@ -10,16 +11,20 @@ def _handle_creds_error_to_console(
|
|
|
10
11
|
api = api_func()
|
|
11
12
|
except (KeyError, ValueError) as e:
|
|
12
13
|
if "server_address is not defined" in repr(e):
|
|
13
|
-
text = "SERVER_ADDRESS env variable is undefined. Add it to your '~/supervisely.env' file or to environment variables. Learn more here: https://developer.
|
|
14
|
-
|
|
15
|
-
printer
|
|
16
|
-
|
|
14
|
+
text = "SERVER_ADDRESS env variable is undefined. Add it to your '~/supervisely.env' file or to environment variables. Learn more here: https://developer.supervisely.com/getting-started/basics-of-authentication."
|
|
15
|
+
(
|
|
16
|
+
printer(f"\n{text}\n", style="bold red")
|
|
17
|
+
if "Console.print" in repr(printer)
|
|
18
|
+
else printer(text)
|
|
19
|
+
)
|
|
17
20
|
return False
|
|
18
21
|
elif "api_token is not defined" in repr(e):
|
|
19
|
-
text = "API_TOKEN env variable is undefined. Add it to your '~/supervisely.env' file or to environment variables. Learn more here: https://developer.
|
|
20
|
-
|
|
21
|
-
printer
|
|
22
|
-
|
|
22
|
+
text = "API_TOKEN env variable is undefined. Add it to your '~/supervisely.env' file or to environment variables. Learn more here: https://developer.supervisely.com/getting-started/basics-of-authentication."
|
|
23
|
+
(
|
|
24
|
+
printer(f"\n{text}\n", style="bold red")
|
|
25
|
+
if "Console.print" in repr(printer)
|
|
26
|
+
else printer(text)
|
|
27
|
+
)
|
|
23
28
|
return False
|
|
24
29
|
else:
|
|
25
30
|
printer(repr(e))
|
|
@@ -205,7 +205,7 @@ class AlphaMask(Bitmap):
|
|
|
205
205
|
|
|
206
206
|
import supervisely as sly
|
|
207
207
|
|
|
208
|
-
address = 'https://app.
|
|
208
|
+
address = 'https://app.supervisely.com/'
|
|
209
209
|
token = 'Your Supervisely API Token'
|
|
210
210
|
api = sly.Api(address, token)
|
|
211
211
|
|
|
@@ -266,7 +266,7 @@ class AlphaMask(Bitmap):
|
|
|
266
266
|
if (len(imdecoded.shape) == 3) and (imdecoded.shape[2] == 4):
|
|
267
267
|
mask = imdecoded[:, :, 3] # pylint: disable=unsubscriptable-object
|
|
268
268
|
if (len(imdecoded.shape) == 3) and (imdecoded.shape[2] == 1):
|
|
269
|
-
mask = imdecoded[:, :, 0]
|
|
269
|
+
mask = imdecoded[:, :, 0] # pylint: disable=unsubscriptable-object
|
|
270
270
|
elif len(imdecoded.shape) == 2:
|
|
271
271
|
mask = imdecoded
|
|
272
272
|
else:
|
supervisely/geometry/bitmap.py
CHANGED
|
@@ -294,9 +294,7 @@ class Bitmap(BitmapBase):
|
|
|
294
294
|
self.origin.col,
|
|
295
295
|
self.origin.row,
|
|
296
296
|
) # cont with shape (rows, ?, 2)
|
|
297
|
-
cv2.drawContours(
|
|
298
|
-
bitmap, contours, -1, color, thickness=thickness
|
|
299
|
-
)
|
|
297
|
+
cv2.drawContours(bitmap, contours, -1, color, thickness=thickness)
|
|
300
298
|
# pylint: enable=(no-member, unpacking-non-sequence)
|
|
301
299
|
|
|
302
300
|
@property
|
|
@@ -352,9 +350,13 @@ class Bitmap(BitmapBase):
|
|
|
352
350
|
return np.any(np.array(img), axis=-1)
|
|
353
351
|
n = np.frombuffer(z, np.uint8)
|
|
354
352
|
|
|
355
|
-
imdecoded = cv2.imdecode(
|
|
353
|
+
imdecoded = cv2.imdecode(
|
|
354
|
+
n, cv2.IMREAD_UNCHANGED
|
|
355
|
+
) # pylint: disable=(no-member, unpacking-non-sequenc)
|
|
356
356
|
if (len(imdecoded.shape) == 3) and (imdecoded.shape[2] >= 4):
|
|
357
|
-
mask = imdecoded[:, :, 3].astype(
|
|
357
|
+
mask = imdecoded[:, :, 3].astype(
|
|
358
|
+
bool
|
|
359
|
+
) # 4-channel imgs # pylint: disable=unsubscriptable-object
|
|
358
360
|
elif len(imdecoded.shape) == 2:
|
|
359
361
|
mask = imdecoded.astype(bool) # flat 2d mask
|
|
360
362
|
else:
|
|
@@ -376,7 +378,7 @@ class Bitmap(BitmapBase):
|
|
|
376
378
|
|
|
377
379
|
import supervisely as sly
|
|
378
380
|
|
|
379
|
-
address = 'https://app.
|
|
381
|
+
address = 'https://app.supervisely.com/'
|
|
380
382
|
token = 'Your Supervisely API Token'
|
|
381
383
|
api = sly.Api(address, token)
|
|
382
384
|
|