Skip to content

Releases: Blosc/python-blosc2

Release 3.0.0 beta 1

21 Jun 11:58

Choose a tag to compare

Release 3.0.0 beta 1 Pre-release
Pre-release

Changes from 2.6.2 to 3.0.0-beta.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.

  • As a consequence of the above, there are many new functions to operate with, and evaluate NDArray instances. See the function section docs 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. 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.

Release 2.7.0

20 Jun 11:49

Choose a tag to compare

Changes from 2.6.2 to 2.7.0

  • Updated to latest C-Blosc2 2.15.0.

  • Deprecated LazyExpr.evaluate().

  • Fixed _check_rc function. See #187.

Release 2.6.2

06 Apr 16:39

Choose a tag to compare

Changes from 2.6.1 to 2.6.2

  • Protection when platforms have just one CPU. This caused the
    internal number of threads to be 0, producing a division by zero.

  • Updated to latest C-Blosc2 2.14.3.

Release 2.6.1

06 Apr 16:41

Choose a tag to compare

Changes from 2.6.0 to 2.6.1

  • Updated to latest C-Blosc2 2.14.1. This was necessary to be able to
    load dynamics plugins on Windows.

Release 2.6.0

02 Apr 07:26

Choose a tag to compare

Changes from 2.5.1 to 2.6.0

  • [EXP] 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. See this example to see how this works.
    Thanks to @omaech for her help in the pow function.

  • As a consequence of the above, there are many new functions to operate with
    NDArray instances. See the function section in NDArray API for more information.

  • Support for NumPy 2.0.0 is here! Now, the wheels are built with NumPy 2.0.0rc1.
    Please tell us in case you see any issues with this new version.

  • Add **kwargs to load_tensor() function. This allows to pass additional parameters
    to the deserialization function. Thanks to @jasam-sheja.

  • Fix vlmeta.to_dict() not honoring tuple encoding. Thanks to @ivilata.

  • Check that chunks/blocks computation does not allow a 0 in blocks. Thanks to @ivilata.

  • Many improvements in ruff rules and others. Thanks to @DimitriPapadopoulos.

  • Remove printing large arrays in notebooks (they use too much RAM in recent versions of Jupyter notebook).

  • Updated to latest C-Blosc2 2.14.0.

Release 2.5.1

25 Jan 12:38

Choose a tag to compare

Changes from 2.5.0 to 2.5.1

  • Updated to latest C-Blosc2 2.13.1.

  • Fixed bug in b2nd.h.

Changes from 2.4.0 to 2.5.0

  • Updated to latest C-Blosc2 2.13.0.

  • Added the filter INT_TRUNC for integer truncation.

  • Added some optimizations for zstd.

  • Now the grok library is initialized when loading the
    plugin from C-Blosc2.

  • Improved doc.

  • Support for slices in blosc2.get_slice_nchunks() when using SChunk
    objects.

Release 2.4.0

28 Dec 13:29

Choose a tag to compare

Changes from 2.3.2 to 2.4.0

  • Updated to latest C-Blosc2 2.12.0.

  • Added blosc2.get_slice_nchunks() to get array of chunk
    indexes needed to get a slice of a Blosc2 container.

  • Added grok codec plugin.

  • Added imported target with pkg-config to support windows.

Release 2.3.2

01 Dec 11:26

Choose a tag to compare

Changes from 2.3.1 to 2.3.2

  • Support for pathlib.Path objects in all the places where urlpath is
    used (e.g. blosc2.open()). Thanks to Marta Iborra.

  • Included docs for SChunk.fill_special() and NDArray.dtype. Thanks
    to Francesc Alted.

  • Upgrade to latest C-Blosc2 2.11.3. It fixes a bug preventing the use of
    typesize > 255 in frames. Now you can use a typesize up to 2**31-1.

Release 2.3.1

08 Nov 17:05
v2.3.1

Choose a tag to compare

Changes from 2.3.0 to 2.3.1

  • Temporarily disable AVX512 support in C-Blosc2 for wheels built by CI until run-time detection works properly.

Changes from 2.2.9 to 2.3.0

  • Require at least Cython 3 for building. Using previous versions worked but error handling was not correct (wheels were being built with Cython 3 anyway).

  • New NDArray.to_cframe() method and blosc2.ndarray_from_cframe() function for serializing and deserializing NDArrays to/from contiguous in-memory frames. Thanks to Francesc Alted.

  • Add an optional offset argument to blosc2.schunk.open(), to access super-chunks stored in containers like HDF5. Thanks to Ivan Vilata.

  • Assorted minor fixes to the blocksize/blockshape computation algorithm, avoiding some cases where it resulted in values exceeding maximum limits. Thanks to Ivan Vilata.

  • Updated to latest C-Blosc2 2.11.2. It adds AVX512 support for the bitshuffle filter, fixes ARM and Raspberry Pi compatibility and assorted issues.

  • Add python-blosc2 package definition for Guix. Thanks to Ivan Vilata.

Release 2.2.9

05 Oct 19:08

Choose a tag to compare

Changes from 2.2.8 to 2.2.9

  • Support for specifying (plugable) tuner parameters in cparams. Thanks to
    Marta Iborra.

  • Re-add support for Python 3.8. Although we don't provide wheels for it,
    support is there (although it requires compilation time).

  • Avoid duplicate iteration over the same dict. Thanks to Dimitri Papadopoulos.

  • Fix different issues with f-strings. Thanks to Dimitri Papadopoulos.