Skip to content

Installation

PySDK Supported Configurations

The table below lists operating systems, CPU architectures, and Python versions supported by latest released PySDK version.

Operating System Supported CPU Architectures Supported Python Versions
Ubuntu Linux 20.04, 22.04 x86-64 3.8 ... 3.12
Ubuntu Linux 20.04, 22.04 ARM AArch64 3.8 ... 3.12
Raspberry Pi OS (64 bit) ARM AArch64 3.9
Windows 10/11 x86-64 3.8 ... 3.12
macOS 12 x86-64 3.9
macOS 12 ARM AArch64 3.9

Basic Installation of PySDK Python Package

It is recommended to install PySDK in a virtual environment. Please see PySDK Supported Configurations for a list of supported system configurations.

To install DeGirum PySDK from PyPI.org use the following command:

Install

python3 -m pip install degirum

To do clean upgrade to the most recent PySDK version use the following command:

Clean upgrade

python3 -m pip uninstall -y degirum && python3 -m pip install degirum

If during the installation you get the following errors:

Failure

ERROR: Could not find a version that the requirement degirum
ERROR: No matching distribution found for degirum

then try to upgrade pip package by running the following command:

Upgrade pip

python3 -m pip install -U pip

On Windows, install the Visual C++ Redistributable for Visual Studio 2015 and above.

DeGirum Docker Images

For the ease of deployment, DeGirum provides Docker images for the DeGirum AI server and PySDK AI client installations.

Please follow this GitHub link to DeGirum Docker repo for details how to run these images and for corresponding source Dockerfiles.

OpenVino Runtime in PySDK

PySDK supports OpenVino versions 2022.1.1, 2023.2.0 and 2023.3.0. Version 2023.3.0 is recommended.

Linux Installation

On Linux, installation via apt or via archive is supported.

NPU Requirement

Currently, NPU requires that OpenVino be installed via archive.

To install OpenVino via apt, see the instructions here.

To install OpenVino via archive, see the instructions here.

Configuring Environment

If you installed OpenVino via archive, whenever you open a new terminal to use any degirum command, make sure to run

source <OpenVinoDirectory>/setupvars.sh

Windows Installation

On Windows, installation via archive is supported.

To install OpenVino via archive, see the instructions here.

Configuring Environment

Whenever you open a new terminal to use any degirum command, make sure to run

<OpenVinoDirectory>\setupvars.bat

GPU Drivers for OpenVino

To install Intel GPU drivers, see the instructions here.

Note

Currently, PySDK does not support any integrated GPUs.

NPU Drivers for OpenVino

The Linux NPU driver, as well as the instructions, is available here.

The Windows NPU driver is available here. The instructions are here.

Sometimes, the NPU can be disabled in UEFI by default. Make sure it is enabled. The procedure for enabling the NPU varies based on the UEFI.

ONNX Runtime in PySDK

PySDK supports version 1.15.1 of ONNX Runtime, on Linux, Windows, and Mac.

To install the ONNX runtime, download an 1.15.1 archive for your system here. Do not use the "-training-" archives. Then, extract it into an appropriate directory:

  • On Windows, extract the archive to C:\Program Files, C:\Program Files (x86), or C:\ProgramData.
  • On Linux, extract the archive to /usr/local/.
  • On Mac, extract the archive to /usr/local/.

Directory Name

Do not rename the onnxruntime-<os>-<architecture>-1.15.1 directory after you extract it.

Verification

After installing third party runtimes and any needed device drivers, you can verify PySDK access to the runtimes and the devices by using the system information command:

Verification

degirum sys-info

The output should contain all the devices available to PySDK and some information about them. Devices are listed as <runtime>/<device type>, for example, ONNX/CPU for CPU access via ONNX, or OPENVINO/NPU for NPU access via OpenVino.

Example of degirum sys-info output

Devices:
<other device types>
<runtime>/<device type>:
- '@Index': 0
  <device dependent information, optional>
- '@Index': 1
  <device dependent information, optional>
  <other devices>
<other device types>