Installation

Installation#

pySigLib requires an installation of the MSVC compiler in order to compile the package. Please ensure this exists, then run:

pip install pysiglib

pySigLib will automatically detect CUDA, provided the CUDA_PATH environment variable is set correctly. To manually disable CUDA and build pySigLib for CPU only, set the CUSIG environment variable to 0:

set CUSIG=0
pip install pysiglib

pySigLib requires an installation of the GCC compiler in order to compile the package. Please ensure this exists, then run:

pip install pysiglib

pySigLib will automatically detect CUDA, provided the CUDA_PATH environment variable is set correctly. On most systems, this path will be /usr/lib/nvidia-cuda-toolkit and one can set it manually by running:

export CUDA_PATH=/usr/lib/nvidia-cuda-toolkit

To manually disable CUDA and build pySigLib for CPU only, set the CUSIG environment variable to 0:

export CUSIG=0
pip install pysiglib

pySigLib requires the Xcode Command Line Tools in order to compile the package. Please ensure these are installed (xcode-select --install), then run:

pip install pysiglib

pySigLib does not support CUDA on macOS, and will build without it when installed.

Build Options#

The following environment variables can be used to control the build:

Variable

Default

Description

CUSIG

ON

Set to 0 to disable CUDA and build for CPU only.

SIGLIB_VEC

ON

Set to 0 to disable AVX vectorization.

CUDA_ARCH

native

CUDA architectures to compile for. Accepts native (local GPU only), all (all architectures), all-major, or a semicolon-separated list (e.g. "80;89;90"). Use all when building portable wheels.

Editable Installs#

pySigLib supports editable installs for development:

pip install -e .

Citation#

If you found this library useful in your research, please consider citing the paper:

@article{shmelev2025pysiglib,
  title={pySigLib-Fast Signature-Based Computations on CPU and GPU},
  author={Shmelev, Daniil and Salvi, Cristopher},
  journal={arXiv preprint arXiv:2509.10613},
  year={2025}
}