Skip to main content

The Holoscan SDK: building high-performance AI streaming applications

Project description

Holoscan SDK

The Holoscan SDK Python Wheel is part of NVIDIA Holoscan, 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 with the Holoscan SDK.

Prerequisites

  • Prerequisites for each supported platform are documented in the user guide. 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 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.
    • 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:
      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 is installed.
  • Jetson: Re-install JetPack 6.0.
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.
    • 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:
      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 is installed.
  • Jetson: Re-install JetPack 6.0.
     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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

holoscan-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl (34.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

holoscan-2.5.0-cp311-cp311-manylinux_2_35_aarch64.whl (32.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ ARM64

holoscan-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl (34.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

holoscan-2.5.0-cp310-cp310-manylinux_2_35_aarch64.whl (32.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ ARM64

holoscan-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl (34.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

holoscan-2.5.0-cp39-cp39-manylinux_2_35_aarch64.whl (32.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ ARM64

holoscan-2.5.0-cp38-cp38-manylinux_2_35_x86_64.whl (34.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

holoscan-2.5.0-cp38-cp38-manylinux_2_35_aarch64.whl (32.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ ARM64

File details

Details for the file holoscan-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 2a98f851cefcc635669aba9ab560ffa9ba41b37106e8267479949e71da928560
MD5 a3d7b8e6ad59c4d184566d633894c087
BLAKE2b-256 e43ea3fed4794f66e2fdcae2c09f03ea2b75b2f81de97a9fd30e5dcf7b30087a

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp311-cp311-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp311-cp311-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 b1acb560ea45b2c7703cd016cb4b6f8c0357fdd1dd72336e736956193b85096c
MD5 74127ae512e2fec77cc9a06817a8ab4a
BLAKE2b-256 4b37cd1ffefa270fd11720b36d21c1248dac108bd5d40c68e22bad19f4d89530

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 eb8e1a0ffc3951c209fb1a1a2d53751ace394415cba3840033823429670f7571
MD5 9fcbca865a957d2d9acc4bcd23a0f507
BLAKE2b-256 0f437f6ada398fe31861a451ea84bd245d6d598dacd089042a29edc4d908de81

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp310-cp310-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp310-cp310-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 8b1e0026cf7985654d9fc0134049372fa71a8576ba9dce2243c1bab6b7991b41
MD5 5b3450c4178652ed92be09a56f4fbdb2
BLAKE2b-256 abb3e276c5f03b0ceae6a7b559e3bf7d6a4990d9ab4bb958348f99f595d1a774

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 1bb96ce74c2ecbf23f873e57625e90d03a32aebca15dfb47b7f290539ca8ef70
MD5 d7bea769dfdce5667debf21eba6dd724
BLAKE2b-256 0dd1f2c218bf8470832bd11e1aa27313129222fb3a2fc22a2b259f579bfc6adf

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp39-cp39-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp39-cp39-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 95a6f7eecdc4e2c93ff5d932e24ccba0b5e5c4ef9ec9ccd146355c6d40e6f36a
MD5 84d5a73e36c6d66bb1b48da0111a29dc
BLAKE2b-256 5bc735b20f32c77124ffce57dcdca97c047f314e24c130f4a11b76f009180a81

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp38-cp38-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 d9bfe1662e0dc953b52861af605f31bea5122157b8076506b8d172f5bb53693b
MD5 c0cc4084d2fbbc67d2724a4c8d6daa10
BLAKE2b-256 64c89e82d94d0cbabeaa114eb48ec9c0a180d669191c9086e5eb1a87d63521cd

See more details on using hashes here.

File details

Details for the file holoscan-2.5.0-cp38-cp38-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for holoscan-2.5.0-cp38-cp38-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 0efb2d8e9fad2b23ae9255d86e554287f54de264e360b2e98f35931599859710
MD5 7cc8f3a98d1539bb6643937df4323da9
BLAKE2b-256 82ead7728c8d0b2b541569229527a861f5a3c74d05d910606410bf0d8121d5fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page