supervisely 6.73.338__py3-none-any.whl → 6.73.340__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.
@@ -11,7 +11,7 @@ from supervisely.app.singleton import Singleton
11
11
  from supervisely.app.widgets_context import JinjaWidgets
12
12
 
13
13
  # https://github.com/supervisely/js-bundle
14
- js_bundle_version = "2.1.98"
14
+ js_bundle_version = "2.1.99"
15
15
 
16
16
  # https://github.com/supervisely-ecosystem/supervisely-app-frontend-js
17
17
  js_frontend_version = "v0.0.55"
@@ -93,6 +93,7 @@ class Select(ConditionalWidget):
93
93
  widget_id: str = None,
94
94
  items_links: List[str] = None,
95
95
  width_percent: Optional[int] = None,
96
+ width_px: Optional[int] = None,
96
97
  ) -> Select:
97
98
  if items is None and groups is None:
98
99
  raise ValueError("One of the arguments has to be defined: items or groups")
@@ -113,6 +114,7 @@ class Select(ConditionalWidget):
113
114
  self._width_percent = min(max(width_percent, 1), 100)
114
115
  else:
115
116
  self._width_percent = None
117
+ self._width_px = width_px
116
118
 
117
119
  if items_links is not None:
118
120
  if items is None:
@@ -140,6 +142,7 @@ class Select(ConditionalWidget):
140
142
  "groups": None,
141
143
  "with_link": self._with_link,
142
144
  "width_percent": self._width_percent,
145
+ "width_px": self._width_px,
143
146
  }
144
147
  if self._items is not None:
145
148
  res["items"] = [item.to_json() for item in self._items]
@@ -10,7 +10,9 @@
10
10
  :multiple="data.{{{widget.widget_id}}}.multiple"
11
11
  :filterable="data.{{{widget.widget_id}}}.filterable"
12
12
  :fit-input-width="data.{{{widget.widget_id}}}.fit_input_width"
13
- {% if widget._width_percent is not none %}
13
+ {% if widget._width_px is not none %}
14
+ :style="{ width: `${data.{{{widget.widget_id}}}.width_px}px` }"
15
+ {% elif widget._width_percent is not none %}
14
16
  :style="{ width: `${data.{{{widget.widget_id}}}.width_percent}%` }"
15
17
  {% endif %}
16
18
  >
@@ -96,8 +96,9 @@ class SelectDatasetTree(Widget):
96
96
  append_to_body: bool = True,
97
97
  widget_id: Union[str, None] = None,
98
98
  show_select_all_datasets_checkbox: bool = True,
99
+ width: int = 193,
99
100
  ):
100
- self._api = Api()
101
+ self._api = Api.from_env()
101
102
 
102
103
  if default_id is not None and project_id is None:
103
104
  raise ValueError("Project ID must be provided when default dataset ID is set.")
@@ -136,6 +137,7 @@ class SelectDatasetTree(Widget):
136
137
  self._select_workspace = None
137
138
  self._select_project = None
138
139
  self._select_dataset = None
140
+ self._width = width
139
141
 
140
142
  # List of widgets will be used to create a Container.
141
143
  self._widgets = []
@@ -361,7 +363,7 @@ class SelectDatasetTree(Widget):
361
363
  flat=flat,
362
364
  always_open=always_open,
363
365
  append_to_body=self._append_to_body,
364
- width=193,
366
+ width=self._width,
365
367
  placeholder="Select dataset",
366
368
  )
367
369
  if self._dataset_id is not None:
@@ -416,7 +418,10 @@ class SelectDatasetTree(Widget):
416
418
  self._select_dataset.hide()
417
419
 
418
420
  self._select_team = Select(
419
- items=self._get_select_items(), placeholder="Select team", filterable=True
421
+ items=self._get_select_items(),
422
+ placeholder="Select team",
423
+ filterable=True,
424
+ width_px=self._width,
420
425
  )
421
426
  self._select_team.set_value(self._team_id)
422
427
  if not team_is_selectable:
@@ -426,6 +431,7 @@ class SelectDatasetTree(Widget):
426
431
  items=self._get_select_items(team_id=self._team_id),
427
432
  placeholder="Select workspace",
428
433
  filterable=True,
434
+ width_px=self._width,
429
435
  )
430
436
  self._select_workspace.set_value(self._workspace_id)
431
437
  if not workspace_is_selectable:
@@ -435,6 +441,7 @@ class SelectDatasetTree(Widget):
435
441
  items=self._get_select_items(workspace_id=self._workspace_id),
436
442
  placeholder="Select project",
437
443
  filterable=True,
444
+ width_px=self._width,
438
445
  )
439
446
  self._select_project.set_value(self._project_id)
440
447
 
@@ -131,6 +131,7 @@ class TreeSelect(Widget):
131
131
  append_to_body: bool = True,
132
132
  widget_id: Optional[str] = None,
133
133
  placeholder: Optional[str] = None,
134
+ show_tooltip: bool = True,
134
135
  ):
135
136
  self._items = items or []
136
137
  self._multiple = multiple_select
@@ -141,6 +142,7 @@ class TreeSelect(Widget):
141
142
  self._width = width
142
143
  self._append_to_body = append_to_body
143
144
  self._placeholder = placeholder
145
+ self._show_tooltip = show_tooltip
144
146
 
145
147
  super().__init__(widget_id=widget_id, file_path=__file__)
146
148
 
@@ -170,6 +172,7 @@ class TreeSelect(Widget):
170
172
  "valueFormat": self._value_format,
171
173
  "appendToBody": self._append_to_body,
172
174
  "placeholder": self._placeholder,
175
+ "showTooltip": self._show_tooltip,
173
176
  },
174
177
  }
175
178
 
@@ -598,15 +598,16 @@ class Inference:
598
598
  def _download_model_files(self, deploy_params: dict, log_progress: bool = True) -> dict:
599
599
  if deploy_params["runtime"] != RuntimeType.PYTORCH:
600
600
  export = deploy_params["model_info"].get("export", {})
601
- export_model = export.get(deploy_params["runtime"], None)
602
- if export_model is not None:
603
- if sly_fs.get_file_name(export_model) == sly_fs.get_file_name(
604
- deploy_params["model_files"]["checkpoint"]
605
- ):
606
- deploy_params["model_files"]["checkpoint"] = (
607
- deploy_params["model_info"]["artifacts_dir"] + export_model
608
- )
609
- logger.info(f"Found model checkpoint for '{deploy_params['runtime']}'")
601
+ if export is not None:
602
+ export_model = export.get(deploy_params["runtime"], None)
603
+ if export_model is not None:
604
+ if sly_fs.get_file_name(export_model) == sly_fs.get_file_name(
605
+ deploy_params["model_files"]["checkpoint"]
606
+ ):
607
+ deploy_params["model_files"]["checkpoint"] = (
608
+ deploy_params["model_info"]["artifacts_dir"] + export_model
609
+ )
610
+ logger.info(f"Found model checkpoint for '{deploy_params['runtime']}'")
610
611
 
611
612
  if deploy_params["model_source"] == ModelSource.PRETRAINED:
612
613
  return self._download_pretrained_model(deploy_params["model_files"], log_progress)
@@ -2524,17 +2524,26 @@ class TrainApp:
2524
2524
  self.gui.hyperparameters_selector.get_export_onnx_checkbox_value() is True
2525
2525
  and self._convert_onnx_func is not None
2526
2526
  ):
2527
- self._set_text_status("export_onnx")
2528
- onnx_path = self._convert_onnx_func(experiment_info)
2529
- export_weights[RuntimeType.ONNXRUNTIME] = onnx_path
2527
+ try:
2528
+ self._set_text_status("export_onnx")
2529
+ onnx_path = self._convert_onnx_func(experiment_info)
2530
+ if sly_fs.file_exists(onnx_path):
2531
+ export_weights[RuntimeType.ONNXRUNTIME] = onnx_path
2532
+ except Exception as e:
2533
+ logger.error(f"Failed to export ONNX model: {e}")
2530
2534
 
2531
2535
  if (
2532
2536
  self.gui.hyperparameters_selector.get_export_tensorrt_checkbox_value() is True
2533
2537
  and self._convert_tensorrt_func is not None
2534
2538
  ):
2535
- self._set_text_status("export_trt")
2536
- tensorrt_path = self._convert_tensorrt_func(experiment_info)
2537
- export_weights[RuntimeType.TENSORRT] = tensorrt_path
2539
+ try:
2540
+ self._set_text_status("export_trt")
2541
+ tensorrt_path = self._convert_tensorrt_func(experiment_info)
2542
+ if sly_fs.file_exists(tensorrt_path):
2543
+ export_weights[RuntimeType.TENSORRT] = tensorrt_path
2544
+ except Exception as e:
2545
+ logger.error(f"Failed to export TensorRT model: {e}")
2546
+
2538
2547
  return export_weights
2539
2548
 
2540
2549
  def _upload_export_weights(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.338
3
+ Version: 6.73.340
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -94,7 +94,7 @@ supervisely/app/fastapi/no_html_main.html,sha256=NhQP7noyORBx72lFh1CQKgBRupkWjiq
94
94
  supervisely/app/fastapi/offline.py,sha256=CwMMkJ1frD6wiZS-SEoNDtQ1UJcJe1Ob6ohE3r4CQL8,7414
95
95
  supervisely/app/fastapi/request.py,sha256=NU7rKmxJ1pfkDZ7_yHckRcRAueJRQIqCor11UO2OHr8,766
96
96
  supervisely/app/fastapi/subapp.py,sha256=5lMfFLYBfHzE1OmITHsogB9hScyTJFjGV45AKY67Hkg,45647
97
- supervisely/app/fastapi/templating.py,sha256=JOAW8U-14GD47E286mzFi3mZSPbm_csJGqtXWLRM4rc,2929
97
+ supervisely/app/fastapi/templating.py,sha256=3X69vo-_RO2tlaVz5obifXjrNEIHVSNVQFNm_xjOMe4,2929
98
98
  supervisely/app/fastapi/utils.py,sha256=t_UquzlFrdkKtAJmH6eJ279pE8Aa3BaIu4XjX-SEaIE,946
99
99
  supervisely/app/fastapi/websocket.py,sha256=TlRSPOAhRItTv1HGvdukK1ZvhRjMUxRa-lJlsRR9rJw,1308
100
100
  supervisely/app/v1/__init__.py,sha256=OdU0PYv6hLwahYoyaLFO8m3cbJSchvPbqxuG1N3T734,848
@@ -428,8 +428,8 @@ supervisely/app/widgets/run_app_button/template.html,sha256=-SX7zZ53ehyfQMg_az3B
428
428
  supervisely/app/widgets/scatter_chart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
429
429
  supervisely/app/widgets/scatter_chart/scatter_chart.py,sha256=nX7fZbWsDiMjOek5FvIHgKbnBwQ-ol_V3XvnoAnz59c,4832
430
430
  supervisely/app/widgets/select/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
431
- supervisely/app/widgets/select/select.py,sha256=pYxUYl0-yuMnGQ9wjxkbDKWRMVi-egXw29YJZHTvKrI,11253
432
- supervisely/app/widgets/select/template.html,sha256=S7Bx4TSc6Ua4BL1duY_pfVX9MDBmAJkKnCNzPf-jt2A,1933
431
+ supervisely/app/widgets/select/select.py,sha256=1aB7Oi1mtyBySvBc78McZy4NnNNxGXGwMkCeYpOsLew,11367
432
+ supervisely/app/widgets/select/template.html,sha256=s5ZpmWkYf3JOVyBEgWPAIMbQzTK6txL9E-k5-HNFj3s,2041
433
433
  supervisely/app/widgets/select_app_session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
434
434
  supervisely/app/widgets/select_app_session/select_app_session.py,sha256=l8Nam2bG8g9re29ra28i5PmmW9LKhkOGAG48dgHFr9M,2038
435
435
  supervisely/app/widgets/select_app_session/template.html,sha256=PGr5YL7Ts3ALO9ZQkuYNnRhP7eyYq54sf7Y9EhDbuvE,959
@@ -440,7 +440,7 @@ supervisely/app/widgets/select_dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
440
440
  supervisely/app/widgets/select_dataset/select_dataset.py,sha256=2bltbJ70plGFoF8mpLxAU2huVBce8D6CsCcX9wxO5KU,9713
441
441
  supervisely/app/widgets/select_dataset/template.html,sha256=7O_ZgmRs0vOL8tng6QvYbI_0o6A4yMAPB2MlfzWHeHQ,984
442
442
  supervisely/app/widgets/select_dataset_tree/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
443
- supervisely/app/widgets/select_dataset_tree/select_dataset_tree.py,sha256=abFPT8MJv6a7oPZzwCvak6q4HB72ijpW7axJHjoJvH0,22319
443
+ supervisely/app/widgets/select_dataset_tree/select_dataset_tree.py,sha256=ngSp4-R7rLsExYOY3VY7yhhC_yeeO_BkAxN95savSPc,22517
444
444
  supervisely/app/widgets/select_dataset_tree/template.html,sha256=_uvKCMP0nkpSl3FiTUxqy10JZw3q8-9hXCv22W3BDF0,38
445
445
  supervisely/app/widgets/select_item/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
446
  supervisely/app/widgets/select_item/select_item.py,sha256=dcB0UN46rn3nFQybgrGpLRfwB6xnPo-GGrv9rsMeCbA,3833
@@ -530,7 +530,7 @@ supervisely/app/widgets/transfer/template.html,sha256=w9T5TrityCeHUBPPyzRBBSm48z
530
530
  supervisely/app/widgets/transfer/transfer.py,sha256=tZ6HhRH11xOrEhz3TAH0Redw3NE2GFSDHuHCmKBSY_s,19986
531
531
  supervisely/app/widgets/tree_select/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
532
532
  supervisely/app/widgets/tree_select/template.html,sha256=eUHN0yn_llRRozAOvdc8SjhY-KX12TcgOUXCemHWGew,613
533
- supervisely/app/widgets/tree_select/tree_select.py,sha256=qy5JBVQ812FcyXIDPwCjt7C9N9H9gSzXwlkvO8mKqrQ,14371
533
+ supervisely/app/widgets/tree_select/tree_select.py,sha256=A86TCS_gXHi6UvHmsvZUyijnKgTvQ6UGnrHPJ19U_IY,14499
534
534
  supervisely/app/widgets/treemap_chart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
535
535
  supervisely/app/widgets/treemap_chart/treemap_chart.py,sha256=g6wc1M30kNFA92Xj-6g2bJlnnV23ro17pJn0s4WDgvs,9298
536
536
  supervisely/app/widgets/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -883,7 +883,7 @@ supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8
883
883
  supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
884
884
  supervisely/nn/inference/__init__.py,sha256=QFukX2ip-U7263aEPCF_UCFwj6EujbMnsgrXp5Bbt8I,1623
885
885
  supervisely/nn/inference/cache.py,sha256=LAirR5mFHCtK59EO1lefQ2qhpp0vBvRTH26EVrs13Y0,32073
886
- supervisely/nn/inference/inference.py,sha256=dzfvHjisVYgsijnHYazb_y0mXYZQJX0E1fEsDY6S5lw,169730
886
+ supervisely/nn/inference/inference.py,sha256=FUTlgyy676IsFhNH6PTRdnGz6aOXXH_5RtRKqxX8Pss,169801
887
887
  supervisely/nn/inference/session.py,sha256=jmkkxbe2kH-lEgUU6Afh62jP68dxfhF5v6OGDfLU62E,35757
888
888
  supervisely/nn/inference/video_inference.py,sha256=8Bshjr6rDyLay5Za8IB8Dr6FURMO2R_v7aELasO8pR4,5746
889
889
  supervisely/nn/inference/gui/__init__.py,sha256=wCxd-lF5Zhcwsis-wScDA8n1Gk_1O00PKgDviUZ3F1U,221
@@ -980,7 +980,7 @@ supervisely/nn/tracker/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
980
980
  supervisely/nn/tracker/utils/gmc.py,sha256=3JX8979H3NA-YHNaRQyj9Z-xb9qtyMittPEjGw8y2Jo,11557
981
981
  supervisely/nn/tracker/utils/kalman_filter.py,sha256=eSFmCjM0mikHCAFvj-KCVzw-0Jxpoc3Cfc2NWEjJC1Q,17268
982
982
  supervisely/nn/training/__init__.py,sha256=gY4PCykJ-42MWKsqb9kl-skemKa8yB6t_fb5kzqR66U,111
983
- supervisely/nn/training/train_app.py,sha256=mUEXGE9rQZKyVCrX1qjyDFOEuKqdVVa5jQ0EnP0gBGI,106273
983
+ supervisely/nn/training/train_app.py,sha256=GsE8uh_PnExFceEyrmy0ubccbgSf96KCToyP8BXodI0,106666
984
984
  supervisely/nn/training/gui/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
985
985
  supervisely/nn/training/gui/classes_selector.py,sha256=Bpp-RFDQqcZ0kLJmS6ZnExkdscWwRusvF4vbWjEsKlQ,3926
986
986
  supervisely/nn/training/gui/gui.py,sha256=QDeWa6iow3z3EwLZcHlQ48d4Ur6hCmedNvCod-8qZ-k,27978
@@ -1082,9 +1082,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
1082
1082
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
1083
1083
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
1084
1084
  supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
1085
- supervisely-6.73.338.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1086
- supervisely-6.73.338.dist-info/METADATA,sha256=sLqnzYNr1rYjzV2CmXxFRZ5PEBbE_Vlsfx_5PxHB3sw,33596
1087
- supervisely-6.73.338.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1088
- supervisely-6.73.338.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1089
- supervisely-6.73.338.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1090
- supervisely-6.73.338.dist-info/RECORD,,
1085
+ supervisely-6.73.340.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1086
+ supervisely-6.73.340.dist-info/METADATA,sha256=MYPQWfGjiMVfYMHxrVyPYtnuYO1c9Hqa1l4PcmRU51k,33596
1087
+ supervisely-6.73.340.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1088
+ supervisely-6.73.340.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1089
+ supervisely-6.73.340.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1090
+ supervisely-6.73.340.dist-info/RECORD,,