# Holoscan SDK
The **Holoscan SDK Python Wheel** is part of [NVIDIA Holoscan](https://developer.nvidia.com/holoscan-sdk), the AI sensor processing platform that combines hardware systems for low-latency sensor and network connectivity, optimized libraries for data processing and AI, and core microservices to run streaming, imaging, and other applications, from embedded to edge to cloud. It can be used to build streaming AI pipelines for a variety of domains, including Medical Devices, High Performance Computing at the Edge, Industrial Inspection and more.
## Getting Started
Visit the Holoscan User Guide to [get started](https://docs.nvidia.com/holoscan/sdk-user-guide/getting_started.html) with the Holoscan SDK.
## Prerequisites
- Prerequisites for each supported platform are documented in [the user guide](https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html#prerequisites). Note that the python wheels have a lot of optional dependencies which you may install manually based on your needs (see compatibility matrix at the bottom).
- The Holoscan SDK python wheels are only formally tested on Ubuntu 22.04. They are, however, expected to work on any Linux distribution with glibc 2.35 or above (see output of `ldd --version`) and CUDA Runtime 12.2 or above.
- Python: 3.8 to 3.11
## Troubleshooting
> Version 0.6.0 gets installed instead of the latest version
The latest version of the wheels were built and tested on Ubuntu 22.04 with glibc 2.35. You'll need to switch to a Linux distribution with a more recent version of glibc to use the Holoscan SDK python wheels 1.0 or above (check your version with `ldd --version`), or use the [Holoscan SDK NGC container](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/containers/holoscan) instead.
> ```
> ERROR: Could not find a version that satisfies the requirement holoscan==<version>
> ERROR: No matching distribution found for holoscan==<version>
> ```
Same as above, OR incompatible python version.
> ```
> libc.so.6: version 'GLIBC_2.32 not found
> libstdc++.so.6: version `GLIBCXX_3.4.29` not found
> ```
Same as above.
> ```
> ImportError: libcudart.so.12: cannot open shared object file: No such file or directory
> ```
CUDA runtime is missing from your system (required even for CPU only pipelines).
- **x86_64**: Follow the official [installation steps](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html).
- Note: while Holoscan does not use the CUDA Python API, you could install the CUDA runtime python wheel if you prefer to use `pip` instead of installing it system-wide: `python3 -m pip install nvidia-cuda-runtime-cu12`. Before calling an Holoscan application, ensure to update your `LD_LIBRARY_PATH` environment variable to include the path to these CUDA libs, for example:
```sh
export CUDA_WHL_LIB_DIR=$(python3 -c 'import nvidia.cuda_runtime; print(nvidia.cuda_runtime.__path__[0])')/lib
export LD_LIBRARY_PATH="$CUDA_WHL_LIB_DIR:$LD_LIBRARY_PATH"
```
- **IGX Orin**: Ensure the [compute stack](https://docs.nvidia.com/igx-orin/user-guide/latest/base-os.html#installing-the-compute-stack) is installed.
- **Jetson**: Re-install [JetPack 6.0](https://developer.nvidia.com/embedded/jetpack).
> ```
> Error: libnvinfer.so.8: cannot open shared object file: No such file or directory
> ...
> Error: libnvonnxparser.so.8: cannot open shared object file: No such file or directory
> ```
TensorRT is missing from your system (note that it is only needed by the `holoscan.operators.InferenceOp` operator.).
- **x86_64**: Follow the official [installation steps](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html).
- Note: you can also install the TensorRT libraries python wheel if you prefer to use `pip` instead of installing it system-wide: `python3 -m pip install tensorrt-libs~=8.6.1 --index-url https://pypi.nvidia.com`. Before calling an Holoscan application, ensure to update your `LD_LIBRARY_PATH` environment variable to include the path to these TensorRT libs, for example:
```sh
export TRT_WHL_LIB_DIR=$(python3 -c 'import tensorrt_libs; print(tensorrt_libs.__path__[0])')
export CUDNN_WHL_LIB_DIR=$(python3 -c 'import nvidia.cudnn; print(nvidia.cudnn.__path__[0])')/lib
export CUBLAS_WHL_LIB_DIR=$(python3 -c 'import nvidia.cublas; print(nvidia.cublas.__path__[0])')/lib
export LD_LIBRARY_PATH="$TRT_WHL_LIB_DIR:$CUDNN_WHL_LIB_DIR:$CUBLAS_WHL_LIB_DIR:$LD_LIBRARY_PATH"
```
- **IGX Orin**: Ensure the [compute stack](https://docs.nvidia.com/igx-orin/user-guide/latest/base-os.html#installing-the-compute-stack) is installed.
- **Jetson**: Re-install [JetPack 6.0](https://developer.nvidia.com/embedded/jetpack).
> ```
> from pip._internal.models.scheme import SCHEME_KEYS
> ModuleNotFoundError: No module named 'pip'
> ...
> ImportError: libholoscan_core.so.2: cannot open shared object file: No such file or directory
> ```
Your version of `pip` is either too old (< 20.2) or you are trying to install `holoscan` with system `pip` which cannot be found to resolve the Holoscan library symlinks.
To resolve, either:
- install `holoscan` in a virtual environment, or
- uninstall `holoscan`, upgrade pip on your system with `python3 -m pip install --upgrade pip`, and reinstall `holoscan`
Raw data
{
"_id": null,
"home_page": "https://github.com/nvidia-holoscan",
"name": "holoscan",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "AI, CUDA, medical, streaming, HPC, nvidia",
"author": "NVIDIA Corporation",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# Holoscan SDK\n\nThe **Holoscan SDK Python Wheel** is part of [NVIDIA Holoscan](https://developer.nvidia.com/holoscan-sdk), the AI sensor processing platform that combines hardware systems for low-latency sensor and network connectivity, optimized libraries for data processing and AI, and core microservices to run streaming, imaging, and other applications, from embedded to edge to cloud. It can be used to build streaming AI pipelines for a variety of domains, including Medical Devices, High Performance Computing at the Edge, Industrial Inspection and more.\n\n## Getting Started\n\nVisit the Holoscan User Guide to [get started](https://docs.nvidia.com/holoscan/sdk-user-guide/getting_started.html) with the Holoscan SDK.\n\n## Prerequisites\n\n- Prerequisites for each supported platform are documented in [the user guide](https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html#prerequisites). Note that the python wheels have a lot of optional dependencies which you may install manually based on your needs (see compatibility matrix at the bottom).\n- The Holoscan SDK python wheels are only formally tested on Ubuntu 22.04. They are, however, expected to work on any Linux distribution with glibc 2.35 or above (see output of `ldd --version`) and CUDA Runtime 12.2 or above.\n- Python: 3.8 to 3.11\n\n## Troubleshooting\n\n> Version 0.6.0 gets installed instead of the latest version\n\nThe latest version of the wheels were built and tested on Ubuntu 22.04 with glibc 2.35. You'll need to switch to a Linux distribution with a more recent version of glibc to use the Holoscan SDK python wheels 1.0 or above (check your version with `ldd --version`), or use the [Holoscan SDK NGC container](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/containers/holoscan) instead.\n\n> ```\n> ERROR: Could not find a version that satisfies the requirement holoscan==<version>\n> ERROR: No matching distribution found for holoscan==<version>\n> ```\n\nSame as above, OR incompatible python version.\n\n> ```\n> libc.so.6: version 'GLIBC_2.32 not found\n> libstdc++.so.6: version `GLIBCXX_3.4.29` not found\n> ```\n\nSame as above.\n\n> ```\n> ImportError: libcudart.so.12: cannot open shared object file: No such file or directory\n> ```\n\nCUDA runtime is missing from your system (required even for CPU only pipelines).\n\n- **x86_64**: Follow the official [installation steps](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html).\n - Note: while Holoscan does not use the CUDA Python API, you could install the CUDA runtime python wheel if you prefer to use `pip` instead of installing it system-wide: `python3 -m pip install nvidia-cuda-runtime-cu12`. Before calling an Holoscan application, ensure to update your `LD_LIBRARY_PATH` environment variable to include the path to these CUDA libs, for example:\n ```sh\n export CUDA_WHL_LIB_DIR=$(python3 -c 'import nvidia.cuda_runtime; print(nvidia.cuda_runtime.__path__[0])')/lib\n export LD_LIBRARY_PATH=\"$CUDA_WHL_LIB_DIR:$LD_LIBRARY_PATH\"\n ```\n- **IGX Orin**: Ensure the [compute stack](https://docs.nvidia.com/igx-orin/user-guide/latest/base-os.html#installing-the-compute-stack) is installed.\n- **Jetson**: Re-install [JetPack 6.0](https://developer.nvidia.com/embedded/jetpack).\n\n> ```\n> Error: libnvinfer.so.8: cannot open shared object file: No such file or directory\n> ...\n> Error: libnvonnxparser.so.8: cannot open shared object file: No such file or directory\n> ```\n\nTensorRT is missing from your system (note that it is only needed by the `holoscan.operators.InferenceOp` operator.).\n\n- **x86_64**: Follow the official [installation steps](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html).\n - Note: you can also install the TensorRT libraries python wheel if you prefer to use `pip` instead of installing it system-wide: `python3 -m pip install tensorrt-libs~=8.6.1 --index-url https://pypi.nvidia.com`. Before calling an Holoscan application, ensure to update your `LD_LIBRARY_PATH` environment variable to include the path to these TensorRT libs, for example:\n ```sh\n export TRT_WHL_LIB_DIR=$(python3 -c 'import tensorrt_libs; print(tensorrt_libs.__path__[0])')\n export CUDNN_WHL_LIB_DIR=$(python3 -c 'import nvidia.cudnn; print(nvidia.cudnn.__path__[0])')/lib\n export CUBLAS_WHL_LIB_DIR=$(python3 -c 'import nvidia.cublas; print(nvidia.cublas.__path__[0])')/lib\n export LD_LIBRARY_PATH=\"$TRT_WHL_LIB_DIR:$CUDNN_WHL_LIB_DIR:$CUBLAS_WHL_LIB_DIR:$LD_LIBRARY_PATH\"\n ```\n- **IGX Orin**: Ensure the [compute stack](https://docs.nvidia.com/igx-orin/user-guide/latest/base-os.html#installing-the-compute-stack) is installed.\n- **Jetson**: Re-install [JetPack 6.0](https://developer.nvidia.com/embedded/jetpack).\n\n> ```\n> from pip._internal.models.scheme import SCHEME_KEYS\n> ModuleNotFoundError: No module named 'pip'\n> ...\n> ImportError: libholoscan_core.so.2: cannot open shared object file: No such file or directory\n> ```\n\nYour version of `pip` is either too old (< 20.2) or you are trying to install `holoscan` with system `pip` which cannot be found to resolve the Holoscan library symlinks.\n\nTo resolve, either:\n\n- install `holoscan` in a virtual environment, or\n- uninstall `holoscan`, upgrade pip on your system with `python3 -m pip install --upgrade pip`, and reinstall `holoscan`\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "The Holoscan SDK: building high-performance AI streaming applications",
"version": "2.5.0",
"project_urls": {
"Documentation": "https://docs.nvidia.com/holoscan/sdk-user-guide/index.html",
"Homepage": "https://github.com/nvidia-holoscan",
"Issue Tracker": "https://github.com/nvidia-holoscan/holoscan-sdk/issues",
"Source": "https://github.com/nvidia-holoscan/holoscan-sdk"
},
"split_keywords": [
"ai",
" cuda",
" medical",
" streaming",
" hpc",
" nvidia"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "abb3e276c5f03b0ceae6a7b559e3bf7d6a4990d9ab4bb958348f99f595d1a774",
"md5": "5b3450c4178652ed92be09a56f4fbdb2",
"sha256": "8b1e0026cf7985654d9fc0134049372fa71a8576ba9dce2243c1bab6b7991b41"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp310-cp310-manylinux_2_35_aarch64.whl",
"has_sig": false,
"md5_digest": "5b3450c4178652ed92be09a56f4fbdb2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 32683548,
"upload_time": "2024-10-01T18:41:38",
"upload_time_iso_8601": "2024-10-01T18:41:38.953002Z",
"url": "https://files.pythonhosted.org/packages/ab/b3/e276c5f03b0ceae6a7b559e3bf7d6a4990d9ab4bb958348f99f595d1a774/holoscan-2.5.0-cp310-cp310-manylinux_2_35_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0f437f6ada398fe31861a451ea84bd245d6d598dacd089042a29edc4d908de81",
"md5": "9fcbca865a957d2d9acc4bcd23a0f507",
"sha256": "eb8e1a0ffc3951c209fb1a1a2d53751ace394415cba3840033823429670f7571"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl",
"has_sig": false,
"md5_digest": "9fcbca865a957d2d9acc4bcd23a0f507",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 34322100,
"upload_time": "2024-10-01T18:41:43",
"upload_time_iso_8601": "2024-10-01T18:41:43.534210Z",
"url": "https://files.pythonhosted.org/packages/0f/43/7f6ada398fe31861a451ea84bd245d6d598dacd089042a29edc4d908de81/holoscan-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4b37cd1ffefa270fd11720b36d21c1248dac108bd5d40c68e22bad19f4d89530",
"md5": "74127ae512e2fec77cc9a06817a8ab4a",
"sha256": "b1acb560ea45b2c7703cd016cb4b6f8c0357fdd1dd72336e736956193b85096c"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp311-cp311-manylinux_2_35_aarch64.whl",
"has_sig": false,
"md5_digest": "74127ae512e2fec77cc9a06817a8ab4a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 32715247,
"upload_time": "2024-10-01T18:41:47",
"upload_time_iso_8601": "2024-10-01T18:41:47.453096Z",
"url": "https://files.pythonhosted.org/packages/4b/37/cd1ffefa270fd11720b36d21c1248dac108bd5d40c68e22bad19f4d89530/holoscan-2.5.0-cp311-cp311-manylinux_2_35_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e43ea3fed4794f66e2fdcae2c09f03ea2b75b2f81de97a9fd30e5dcf7b30087a",
"md5": "a3d7b8e6ad59c4d184566d633894c087",
"sha256": "2a98f851cefcc635669aba9ab560ffa9ba41b37106e8267479949e71da928560"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl",
"has_sig": false,
"md5_digest": "a3d7b8e6ad59c4d184566d633894c087",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 34355425,
"upload_time": "2024-10-01T18:41:52",
"upload_time_iso_8601": "2024-10-01T18:41:52.427739Z",
"url": "https://files.pythonhosted.org/packages/e4/3e/a3fed4794f66e2fdcae2c09f03ea2b75b2f81de97a9fd30e5dcf7b30087a/holoscan-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "82ead7728c8d0b2b541569229527a861f5a3c74d05d910606410bf0d8121d5fd",
"md5": "7cc8f3a98d1539bb6643937df4323da9",
"sha256": "0efb2d8e9fad2b23ae9255d86e554287f54de264e360b2e98f35931599859710"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp38-cp38-manylinux_2_35_aarch64.whl",
"has_sig": false,
"md5_digest": "7cc8f3a98d1539bb6643937df4323da9",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 32681759,
"upload_time": "2024-10-01T18:41:57",
"upload_time_iso_8601": "2024-10-01T18:41:57.675335Z",
"url": "https://files.pythonhosted.org/packages/82/ea/d7728c8d0b2b541569229527a861f5a3c74d05d910606410bf0d8121d5fd/holoscan-2.5.0-cp38-cp38-manylinux_2_35_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "64c89e82d94d0cbabeaa114eb48ec9c0a180d669191c9086e5eb1a87d63521cd",
"md5": "c0cc4084d2fbbc67d2724a4c8d6daa10",
"sha256": "d9bfe1662e0dc953b52861af605f31bea5122157b8076506b8d172f5bb53693b"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp38-cp38-manylinux_2_35_x86_64.whl",
"has_sig": false,
"md5_digest": "c0cc4084d2fbbc67d2724a4c8d6daa10",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 34320160,
"upload_time": "2024-10-01T18:42:03",
"upload_time_iso_8601": "2024-10-01T18:42:03.140696Z",
"url": "https://files.pythonhosted.org/packages/64/c8/9e82d94d0cbabeaa114eb48ec9c0a180d669191c9086e5eb1a87d63521cd/holoscan-2.5.0-cp38-cp38-manylinux_2_35_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5bc735b20f32c77124ffce57dcdca97c047f314e24c130f4a11b76f009180a81",
"md5": "84d5a73e36c6d66bb1b48da0111a29dc",
"sha256": "95a6f7eecdc4e2c93ff5d932e24ccba0b5e5c4ef9ec9ccd146355c6d40e6f36a"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp39-cp39-manylinux_2_35_aarch64.whl",
"has_sig": false,
"md5_digest": "84d5a73e36c6d66bb1b48da0111a29dc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 32688932,
"upload_time": "2024-10-01T18:42:08",
"upload_time_iso_8601": "2024-10-01T18:42:08.096558Z",
"url": "https://files.pythonhosted.org/packages/5b/c7/35b20f32c77124ffce57dcdca97c047f314e24c130f4a11b76f009180a81/holoscan-2.5.0-cp39-cp39-manylinux_2_35_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dd1f2c218bf8470832bd11e1aa27313129222fb3a2fc22a2b259f579bfc6adf",
"md5": "d7bea769dfdce5667debf21eba6dd724",
"sha256": "1bb96ce74c2ecbf23f873e57625e90d03a32aebca15dfb47b7f290539ca8ef70"
},
"downloads": -1,
"filename": "holoscan-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl",
"has_sig": false,
"md5_digest": "d7bea769dfdce5667debf21eba6dd724",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 34327857,
"upload_time": "2024-10-01T18:42:12",
"upload_time_iso_8601": "2024-10-01T18:42:12.914902Z",
"url": "https://files.pythonhosted.org/packages/0d/d1/f2c218bf8470832bd11e1aa27313129222fb3a2fc22a2b259f579bfc6adf/holoscan-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-01 18:41:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nvidia-holoscan",
"github_project": "holoscan-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "holoscan"
}