holoscan-cli 3.2.0__py3-none-any.whl → 3.4.0__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 holoscan-cli might be problematic. Click here for more details.

@@ -138,7 +138,7 @@ def detect_holoscan_version(sdk_version: Optional[Version] = None) -> str:
138
138
  return sdk_version.base_version
139
139
  else:
140
140
  try:
141
- ver_str = importlib.metadata.version("holoscan-cli").title()
141
+ ver_str = importlib.metadata.version("holoscan").title()
142
142
  ver = Version(ver_str)
143
143
  ver_str = ".".join(str(i) for i in ver.release)
144
144
 
@@ -193,3 +193,17 @@ def detect_monaideploy_version(sdk_version: Optional[Version] = None) -> str:
193
193
  raise FailedToDetectSDKVersionError(
194
194
  "Failed to detect installed MONAI Deploy App SDK PyPI version.", ex
195
195
  ) from ex
196
+
197
+
198
+ def detect_holoscan_cli_version() -> str:
199
+ """
200
+ Detects Holoscan CLI version to use based on installed PyPI package.
201
+ """
202
+ try:
203
+ ver_str = importlib.metadata.version("holoscan-cli").title()
204
+ ver = Version(ver_str)
205
+ return ver.base_version
206
+ except Exception as ex:
207
+ raise FailedToDetectSDKVersionError(
208
+ "Failed to detect installed Holoscan CLI PyPI version.", ex
209
+ ) from ex
@@ -44,6 +44,14 @@ def create_package_parser(
44
44
  help="Holoscan application path: Python application directory with __main__.py, "
45
45
  "Python file, C++ source directory with CMakeLists.txt, or path to an executable.",
46
46
  )
47
+
48
+ parser.add_argument(
49
+ "--add",
50
+ action="append",
51
+ dest="additional_libs",
52
+ type=valid_existing_dir_path,
53
+ help="include additional library files, python files into the application directory.",
54
+ )
47
55
  parser.add_argument(
48
56
  "--config",
49
57
  "-c",
@@ -70,13 +78,6 @@ def create_package_parser(
70
78
  help="target platform(s) for the build output separated by comma. "
71
79
  f"Valid values: {str.join(', ', SDK.PLATFORMS)}.",
72
80
  )
73
- parser.add_argument(
74
- "--add",
75
- action="append",
76
- dest="additional_libs",
77
- type=valid_existing_dir_path,
78
- help="include additional library files, python files into the application directory.",
79
- )
80
81
  parser.add_argument(
81
82
  "--timeout", type=int, help="override default application timeout"
82
83
  )
@@ -113,11 +114,6 @@ def create_package_parser(
113
114
  type=str,
114
115
  help='additional CMAKE build arguments. E.g. "-DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_ARG=VALUE"',
115
116
  )
116
- advanced_group.add_argument(
117
- "--input-data",
118
- type=valid_dir_path,
119
- help="sample input data to be embedded in the container.",
120
- )
121
117
  advanced_group.add_argument(
122
118
  "--holoscan-sdk-file",
123
119
  type=valid_existing_path,
@@ -132,6 +128,11 @@ def create_package_parser(
132
128
  choices=["debug", "holoviz", "torch", "onnx"],
133
129
  help="additional packages to include in the container.",
134
130
  )
131
+ advanced_group.add_argument(
132
+ "--input-data",
133
+ type=valid_dir_path,
134
+ help="sample input data to be embedded in the container.",
135
+ )
135
136
  advanced_group.add_argument(
136
137
  "--monai-deploy-sdk-file",
137
138
  type=valid_existing_path,
@@ -63,7 +63,7 @@ ARG LIBTORCH_VERSION=2.5.0_24.08
63
63
  RUN apt update && \
64
64
  apt-get install -y --no-install-recommends --no-install-suggests \
65
65
  bzip2 \
66
- libopenmpi3=4.1.2-* \
66
+ libopenmpi3t64=4.1.6-* \
67
67
  && rm -rf /var/lib/apt/lists/*
68
68
 
69
69
  # Download libtorch
@@ -197,15 +197,15 @@ RUN apt-get update \
197
197
  # Install Holoviz dependencies
198
198
  RUN apt-get update \
199
199
  && apt-get install --no-install-recommends --no-install-suggests --allow-downgrades --allow-change-held-packages -y \
200
- libvulkan1="1.3.204.1-*" \
200
+ libvulkan1="1.3.275.0-*" \
201
201
  # X11 support \
202
- libgl1="1.4.0-*" \
202
+ libgl1="1.7.0-*" \
203
203
  # Wayland support \
204
- libwayland-client0="1.20.0-*" \
205
- libwayland-egl1="1.20.0-*" \
206
- libxkbcommon0="1.4.0-*" \
207
- libdecor-0-plugin-1-cairo="0.1.0-*" \
208
- libegl1="1.4.0-*" \
204
+ libwayland-client0="1.22.0-*" \
205
+ libwayland-egl1="1.22.0-*" \
206
+ libxkbcommon0="1.6.0-*" \
207
+ libdecor-0-plugin-1-cairo="0.2.2-*" \
208
+ libegl1="1.7.0-*" \
209
209
  && rm -rf /var/lib/apt/lists/*
210
210
  # End install Holoviz dependencies
211
211
  {% endif %}
@@ -213,8 +213,8 @@ RUN apt-get update \
213
213
 
214
214
  {% if 'torch' in includes %}
215
215
  # Install torch dependencies
216
- ENV PYTHON_VERSION=3.10.6-1~22.04
217
- ENV PYTHON_PIP_VERSION=22.0.2+dfsg-*
216
+ ENV PYTHON_VERSION=3.12.3-*
217
+ ENV PYTHON_PIP_VERSION=24.0+dfsg-*
218
218
 
219
219
  RUN apt update \
220
220
  && apt-get install -y --no-install-recommends --no-install-suggests \
@@ -223,13 +223,13 @@ RUN apt update \
223
223
  python3=${PYTHON_VERSION} \
224
224
  python3-venv=${PYTHON_VERSION} \
225
225
  python3-pip=${PYTHON_PIP_VERSION} \
226
- libjpeg-turbo8="2.1.2-*" \
227
- libnuma1="2.0.14-*" \
228
- libhwloc15="2.7.0-*" \
229
- libopenblas0="0.3.20+ds-*" \
226
+ libjpeg-turbo8="2.1.5-*" \
227
+ libnuma1="2.0.18-*" \
228
+ libhwloc15="2.10.0-*" \
229
+ libopenblas0="0.3.26+ds-*" \
230
230
  libevent-core-2.1-7 \
231
231
  libevent-pthreads-2.1-7 \
232
- cuda-cupti-12-6 \
232
+ cuda-cupti-12-8 \
233
233
  libcudnn9-cuda-12 \
234
234
  && rm -rf /var/lib/apt/lists/*
235
235
 
@@ -248,7 +248,8 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/sbsa-linux-gnu/
248
248
 
249
249
  # mkl - dependency for libtorch plugin on x86_64 (match pytorch container version)
250
250
  RUN if [ "{{ cuda_deb_arch }}" = "x86_64" ]; then \
251
- python3 -m pip install --no-cache-dir \
251
+ rm -rf /usr/lib/python3.12/EXTERNALLY-MANAGED \
252
+ && python3 -m pip install --no-cache-dir \
252
253
  mkl==2021.1.1 \
253
254
  && \
254
255
  # Clean up duplicate libraries from mkl/tbb python wheel install which makes copies for symlinks.
@@ -291,10 +292,10 @@ COPY --from=onnx-dependencies ${ONNX_RUNTIME} ${ONNX_RUNTIME}
291
292
  {% if gpu_type == "dgpu" %}
292
293
  RUN apt-get update \
293
294
  && apt-get install --no-install-recommends --no-install-suggests --allow-downgrades -y \
294
- libnvinfer10="10.3.*+cuda12.5" \
295
- libnvinfer-plugin10="10.3.*+cuda12.5" \
296
- libnvonnxparsers10="10.3.*+cuda12.5" \
297
- libcusparselt0="0.6.3.2-*" \
295
+ libnvinfer10="10.9.0.34-1+cuda12.8" \
296
+ libnvinfer-plugin10="10.9.0.34-1+cuda12.8" \
297
+ libnvonnxparsers10="10.9.0.34-1+cuda12.8" \
298
+ libcusparselt0="0.7.1.0-*" \
298
299
  libcudnn9-cuda-12 \
299
300
  && rm -rf /var/lib/apt/lists/* \
300
301
  && rm -f /usr/lib/*/libcudnn*train.so*
@@ -316,8 +317,8 @@ HEALTHCHECK --interval=10s --timeout=1s \
316
317
  {% if application_type == 'PythonModule' or application_type == 'PythonFile' %}
317
318
  {% if not 'torch' in includes %}
318
319
  # If torch is installed, we can skip installing Python
319
- ENV PYTHON_VERSION=3.10.6-1~22.04
320
- ENV PYTHON_PIP_VERSION=22.0.2+dfsg-*
320
+ ENV PYTHON_VERSION=3.12.3-*
321
+ ENV PYTHON_PIP_VERSION=24.0+dfsg-*
321
322
 
322
323
  RUN apt update \
323
324
  && apt-get install -y --no-install-recommends --no-install-suggests \
@@ -387,11 +388,11 @@ RUN apt-get install -y --no-install-recommends --no-install-suggests \
387
388
  # Requires libnuma on aarch64
388
389
  RUN apt update \
389
390
  && apt-get install -y --no-install-recommends --no-install-suggests \
390
- libnuma1="2.0.14-*" \
391
+ libnuma1="2.0.18-*" \
391
392
  && rm -rf /var/lib/apt/lists/*
392
393
  {% endif %}
393
394
 
394
-
395
+ RUN if id "ubuntu" >/dev/null 2>&1; then touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu; fi
395
396
  RUN groupadd -f -g $GID $UNAME
396
397
  RUN useradd -rm -d /home/$UNAME -s /bin/bash -g $GID -G sudo -u $UID $UNAME
397
398
  RUN chown -R holoscan {{ working_dir }} && \
@@ -405,6 +406,9 @@ WORKDIR {{ working_dir }}
405
406
  COPY ./tools {{ working_dir }}/tools
406
407
  RUN chmod +x {{ working_dir }}/tools
407
408
 
409
+ # Remove EXTERNALLY-MANAGED directory
410
+ RUN rm -rf /usr/lib/python3.12/EXTERNALLY-MANAGED
411
+
408
412
  # Set the working directory
409
413
  WORKDIR {{ working_dir }}
410
414
 
@@ -378,8 +378,6 @@ main() {
378
378
  if [ -n "${command}" ]; then
379
379
  args=$(printf " %s" "${@}")
380
380
  info "Launching application ${command} ${args:1}..."
381
- echo "Files in /var/holoscan/input"
382
- ls -laR /var/holoscan/input
383
381
  eval ${command} "$@"
384
382
  exit_code=$?
385
383
  info "Application exited with ${exit_code}."
@@ -20,6 +20,7 @@ from argparse import Namespace
20
20
  from ..common.enum_types import SdkType
21
21
  from ..common.sdk_utils import (
22
22
  detect_holoscan_version,
23
+ detect_holoscan_cli_version,
23
24
  detect_monaideploy_version,
24
25
  detect_sdk,
25
26
  )
@@ -40,6 +41,12 @@ def execute_version_command(args: Namespace):
40
41
  except Exception:
41
42
  print("Holoscan SDK: N/A")
42
43
 
44
+ try:
45
+ cli_version = detect_holoscan_cli_version()
46
+ print(f"Holoscan CLI: {cli_version}")
47
+ except Exception:
48
+ print("Holoscan CLI: N/A")
49
+
43
50
  if sdk == SdkType.MonaiDeploy:
44
51
  try:
45
52
  sdk_version = detect_monaideploy_version()
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.3
2
+ Name: holoscan-cli
3
+ Version: 3.4.0
4
+ Summary:
5
+ Requires-Python: >=3.9,<3.13
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Programming Language :: Python :: 3.9
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Requires-Dist: Jinja2 (>=3.1.6,<4.0.0)
12
+ Requires-Dist: packaging (>=25.0,<26.0)
13
+ Requires-Dist: pip (>25.1.0)
14
+ Requires-Dist: psutil (>=7.0.0,<8.0)
15
+ Requires-Dist: python-on-whales (>=0.77.0)
16
+ Requires-Dist: pyyaml (>=6.0,<7.0)
17
+ Requires-Dist: requests (>=2.32,<3.0)
@@ -6,7 +6,7 @@ holoscan_cli/common/constants.py,sha256=4yXMmz-PzHth5Qy4zt4E5bvpG6eQN3KQrjhyagRF
6
6
  holoscan_cli/common/dockerutils.py,sha256=lbDt_TCB8b74FRJljvpV3s_zVD-E4FoH2-3rI8O_BbM,17684
7
7
  holoscan_cli/common/enum_types.py,sha256=qdqMum01uM0-qrF2jyk1GYGoh76xBJsBUX9cvxVbVtA,1711
8
8
  holoscan_cli/common/exceptions.py,sha256=ubN33Av69Xm_CUVC_5DeKx_zO8qfIc_T-_S18xDQguE,2999
9
- holoscan_cli/common/sdk_utils.py,sha256=uDMOM_Jq3SnzDROrFERc8krDS6-BkhOebKV2h9I_-0Y,6659
9
+ holoscan_cli/common/sdk_utils.py,sha256=ehxuUONILiQ7KzYcBuveAowKIKhgF-EY_r2DFli6R2E,7092
10
10
  holoscan_cli/common/utils.py,sha256=3plIFGMWy8WcRB2lL4fTqINlE1CyBkm9CDrIVA1qPDU,3796
11
11
  holoscan_cli/logging.json,sha256=0tfLHoqV5_xH_q4m9gQufHYfYezocFVJxtlEj6UR3qI,809
12
12
  holoscan_cli/nics/__init__.py,sha256=IMHmlnYvJxjlJGi1UxwRG0deK4w9M7-_WWDoCqKcjJE,737
@@ -18,22 +18,22 @@ holoscan_cli/packager/config_reader.py,sha256=oE0Tnp7v9dh_qAj6nPap-_R-YGLpYKGh09
18
18
  holoscan_cli/packager/container_builder.py,sha256=bGGcN2YjRFfvJiLsL_DjznomwkPtrdjcVnTteMz9NX0,18560
19
19
  holoscan_cli/packager/manifest_files.py,sha256=jueQMgZzQ9DhP2KGC1YdndDNwJl3ECunEKicBb3Z9Mc,5957
20
20
  holoscan_cli/packager/models.py,sha256=t3HXROo-obN5iNjKOkp8JvL6WuGP4QSRVZzET6V1wmI,3758
21
- holoscan_cli/packager/package_command.py,sha256=kXeGgSD9pklV1h8gotbGhHTHwcoTMmtiUeNEWRJN-6I,6742
21
+ holoscan_cli/packager/package_command.py,sha256=U3hu0mA8dWyZwN7zzm7hptam8tJDJeG4jLMGLTg7Lqk,6743
22
22
  holoscan_cli/packager/packager.py,sha256=tUM5k-tlvUMq-LzAokub77s_D_6NDJlnRkXSZIuYnmk,4728
23
23
  holoscan_cli/packager/parameters.py,sha256=fSox76djvwV0Qf9q66FJIVbJheYQjtVpxMKCTnaAEQI,19166
24
24
  holoscan_cli/packager/platforms.py,sha256=H9AMr83YkW_Vx8cpp6qJLDCLqa2lcVnSAfkKc6vl6iU,16721
25
- holoscan_cli/packager/templates/Dockerfile.jinja2,sha256=RUV5GKv94qo8O4yIVFys4Abny3uQrqdB8g4awATvU2M,17057
25
+ holoscan_cli/packager/templates/Dockerfile.jinja2,sha256=UyRNcZhNWVRj1qaEav0HgIzuepoYhUL4CPaJQ0oZJog,17329
26
26
  holoscan_cli/packager/templates/dockerignore,sha256=zzBkA9eWgPW4KWyObuYjp13bv_m24AnFUgoENGNhMcY,1755
27
- holoscan_cli/packager/templates/tools.sh,sha256=H--3_TA_C2w20HyEFPW5Tooam_O1dk0k-_UGe1dHfiA,13654
27
+ holoscan_cli/packager/templates/tools.sh,sha256=DnBs-XGWmxSz4XyspSMYwBajDXqUWQgUYD0HxtDw-88,13566
28
28
  holoscan_cli/py.typed,sha256=Z4hkVtwnqwhmVXOMES05WQZWjt4_rFEuditXTouPUJQ,684
29
29
  holoscan_cli/runner/__init__.py,sha256=N3dOMkOWT3adYk_pRKqn2zYgZjVCkpn5u7xatA9_aWQ,738
30
30
  holoscan_cli/runner/resources.py,sha256=R7wLnfwsG67jJD6U8d_gvteycsLPPDfWDYimAmnC-N4,5996
31
31
  holoscan_cli/runner/run_command.py,sha256=CnSyyq0y9rv6kkRtSOi3kOGHuRDLv2RDQ3JUWZ6U-YE,7320
32
32
  holoscan_cli/runner/runner.py,sha256=9TqvzBL5z1boGQXvlBiPiuuMDMg7dQlo40YXO1Le604,10521
33
33
  holoscan_cli/version/__init__.py,sha256=1pf-RBR16STdFXsh82bYly_lUyv1MgxuczbLOTDJRto,743
34
- holoscan_cli/version/version.py,sha256=FL4DUcQ2FA4eyvL8YjR2rcdPCduMnbTBhLNeXlESLsI,1738
35
- holoscan_cli-3.2.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
36
- holoscan_cli-3.2.0.dist-info/METADATA,sha256=3HuKfWkmTPdY46xQOuCwcX9NP8DUqHGBJjej7-1fCv0,3978
37
- holoscan_cli-3.2.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
38
- holoscan_cli-3.2.0.dist-info/entry_points.txt,sha256=ZbJklrhFtmmhqcGvGizL_4Pf9FTRgmZ11LblKPbj8yo,95
39
- holoscan_cli-3.2.0.dist-info/RECORD,,
34
+ holoscan_cli/version/version.py,sha256=1jAgChi39oEl9Rl0BDc30PPJMYeo7m5bMGPBGlRSX2M,1976
35
+ holoscan_cli-3.4.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
36
+ holoscan_cli-3.4.0.dist-info/METADATA,sha256=N3ZsuQtItzwYOEzRocLJfBDdlF6GA1oZHw5XyYb4GGs,607
37
+ holoscan_cli-3.4.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
38
+ holoscan_cli-3.4.0.dist-info/entry_points.txt,sha256=ZbJklrhFtmmhqcGvGizL_4Pf9FTRgmZ11LblKPbj8yo,95
39
+ holoscan_cli-3.4.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,107 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: holoscan-cli
3
- Version: 3.2.0
4
- Summary: Command line interface for packaging and running Holoscan applications.
5
- License: Apache-2.0
6
- Keywords: AI,holoscan,medical,streaming,HPC,nvidia,docker,container
7
- Author: NVIDIA
8
- Maintainer: mocsharp
9
- Requires-Python: >=3.9,<3.13
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Environment :: Console
12
- Classifier: Environment :: GPU :: NVIDIA CUDA :: 12
13
- Classifier: Intended Audience :: Developers
14
- Classifier: Intended Audience :: Education
15
- Classifier: Intended Audience :: Healthcare Industry
16
- Classifier: Intended Audience :: Science/Research
17
- Classifier: License :: OSI Approved :: Apache Software License
18
- Classifier: Operating System :: POSIX :: Linux
19
- Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.9
21
- Classifier: Programming Language :: Python :: 3.10
22
- Classifier: Programming Language :: Python :: 3.11
23
- Classifier: Programming Language :: Python :: 3.12
24
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
25
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
- Classifier: Typing :: Typed
27
- Requires-Dist: Jinja2 (>=3.1.6,<4.0.0)
28
- Requires-Dist: packaging (>=23.1,<24.0)
29
- Requires-Dist: pip (>22.0.2)
30
- Requires-Dist: psutil (>=6.0.0,<7.0.0)
31
- Requires-Dist: python-on-whales (>=0.60.1,<0.61.0)
32
- Requires-Dist: pyyaml (>=6.0,<7.0)
33
- Requires-Dist: requests (>=2.31.0,<3.0.0)
34
- Project-URL: Documentation, https://docs.nvidia.com/holoscan/sdk-user-guide/index.html
35
- Project-URL: Homepage, https://github.com/nvidia-holoscan/holoscan-cli
36
- Project-URL: Repository, https://github.com/nvidia-holoscan/holoscan-cli
37
- Description-Content-Type: text/markdown
38
-
39
- [![Code Check](https://github.com/nvidia-holoscan/holoscan-cli/actions/workflows/check.yaml/badge.svg)](https://github.com/nvidia-holoscan/holoscan-cli/actions/workflows/check.yaml)
40
- [![Coverage Status](https://coveralls.io/repos/github/nvidia-holoscan/holoscan-cli/badge.svg)](https://coveralls.io/github/nvidia-holoscan/holoscan-cli)
41
-
42
- # Holoscan CLI
43
-
44
- Command line interface for packaging and running Holoscan applications.
45
-
46
- ## Overview
47
-
48
- This repository is the home for Holoscan CLI. It includes tools for packaging and running Holoscan applications.
49
-
50
- ## Prerequisites
51
-
52
- You will need a platform supported by [NVIDIA Holoscan SDK](https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html#prerequisites). Refer to the Holoscan SDK User Guide for the latest requirements. In general, Holoscan-supported platforms include:
53
-
54
- - An x64 PC with an Ubuntu operating system and an NVIDIA GPU or
55
- - A supported NVIDIA ARM development kit.
56
-
57
- ## Installation
58
-
59
- Holoscan CLI is delivered as a Python package and can be installed from PyPI.org using one of the following commands:
60
-
61
- | Holoscan SDK Version | Installation Command |
62
- | -------------------- | -------------------------- |
63
- | 2.8 or earlier | `pip install holoscan` |
64
- | 2.9 or later | `pip install holoscan-cli` |
65
-
66
- ## Build From Source
67
-
68
- ### Prerequisites
69
-
70
- To build the Holoscan CLI from source, you will need to clone this repository and install the following dependencies:
71
-
72
- - Python 3.9+.
73
- - [poetry 2.0+](https://python-poetry.org/docs/#installation)
74
-
75
- ### Development Environment
76
-
77
- Holoscan CLI uses [Poetry](https://python-poetry.org/) for package and dependency management. After installing Poetry, run the following commands to get started:
78
-
79
- ```bash
80
- # Create virtual environment
81
- poetry env use python3.12
82
-
83
- # Activate virtual environment
84
- eval $(poetry env activate)
85
-
86
- # Install dependencies
87
- poetry install
88
-
89
- # Configure pre-commit hooks
90
- pre-commit install
91
-
92
- # Run pre-commit against all files
93
- pre-commit run --all-files
94
-
95
- # Build sdist package
96
- poetry build
97
-
98
- # Run tests
99
- poetry run pytest
100
- ```
101
-
102
- For more information on Poetry and its usages, see the [Poetry documentation](https://python-poetry.org/docs/).
103
-
104
- ## Contributing to the Holoscan CLI
105
-
106
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
107
-