Registry / data / scipp
library26.3.1pypypi✓ verified 90d ago

Scipp is a Python library for multi-dimensional data arrays with labeled dimensions, designed for scientific data analysis, especially in neutron and muon scattering. It provides unit-aware data structures and operations, enabling robust handling of physical quantities. The current version is 26.3.1, and it maintains a rapid release cadence with monthly major updates.

pip install scipp
INSTALL
IMPORT
SIG · SCIPP
S
scipp
datapythonv26.3.1
Install
5.1s avg
Import
442ms
Disk
160MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v25.5.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.910 runs
build_error
glibc
py 3.10–3.910 runs
installs and imports cleanly · install 5.1s · import 0.442s · 115MB
160MB installed
● package 160MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

scipp
✓ import scipp as sc
Variable
✓ from scipp import Variable
DataArray
✓ from scipp import DataArray
Dataset
✓ from scipp import Dataset

This quickstart demonstrates how to create a unit-aware `Variable` and then encapsulate it within a `DataArray` along with its coordinates. It then performs a basic operation (sum) that respects Scipp's unit-aware nature.

import scipp as sc import numpy as np # Create a variable with units x = sc.linspace(dim='x', start=0.1, stop=0.9, num=10, unit='m') y = sc.sin(x) # Create a DataArray, including coordinates and data data_array = sc.DataArray(data=y, coords={'x': x}) print("Original DataArray:\n", data_array) # Perform a unit-aware operation (e.g., sum over 'x' dimension) sum_result = data_array.sum('x') print("\nSum along 'x' dimension:\n", sum_result)
Debug
Known issues
breakingScipp dropped support for Python 3.10. Users must upgrade to Python 3.11 or newer.
fix
Upgrade your Python environment to 3.11 or a later version.
affects: >=25.08.0
breakingThe custom HTML representation for Scipp objects in Jupyter notebooks (`sc` notebook HTML repr) was removed. Objects now rely on their standard `__repr__` method.
fix
No direct fix; observe the new default text-based representation. If custom visualization is needed, consider external plotting libraries or manual rendering.
affects: >=26.3.0
gotchaScipp is strictly unit-aware. Operations on `Variable` or `DataArray` objects with incompatible units will raise a `UnitError`.
fix
Ensure units are compatible for operations, convert units using `.to()` method, or explicitly strip units with `var.without_units()` if desired.
affects: All versions
gotchaAccessing the underlying NumPy array data requires using the `.values` attribute. Directly indexing a `Variable` object will result in a `TypeError`.
fix
To get the NumPy array from a `Variable` or `DataArray`'s data, use `my_var.values` or `my_data_array.values`.
affects: All versions
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'scipp'
The scipp package is not installed in the current Python environment.
fix
Run `pip install scipp` to install the library.
scipp.core.UnitError: Units do not match
Attempting an operation (e.g., addition, subtraction) on Scipp variables or data arrays that have incompatible physical units.
fix
Ensure all operands have compatible units. Use `my_var.to(target_unit)` to convert units or `my_var.without_units()` to remove units before the operation.
TypeError: 'Variable' object is not subscriptable
Trying to access elements of a `scipp.Variable` object using array indexing (e.g., `my_variable[0]`) instead of its underlying NumPy array.
fix
Access the underlying NumPy array first using `.values` attribute: `my_variable.values[0]`.
scipp.core.DimensionError: Cannot perform operation ... dimensions ... do not align
Operations between data arrays with non-matching dimensions, dimension labels, or dimension order without explicit alignment.
fix
Ensure dimensions align or explicitly broadcast/reorder them. For element-wise operations, dimensions and their order must match. Use `my_da.transpose()` or ensure common dimensions are present.
Upgrade
Version history
26.3.1latest on PyPI · released Mar 16, 2026
Audit
Dependencies
numpyrequiredCore array manipulation backend.
h5pyoptionalHDF5 file format support.
Agent activity
19 hits · last 30 days
node
18
OpenAI (training)
1
Resources
scipp — pip install scipp · libregistry