Blosc2

Latest version: v3.2.1

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 18

3.2.1

* The array containers are now using the `__array_interface__` protocol to
expose the data in the array. This allows for better interoperability with
other libraries that support the `__array_interface__` protocol, like NumPy,
CuPy, etc. Now, the range of functions that can be used within the `blosc2.jit`
decorator is way larger, and essentially all NumPy functions should work now.

See examples at: https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/jit-numpy-funcs.py
See benchmarks at: https://github.com/Blosc/python-blosc2/blob/main/bench/ndarray/jit-numpy-funcs.py

* The performance of constructors like `arange()`, `linspace()` and `fromiter()`
has been improved. Now, they can be up to 3x faster, specially with large
arrays.

* C-Blosc2 updated to 2.17.1. This fixes various UB as well as compiler warnings.

3.2.0

* Structured arrays can be larger than 255 bytes now. This was a limitation in the previous versions, but now it is gone (the new limit is ~512 MB, which I hope will be enough for some time).

* New `blosc2.matmul()` function for computing matrix multiplication on NDArray instances. This allows for efficient computations on compressed data that can be in-memory, on-disk and in the network. See [here](https://www.blosc.org/python-blosc2/reference/autofiles/operations_with_arrays/blosc2.matmul.html) for more information.

* Support for building WASM32 wheels. This is a new feature that allows to build wheels for WebAssembly 32-bit platforms. This is useful for running Python code in the browser.

* Tested support for NumPy<2 (at least 1.26 series). Now, the library should work with NumPy 1.26 and up.

* C-Blosc2 updated to 2.17.0.

* `httpx` has been replaced by the `requests` library for the remote proxy. This was necessary to avoid the need of the `httpx` library, which is not supported by Pyodide.

3.1.1

* Quick release to fix an issue with version number in the package (was reporting 3.0.0
instead of 3.1.0).

3.1.0

Improvements

* Optimizations for the compute engine. Now, it is faster and uses less memory.
In particular, careful attention has been paid to the memory handling, as
this is the main bottleneck for the compute engine in many instances.

* Improved detection of CPU cache sizes for Linux and macOS. In particular,
support for multi-CCX (AMD EPYC) and multi-socket systems has been implemented.
Now, the library should be able to detect the cache sizes for most of the
CPUs out there (specially on Linux).

* Optimization on NDArray slicing when the slice is a single chunk. This is a
common operation when working with NDArray instances, and now it is faster.

New API functions and decorators

* New `blosc2.evaluate()` function for evaluating expressions on NDArray/NumPy
instances. This a drop-in replacement of `numexpr.evaluate()`, but with the
next improvements:
- More functionality than numexpr (e.g. reductions).
- Follow casting rules of NumPy more closely.
- Use both NumPy arrays and Blosc2 NDArrays in the same expression.

See [here](https://www.blosc.org/python-blosc2/reference/autofiles/utilities/blosc2.evaluate.html) for more information.

* New `blosc2.jit` decorator for allowing NumPy expressions to be computed
using the Blosc2 compute engine. This is a powerful feature that allows for
efficient computations on compressed data, and supports advanced features like
reductions, filters and broadcasting. See [here](https://www.blosc.org/python-blosc2/reference/autofiles/utilities/blosc2.jit.html) for more information.

* Support `out=` in `blosc2.mean()`, `blosc2.std()` and `blosc2.var()` reductions
(besides `blosc2.sum()` and `blosc2.prod()`).

Others

* Bumped to use latest C-Blosc2 sources (2.16.0).

* The cache for cpuinfo is now stored in `${HOME}/.cache/python-blosc2/cpuinfo.json`
instead of `${HOME}/.blosc2-cpuinfo.json`; you can get rid of the latter, as
the former is more standard (see PR 360). Thanks to Jonas Lundholm Bertelsen
(jonaslb).

3.0.0

* A persistent cache for cpuinfo (stored in `$HOME/.blosc2-cpuinfo.json`) is
now used to avoid repeated calls to the cpuinfo library. This accelerates
the startup time of the library considerably (up to 5x on my box).

* We should be creating conda packages now. Thanks to hmaarrfk for his
assistance in this area.

3.0.0rc3

Page 1 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.