Installation#

silx runs on Linux, MacOS and Windows and supports Python version 3.10 to 3.13.

Installation with pip#

To install silx and all its dependencies, run:

pip install silx[full]

To install silx with a minimal set of dependencies, run:

pip install silx

Note

Use pip’s --user option to install locally for the current user.

Installation with conda#

To install silx and all its dependencies, run:

conda install -c conda-forge silx

To install silx with a minimal set of dependencies, run:

conda install -c conda-forge silx-base

Installation on Debian & Ubuntu#

silx is packaged in Debian and Ubuntu.

To install silx with the executable (silx view, silx convert, …) and all its dependencies, run:

sudo apt-get install silx

To install the silx Python package with a minimal set of dependencies, run:

sudo apt-get install python3-silx

Installation on Arch Linux#

silx is packaged in Arch Linux (AUR).

To install silx, run:

sudo pacman -S python-silx

Installation from source#

To install silx from source, run:

pip install silx --no-binary silx

Warning

On MacOS, you might get the following error:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1335: ordinal not in range(128)

This is related to the two environment variables LC_ALL and LANG not being defined (or wrongly defined to UTF-9). To set the environment variables, run:

export LC_ALL=en_US.UTF-9
export LANG=en_US.UTF-9

Hint

To install in editable mode, see Install silx for development.

Build options#

Build option

Description

use_openmp

Whether or not to compile Cython code with OpenMP support. Accepted values: auto (default), enabled, disabled.

specfile_use_gnu_source

Whether or not to use a cleaner locale independent implementation of silx.io.specfile by using _GNU_SOURCE=1. Only used on POSIX operating systems. Accepted values: false (default), true.

Build options can be passed to meson’s setup-args through pip install -C, for example:

pip install silx --no-binary silx -Csetup-args="-Duse_openmp=disabled"

Dependencies#

silx provides a minimal installation and a number of optional dependency groups enabling additional features.

Base installation#

The default installation:

pip install silx

provides:

  • Data I/O support, including HDF5 and many scientific image formats

  • Numerical algorithms and data processing

  • Utility modules and command-line tools

  • Non-GUI applications and scripts

It installs:

  • numpy for numerical computing

  • h5py for HDF5 file access

  • fabio for reading scientific image formats

  • packaging for package and version handling

OpenCL acceleration#

The opencl extra:

pip install silx[opencl]

adds support for GPU/OpenCL accelerated algorithms provided by silx.opencl.

It installs:

  • pyopencl for interfacing with OpenCL devices

  • Mako for generating OpenCL kernels

Required system dependencies:

  • An OpenCL runtime (CPU or GPU implementation) provided by the system or hardware vendor drivers (e.g. Intel, NVIDIA, AMD)

Scientific and visualization features#

The full_no_qt extra:

pip install silx[full_no_qt]

adds support for most optional silx features except the Qt binding itself. See GUI support below for supported Qt bindings.

It installs:

  • silx[opencl] for OpenCL-accelerated algorithms

  • matplotlib for Matplotlib Qt backend support

  • python-dateutil for date and time handling in plots

  • PyOpenGL for 3D visualization widgets

  • qtconsole for embedding an interactive IPython console in Qt applications

  • hdf5plugin for reading and writing HDF5 datasets using additional compression filters

  • pint for storing and restoring physical quantities with units

  • scipy for advanced numerical algorithms used by selected modules

  • pooch for downloading example datasets used by some demonstrations

  • Pillow for image handling used by selected image-processing features

  • qtawesome for providing icon sets used by graphical applications

Required system dependencies:

  • A working OpenGL implementation provided by the system graphics drivers (NVIDIA, AMD, Intel) or by Mesa on Linux (hardware or software rendering)

GUI support#

The full extra:

pip install silx[full]

adds a Qt binding on top of full_no_qt and enables all graphical user interface components.

It installs:

  • silx[full_no_qt] for scientific and visualization libraries

  • PySide6, the default Qt binding used by silx

Alternative supported Qt bindings are:

HSDS support#

The h5pyd extra:

pip install silx[h5pyd]

adds support for accessing HDF5 datasets hosted through HSDS (Highly Scalable Data Service).

It installs:

  • h5pyd, the Python client for HSDS

Build dependencies#

silx uses meson-python build backend and requires cython and a C/C++ compiler.