silx
Silx tool-kit: collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities
What it is and what it does
silx is a toolkit for scientists and engineers working with data from synchrotron radiation facilities. It provides file I/O for HDF5, SPEC, and image formats via fabio, data reduction routines (histogramming, fitting, filtering), and a set of Qt-based visualization widgets for 1D/2D plots and 3D scalar fields. The package includes command-line utilities for viewing and converting data to HDF5, making it useful both as a library for analysis pipelines and as a standalone data browser.
The toolkit depends on numpy, h5py, fabio, pydantic, packaging, and filelock. It includes Cython-accelerated code paths and optional OpenCL support for image processing tasks like SIFT alignment, median filtering, and tomographic reconstruction. Installation is straightforward on common platforms via pre-built wheels, though compilation may be needed on less common architectures.
Use it for:
- Browse and inspect HDF5 datasets and SPEC files from beamline experiments using the unified viewer.
- Convert experimental data from multiple formats into HDF5 for standardized archival and sharing.
- Perform data reduction tasks like histogram binning, curve fitting, and median filtering on detector images.
- Visualize 1D and 2D scientific data with interactive Qt widgets supporting zoom, pan, and multiple backends.
- Reconstruct tomographic volumes from detector images using filtered backprojection.
- Integrate data I/O and visualization into custom analysis applications via the Python API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
silx provides Python tools for reading, processing, and visualizing scientific data from synchrotron facilities, with support for HDF5, SPEC, and image formats plus Qt-based visualization widgets.
Yes. silx is actively maintained, MIT-licensed, and well-suited for scientists working with synchrotron data. Medium install friction is offset by broad platform support and pre-built wheels. No known vulnerabilities. Install with `pip install silx` for core functionality or `pip install silx[full]` for all optional dependencies.
Install
silx on PyPI
pip
pip install silxuv
uv add silxpoetry
poetry add silxInstalling silx
Before you install
Medium install friction due to compiled extensions (Cython) and multiple platform wheels. Active maintenance with a recent release (4 days old) and ongoing repository activity. Requires Python 3.10 or later.
License in practice
MIT-licensed core with permissive treatment. Some components use BSD-3 and CC0 (colormaps); all are compatible with commercial and proprietary use without restriction.
Quickstart
pip install silx
import silx.io
data = silx.io.open('file.h5')
Requires Python 3.10+; compiled extensions may require a C compiler or pre-built wheels for your platform.
Verify before relying
- Whether Qt widgets require a display server or can run headless in production environments.
- Performance characteristics for large HDF5 files or streaming data scenarios.
- OpenCL acceleration availability and fallback behavior on systems without OpenCL support.
Package facts
| License | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: silx Source: https://github.com/silx-kit/silx Files: * Copyright: 2004-2023 European Synchrotron Radiation… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 6 — numpy, packaging, h5py, fabio, pydantic, filelock |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,303/month — #14,009 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: silx-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl; silx-3.1.0-cp310-cp310-macosx_11_0_arm64.whl; silx-3.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; silx-3.1.0-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl; silx-3.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; silx-3.1.0-cp310-cp310-win_amd64.whl; silx-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl; silx-3.1.0-cp311-cp311-macosx_11_0_arm64.whl; silx-3.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; silx-3.1.0-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl; silx-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; silx-3.1.0-cp311-cp311-win_amd64.whl; silx-3.1.0-cp311-cp311-win_arm64.whl; silx-3.1.0-cp312-cp312-macosx_10_13_x86_64.whl; silx-3.1.0-cp312-cp312-macosx_11_0_arm64.whl; silx-3.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; silx-3.1.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl; silx-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; silx-3.1.0-cp312-cp312-win_amd64.whl; silx-3.1.0-cp312-cp312-win_arm64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyqtgraphPyQtGraph is a pure-Python graphics library for…
permissive · top 5,000 on PyPI
fabioFabIO reads and writes 2D X-ray detector images…
permissive · top 15,000 on PyPI
rosettasciioRosettaSciIO reads and writes scientific data…
copyleft · top 15,000 on PyPI
libhreelsLibhreels reads, analyzes, and simulates…
unclear · top 15,000 on PyPI
lscsoft-glueLSCSoft-GLUE provides utilities and grid access…
copyleft · top 15,000 on PyPI
naparinapari is an interactive, multi-dimensional…
permissive · top 15,000 on PyPI
PySide6-EssentialsPySide6 Essentials provides Python bindings to…
copyleft · top 5,000 on PyPI
hdf5pluginRegisters HDF5 compression filters (Blosc,…
unclear · top 15,000 on PyPI
pymatreaderReads MATLAB .mat files in both legacy and…
permissive · top 15,000 on PyPI
vispyVisPy is a GPU-accelerated 2D/3D visualization…
permissive · top 5,000 on PyPI