supervisely 6.73.459__py3-none-any.whl → 6.73.461__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.
Potentially problematic release.
This version of supervisely might be problematic. Click here for more details.
- supervisely/app/fastapi/custom_static_files.py +1 -1
- supervisely/nn/inference/cache.py +8 -2
- supervisely/nn/inference/inference.py +6 -6
- supervisely/video/sampling.py +2 -3
- supervisely/volume/stl_converter.py +2 -0
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/METADATA +11 -9
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/RECORD +11 -11
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/LICENSE +0 -0
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/WHEEL +0 -0
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.459.dist-info → supervisely-6.73.461.dist-info}/top_level.txt +0 -0
|
@@ -42,7 +42,7 @@ class CustomStaticFiles(StaticFiles):
|
|
|
42
42
|
def _get_range_header(range_header: str, file_size: int) -> typing.Tuple[int, int]:
|
|
43
43
|
def _invalid_range():
|
|
44
44
|
return HTTPException(
|
|
45
|
-
status.HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE,
|
|
45
|
+
status.HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE, #TODO: change to status.HTTP_416_RANGE_NOT_SATISFIABLE if update starlette to 0.48.0+
|
|
46
46
|
detail=f"Invalid request range (Range:{range_header!r})",
|
|
47
47
|
)
|
|
48
48
|
|
|
@@ -790,14 +790,20 @@ class InferenceImageCache:
|
|
|
790
790
|
try:
|
|
791
791
|
frame = self.get_frame_from_cache(video_id, hash_or_id)
|
|
792
792
|
except Exception as e:
|
|
793
|
-
logger.error(
|
|
793
|
+
logger.error(
|
|
794
|
+
f"Error retrieving frame from cache: {repr(e)}. Frame will be re-downloaded",
|
|
795
|
+
exc_info=True,
|
|
796
|
+
)
|
|
794
797
|
ids_to_load.append(hash_or_id)
|
|
795
798
|
return pos, None
|
|
796
799
|
return pos, frame
|
|
797
800
|
try:
|
|
798
801
|
image = self._cache.get_image(name_constructor(hash_or_id))
|
|
799
802
|
except Exception as e:
|
|
800
|
-
logger.error(
|
|
803
|
+
logger.error(
|
|
804
|
+
f"Error retrieving image from cache: {repr(e)}. Image will be re-downloaded",
|
|
805
|
+
exc_info=True,
|
|
806
|
+
)
|
|
801
807
|
ids_to_load.append(hash_or_id)
|
|
802
808
|
return pos, None
|
|
803
809
|
return pos, image
|
|
@@ -435,7 +435,7 @@ class Inference:
|
|
|
435
435
|
|
|
436
436
|
device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
437
437
|
except Exception as e:
|
|
438
|
-
logger.
|
|
438
|
+
logger.warning(
|
|
439
439
|
f"Device auto detection failed, set to default 'cpu', reason: {repr(e)}"
|
|
440
440
|
)
|
|
441
441
|
device = "cpu"
|
|
@@ -1383,15 +1383,15 @@ class Inference:
|
|
|
1383
1383
|
if classes is not None:
|
|
1384
1384
|
num_classes = len(classes)
|
|
1385
1385
|
except NotImplementedError:
|
|
1386
|
-
logger.
|
|
1386
|
+
logger.warning(f"get_classes() function not implemented for {type(self)} object.")
|
|
1387
1387
|
except AttributeError:
|
|
1388
|
-
logger.
|
|
1388
|
+
logger.warning("Probably, get_classes() function not working without model deploy.")
|
|
1389
1389
|
except Exception as exc:
|
|
1390
|
-
logger.
|
|
1390
|
+
logger.warning("Unknown exception. Please, contact support")
|
|
1391
1391
|
logger.exception(exc)
|
|
1392
1392
|
|
|
1393
1393
|
if num_classes is None:
|
|
1394
|
-
logger.
|
|
1394
|
+
logger.warning(f"get_classes() function return {classes}; skip classes processing.")
|
|
1395
1395
|
|
|
1396
1396
|
return {
|
|
1397
1397
|
"app_name": get_name_from_env(default="Neural Network Serving"),
|
|
@@ -4644,7 +4644,7 @@ def get_gpu_count():
|
|
|
4644
4644
|
gpu_count = len(re.findall(r"GPU \d+:", nvidia_smi_output))
|
|
4645
4645
|
return gpu_count
|
|
4646
4646
|
except (subprocess.CalledProcessError, FileNotFoundError) as exc:
|
|
4647
|
-
logger.
|
|
4647
|
+
logger.warning("Calling nvidia-smi caused a error: {exc}. Assume there is no any GPU.")
|
|
4648
4648
|
return 0
|
|
4649
4649
|
|
|
4650
4650
|
|
supervisely/video/sampling.py
CHANGED
|
@@ -103,7 +103,6 @@ def _upload_annotations(api: Api, image_ids, frame_indices, video_annotation: Vi
|
|
|
103
103
|
api.annotation.upload_anns(image_ids, anns=anns)
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
|
|
107
106
|
def _upload_frames(
|
|
108
107
|
api: Api,
|
|
109
108
|
frames: List[np.ndarray],
|
|
@@ -229,8 +228,8 @@ def sample_video(
|
|
|
229
228
|
with VideoFrameReader(video_path, frame_indices) as reader:
|
|
230
229
|
for batch in batched_iter(zip(reader, frame_indices), 10):
|
|
231
230
|
frames, indices = zip(*batch)
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
if resize:
|
|
232
|
+
for frame in frames:
|
|
234
233
|
cv2.resize(frame, [*resize, frame.shape[2]], interpolation=cv2.INTER_LINEAR)
|
|
235
234
|
|
|
236
235
|
image_ids = _upload_frames(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: supervisely
|
|
3
|
-
Version: 6.73.
|
|
3
|
+
Version: 6.73.461
|
|
4
4
|
Summary: Supervisely Python SDK.
|
|
5
5
|
Home-page: https://github.com/supervisely/supervisely
|
|
6
6
|
Author: Supervisely
|
|
@@ -21,14 +21,14 @@ Requires-Python: >=3.8
|
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
Requires-Dist: cachetools<=5.5.0,>=4.2.3
|
|
24
|
-
Requires-Dist: numpy
|
|
24
|
+
Requires-Dist: numpy<=2.3.3,>=1.19
|
|
25
25
|
Requires-Dist: opencv-python<5.0.0.0,>=4.6.0.66
|
|
26
26
|
Requires-Dist: PTable<1.0.0,>=0.9.2
|
|
27
27
|
Requires-Dist: pillow<=10.4.0,>=5.4.1
|
|
28
28
|
Requires-Dist: python-json-logger<3.0.0,>=0.1.11
|
|
29
29
|
Requires-Dist: requests<3.0.0,>=2.27.1
|
|
30
30
|
Requires-Dist: requests-toolbelt>=0.9.1
|
|
31
|
-
Requires-Dist: Shapely<=2.
|
|
31
|
+
Requires-Dist: Shapely<=2.1.2,>=1.7.1
|
|
32
32
|
Requires-Dist: bidict<1.0.0,>=0.21.2
|
|
33
33
|
Requires-Dist: varname<1.0.0,>=0.8.1
|
|
34
34
|
Requires-Dist: python-dotenv<=1.0.1,>=0.19.2
|
|
@@ -39,9 +39,9 @@ Requires-Dist: stringcase<2.0.0,>=1.2.0
|
|
|
39
39
|
Requires-Dist: python-magic<1.0.0,>=0.4.25
|
|
40
40
|
Requires-Dist: trimesh<=4.5.0,>=3.11.2
|
|
41
41
|
Requires-Dist: uvicorn[standard]<1.0.0,>=0.18.2
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist: fastapi<=0.
|
|
42
|
+
Requires-Dist: starlette<=0.47.3
|
|
43
|
+
Requires-Dist: pydantic<=2.12.3,>=1.7.4
|
|
44
|
+
Requires-Dist: fastapi<=0.119.1,>=0.103.1
|
|
45
45
|
Requires-Dist: websockets<=13.1,>=10.3
|
|
46
46
|
Requires-Dist: jinja2<4.0.0,>=3.0.3
|
|
47
47
|
Requires-Dist: psutil<6.0.0,>=5.9.0
|
|
@@ -49,7 +49,7 @@ Requires-Dist: jsonpatch<2.0,>=1.32
|
|
|
49
49
|
Requires-Dist: MarkupSafe<3.0.0,>=2.1.1
|
|
50
50
|
Requires-Dist: arel<1.0.0,>=0.2.0
|
|
51
51
|
Requires-Dist: tqdm<5.0.0,>=4.62.3
|
|
52
|
-
Requires-Dist: pandas<=2.
|
|
52
|
+
Requires-Dist: pandas<=2.3.3,>=1.1.3
|
|
53
53
|
Requires-Dist: async-asgi-testclient
|
|
54
54
|
Requires-Dist: PyYAML>=5.4.0
|
|
55
55
|
Requires-Dist: distinctipy
|
|
@@ -70,6 +70,7 @@ Requires-Dist: zstd
|
|
|
70
70
|
Requires-Dist: aiofiles
|
|
71
71
|
Requires-Dist: httpx[http2]==0.27.2
|
|
72
72
|
Requires-Dist: debugpy
|
|
73
|
+
Requires-Dist: setuptools<81.0.0
|
|
73
74
|
Provides-Extra: agent
|
|
74
75
|
Requires-Dist: protobuf<=3.20.3,>=3.19.5; extra == "agent"
|
|
75
76
|
Provides-Extra: apps
|
|
@@ -82,10 +83,11 @@ Requires-Dist: jsonpatch<2.0,>=1.32; extra == "apps"
|
|
|
82
83
|
Requires-Dist: MarkupSafe<3.0.0,>=2.1.1; extra == "apps"
|
|
83
84
|
Requires-Dist: arel<1.0.0,>=0.2.0; extra == "apps"
|
|
84
85
|
Requires-Dist: tqdm<5.0.0,>=4.62.3; extra == "apps"
|
|
85
|
-
Requires-Dist: pandas
|
|
86
|
+
Requires-Dist: pandas<=2.3.3,>=1.1.3; extra == "apps"
|
|
86
87
|
Provides-Extra: aug
|
|
87
88
|
Requires-Dist: imgaug<1.0.0,>=0.4.0; extra == "aug"
|
|
88
89
|
Requires-Dist: imagecorruptions<2.0.0,>=1.1.2; extra == "aug"
|
|
90
|
+
Requires-Dist: numpy<2.0.0,>=1.19; extra == "aug"
|
|
89
91
|
Provides-Extra: docs
|
|
90
92
|
Requires-Dist: sphinx==4.4.0; extra == "docs"
|
|
91
93
|
Requires-Dist: jinja2==3.0.3; extra == "docs"
|
|
@@ -101,7 +103,7 @@ Requires-Dist: scikit-image<1.0.0,>=0.17.1; extra == "extras"
|
|
|
101
103
|
Requires-Dist: matplotlib<4.0.0,>=3.3.2; extra == "extras"
|
|
102
104
|
Requires-Dist: pascal-voc-writer<1.0.0,>=0.1.4; extra == "extras"
|
|
103
105
|
Requires-Dist: scipy<2.0.0,>=1.8.0; extra == "extras"
|
|
104
|
-
Requires-Dist: pandas
|
|
106
|
+
Requires-Dist: pandas<=2.3.3,>=1.1.3; extra == "extras"
|
|
105
107
|
Requires-Dist: ruamel.yaml==0.17.21; extra == "extras"
|
|
106
108
|
Provides-Extra: model-benchmark
|
|
107
109
|
Requires-Dist: pycocotools; extra == "model-benchmark"
|
|
@@ -94,7 +94,7 @@ supervisely/app/development/__init__.py,sha256=f2SpWBcCFPbSEBsJijH25eCAK8NcY2An5
|
|
|
94
94
|
supervisely/app/development/development.py,sha256=Ij3tn7HmkHr2RRoYxlpK9xkTGnpFjZwy2kArn6ZxVnA,12505
|
|
95
95
|
supervisely/app/development/sly-net.sh,sha256=M-RWQ7kygrJm88WGsOW0tEccO0fDgj_xGLI8Ifm-Ie4,1111
|
|
96
96
|
supervisely/app/fastapi/__init__.py,sha256=ZT7hgv34YNg0CBWHcdvksqXHCcN23f1YdXp-JZd87Ek,482
|
|
97
|
-
supervisely/app/fastapi/custom_static_files.py,sha256=
|
|
97
|
+
supervisely/app/fastapi/custom_static_files.py,sha256=VwIozb4CFgJLkkC-hTHOHvYwPpWNSkjddPTaL-fagXw,3477
|
|
98
98
|
supervisely/app/fastapi/dialog_window.html,sha256=ffaAxjK0TQRa7RrY5oA4uE6RzFuS0VnRG1pfoIzTqVM,1183
|
|
99
99
|
supervisely/app/fastapi/index.html,sha256=dz_e-0RE5ZbOU0ToUaEHe1ROI6Tc3SPL-mHt1CpZTxQ,8793
|
|
100
100
|
supervisely/app/fastapi/multi_user.py,sha256=m8Iy0ibTy85C7JkkovcRbDOirmIaz8BOOmAckDLGItk,3341
|
|
@@ -905,8 +905,8 @@ supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py,sha256=tKPURRS
|
|
|
905
905
|
supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
906
906
|
supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
|
|
907
907
|
supervisely/nn/inference/__init__.py,sha256=QFukX2ip-U7263aEPCF_UCFwj6EujbMnsgrXp5Bbt8I,1623
|
|
908
|
-
supervisely/nn/inference/cache.py,sha256=
|
|
909
|
-
supervisely/nn/inference/inference.py,sha256=
|
|
908
|
+
supervisely/nn/inference/cache.py,sha256=Hkxvu70rrB-j7ztQ4TBOxQePAxiKS7Erdb2FmK7aetY,35795
|
|
909
|
+
supervisely/nn/inference/inference.py,sha256=54SXkXYEyswQN1L9hbOn0luSLyWbFOoaSH1qzNfu7HQ,219687
|
|
910
910
|
supervisely/nn/inference/inference_request.py,sha256=yuqEL4BWjC-aKze_raGScEQyhHe8loYb_eNhGPsf2-4,14870
|
|
911
911
|
supervisely/nn/inference/session.py,sha256=f2Tyvj21oO9AKxqr6_yHZ81Ol-wXC-h5cweTHEoljkg,35796
|
|
912
912
|
supervisely/nn/inference/uploader.py,sha256=Dn5MfMRq7tclEWpP0B9fJjTiQPBpwumfXxC8-lOYgnM,5659
|
|
@@ -1090,7 +1090,7 @@ supervisely/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
|
1090
1090
|
supervisely/user/user.py,sha256=4GSVIupPAxWjIxZmUtH3Dtms_vGV82-49kM_aaR2gBI,319
|
|
1091
1091
|
supervisely/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1092
1092
|
supervisely/video/import_utils.py,sha256=b1Nl0gscNsV0iB9nWPeqt8GrkhOeuTZsN1p-d3gDUmE,544
|
|
1093
|
-
supervisely/video/sampling.py,sha256=
|
|
1093
|
+
supervisely/video/sampling.py,sha256=PGZVP1V9pDzdMsGThwS7U8E4VS6h1ba0nvpjVshIPfg,20248
|
|
1094
1094
|
supervisely/video/video.py,sha256=nG1TE4MEvoh-_pfTTOx44dzqRq2VqLljmUnQ8r1czUY,20799
|
|
1095
1095
|
supervisely/video_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1096
1096
|
supervisely/video_annotation/constants.py,sha256=_gW9iMhVk1w_dUaFiaiyXn66mt13S6bkxC64xpjP-CU,529
|
|
@@ -1106,7 +1106,7 @@ supervisely/video_annotation/video_tag_collection.py,sha256=CijC6DqepwraFOIsEWjE
|
|
|
1106
1106
|
supervisely/volume/__init__.py,sha256=EBZBY_5mzabXzMUQh5akusIGd16XnX9n8J0jIi_JmWw,446
|
|
1107
1107
|
supervisely/volume/nrrd_encoder.py,sha256=1lqwwyqxEvctw1ysQ70x4xPSV1uy1g5YcH5CURwL7-c,4084
|
|
1108
1108
|
supervisely/volume/nrrd_loader.py,sha256=_yqahKcqSRxunHZ5LtnUWIRA7UvIhPKOhAUwYijSGY4,9065
|
|
1109
|
-
supervisely/volume/stl_converter.py,sha256=
|
|
1109
|
+
supervisely/volume/stl_converter.py,sha256=O50-VRQM26-mj68YsmkB1lMHJ_lh-RnP09TZJQ5de8M,6336
|
|
1110
1110
|
supervisely/volume/volume.py,sha256=jDu_p1zPQxCojjtdJlVVTxfuKgVCYmMSY13Xz99k7pA,30765
|
|
1111
1111
|
supervisely/volume_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1112
1112
|
supervisely/volume_annotation/constants.py,sha256=BdFIh56fy7vzLIjt0gH8xP01EIU-qgQIwbSHVUcABCU,569
|
|
@@ -1129,9 +1129,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
1129
1129
|
supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
|
|
1130
1130
|
supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
|
|
1131
1131
|
supervisely_lib/__init__.py,sha256=yRwzEQmVwSd6lUQoAUdBngKEOlnoQ6hA9ZcoZGJRNC4,331
|
|
1132
|
-
supervisely-6.73.
|
|
1133
|
-
supervisely-6.73.
|
|
1134
|
-
supervisely-6.73.
|
|
1135
|
-
supervisely-6.73.
|
|
1136
|
-
supervisely-6.73.
|
|
1137
|
-
supervisely-6.73.
|
|
1132
|
+
supervisely-6.73.461.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1133
|
+
supervisely-6.73.461.dist-info/METADATA,sha256=3c1ganVPGZDLG9cIFzLIFfI__jEjZ2pTyNcMqXlg78c,35604
|
|
1134
|
+
supervisely-6.73.461.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
1135
|
+
supervisely-6.73.461.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
|
|
1136
|
+
supervisely-6.73.461.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
|
|
1137
|
+
supervisely-6.73.461.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|