Blosc2

Latest version: v3.2.1

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

Scan your dependencies

Page 3 of 18

3.0.0beta.3

* [Revamped documentation](https://www.blosc.org/python-blosc2). Now, it is more complete and has a better structure. Thanks to Oumaima Ech Chdig (omaech), our newcomer to the Blosc team. Also, thanks to [NumFOCUS](https://numfocus.org) for their support in this task.

* New `Proxy` class to access other arrays, while providing caching. This is useful for example when you have a big array, and you want to access a small part of it, but you want to cache the accessed data for later use. See [its doc](https://www.blosc.org/python-blosc2/reference/proxy.html).

* Lazy expressions can accept proxies as operands.

* Read-ahead support for reading super-chunks from disk. This allows for overlapping reads and computations, which can be a big performance boost for some workloads.

* New BLOSC_LOW_MEM envar for keeping memory under a minimum while evaluating expressions. This makes it possible to evaluate expressions on very large arrays, even if the memory is limited (at the expense of performance).

* Fine tune block sizes for the internal compute engine.

* Better CPU cache size guessing for linux and macOS.

* Build tooling has been modernized and now uses `pyproject.toml` and `scikit-build-core` for managing dependencies and building the package. Thanks to LecrisUT for the excellent guidance in this area.

* Many code cleanup and syntax improvements in code. Thanks to DimitriPapadopoulos.

3.0.0beta.1

* New evaluation engine (based on numexpr) for NDArray instances. Now, you can evaluate expressions like `a + b + 1` where `a` and `b` are NDArray instances. This is a powerful feature that allows for efficient computations on compressed data, and supports advanced features like reductions, filters, user-defined functions and broadcasting (still in beta). See this [example](https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/eval_expr.py).

* As a consequence of the above, there are many new functions to operate with, and evaluate NDArray instances. See the [function section docs](https://www.blosc.org/python-blosc2/reference/operations_with_arrays.html#functions) for more information.

* Support for NumPy 2.0.0 is here! Now, the wheels are built with NumPy 2.0.0. If you want to use NumPy 1.x, you can still use it by installing NumPy 1.23 and up.

* Support for memory mapping in `SChunk` and `NDArray` instances. This allows to map super-chunks stored in disk and access them as if they were in memory. If curious, see [some benchmarks here](https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/eval_expr.py). Thanks to JanSellner for the excellent implementation, both in the C and the Python libraries.

* Internal C-Blosc2 updated to 2.15.0.

* 32-bit platforms are officially unsupported now. If you need support for 32-bit platforms, please use python-blosc 1.x series.

2.17.1

=============================

Several fixes affecting uninitialized memory access and others:

* Fix uninitialized memory access in newly added unshuffle12_sse2 and unshuffle12_avx2 functions
* Fix unaligned access in _sw32 and sw32_
* Fix DWORD being printed as %s in sprintf call
* Fix warning on unused variable (since this variable was only being used in the linux branch)
* `splitmode` variable was uninitialized if goto was triggered

See PR 658. Many thanks to EmilDohne for this nice job.

2.17.0

=============================

* New b2nd_copy_buffer2() function for copying buffers with typesizes
larger than 255. The previous b2nd_copy_buffer() function is now
deprecated and will be removed in a future release.

* Support repeated values larger than 8-bit, also for n-dim arrays.
This is useful for compressing arrays with large runs of repeated
values, like in the case of images with large areas of the same color.

* Fix a leak in the pthreads emulation for Windows. Fixes 647.
Thanks to jocbeh for the report and fix (655).

* Update zstd to 1.5.7. Thanks to Tom Birch.

* Add BLOSC2_MAXTYPESIZE constant.

2.16.0

=============================

* Use _fseeki64/_ftelli64/_stat64 on Windows for large file (>2 GB) support.
Thanks to Abhi Jaiantilal (ajaiantilal) for the report and help.
* Add 12-byte unshuffle for avx2. Thanks to Tom Birch (froody).
* Add 12-byte sse2 unshuffle implementation. Thanks to Tom Birch (froody).
* Better description of the Blosc2 format as a whole.

2.15.2

=============================

* Support wasm32 by disabling ZLIB WITH_OPTIM option. Thanks to Miles Granger.

* Avoid rip-relative addressing for OSX x86_64. Thanks to Miles Granger.

* Added support for nvcc (NVidia Cuda Compiler) in CMake. Thanks to dqwu.

* Fix public include directories for blosc2 targets. Thanks to Dmitry Mikushin.

* Fix ub in shuffle and unshuffle by marking _dst non-const. Thanks to Emil Dohne.

Page 3 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.