Skip to content

Releases: Blosc/python-blosc2

Release 3.10.2

15 Oct 08:13

Choose a tag to compare

Changes from 3.10.1 to 3.10.2

  • LazyExpr.compute() now honors the out parameter for regular expressions (and not only for reductions). See PR #506.

Blosc2 v3.10.1

13 Oct 19:51

Choose a tag to compare

What's Changed

  • Python 3.14 by @DimitriPapadopoulos in #504
  • Minor pre-commit changes by @DimitriPapadopoulos in #505
  • Optimisations and fixes for lazy expression evaluation
  • Bumped requirement for numexpr to version 2.14.1 for improved tan/tanh overflow behaviour
  • Now able to use blosc2 in AWS Lambda

Blosc2 v3.10.0

08 Oct 17:21

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.9.1...v3.10.0

Blosc2 v3.9.1

01 Oct 06:52

Choose a tag to compare

Changes from 3.9.0 to 3.9.1

  • Bumped to numexpr 2.13.1 to incorporate new maximum/minimum NaN handling and +/* for booleans
    which matches NumPy behaviour.
  • Refactoring in order to ensure Blosc2 functions with NumPy 1.26.
  • Streamlined documentation by introducing Array Protocol

Blosc2 v3.9.0

26 Sep 14:54

Choose a tag to compare

Most changes come from PR #467 relating to array-api compliance.

  • C-Blosc2 internal library updated to latest 2.21.3, increasing MAX_DIMS from 8 to 16

  • numexpr version requirement pushed to 2.13.0 to incorporate round, sign, signbit, copysign, nextafter, hypot, maximum, minimum, trunc, log2 functions, as well as allow integer outputs for certain functions when integr arguments are passed. We also add floor division (//) and full dual bitwise (logical) AND, OR, XOR, NOT
    support for integer (bool) arrays.

  • Extended linear algebra functionality, offering generalised matrix multiplication for arrays of arbitrary dimension via tensordot and an improved matmul. In addition, introduced vecdot, diagonal and outer, as well as useful indexing and associated functions such as take, take_along_axis, meshgrid and broadcast_to.

  • Added many ufuncs and methods (around 60) to NDArray to bring the library into further alignment with the array-api. Introduced a chunkwise lazyudf paradigm which is very powerful in order to implement clip and logaddexp.

  • Fixed a subtle but important bug for expand_dims (PR #479, PR #483) relating to reference counting for views.

  • Various typos and other fixes due to @DimitriPapadopoulos !

Blosc2 v3.8.0

11 Sep 13:24

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.7.2...v3.8.0

Release 3.7.2

26 Aug 11:24

Choose a tag to compare

Changes from 3.7.1 to 3.7.2

  • C-Blosc2 internal library updated to latest 2.21.1.

  • Revert signature of TreeStore.__init__ for making benchmarks to get back
    to normal performance.

Release 3.7.1

17 Aug 11:40

Choose a tag to compare

Changes from 3.7.0 to 3.7.1

  • Added C2Array.slice() method and C2Array.nbytes, C2Array.cbytes, C2Array.cratio, C2Array.vlmeta and C2Array.info properties (PR #455).

  • Many usability improvements to the TreeStore class and friends.

  • New section about TreeStore in basics NDArray tutorial.

  • New blog post about TreeStore usage and performance at: https://www.blosc.org/posts/new-treestore-blosc2

  • C-Blosc2 internal library updated to latest 2.21.0.

Blosc2 v3.7.0

12 Aug 14:58

Choose a tag to compare

Changes from 3.6.1 to 3.7.0

  • Overhaul of documentation (API reference and Tutorials)

  • Improvements to lazy expression indexing and in particular much more efficient memory usage when applying non-unit steps (PR #446).

  • Extended functionality of expand_dims to match that of NumPy (note that this breaks the previous API) (PR #453).

  • The biggest change is in the form of three new data storage classes (EmbedStore, DictStore and TreeStore) which allow for the efficient storage of heterogeneous array data (PR #451). EmbedStore is essentially an SChunk wrapper which can be stored on-disk or in-memory; DictStore allows for mixed storage across memory, disk or indeed remote; and TreeStore is a hieracrhically-formatted version of DictStore which mimics the HDF5 file format. Write, access and storage performance are all very competitive with other packages - see plots here.

Blosc2 v3.6.1

17 Jul 16:38

Choose a tag to compare

Changes in Blosc2 3.6.1

  • Point to C-blosc2 v2.19.1

Changes from Blosc2 3.6.0

  • Expose the oindex C-level functionality in Blosc2 for NDArray.

  • Implement fancy indexing which closely matches NumPy functionality, using ndindex library. Includes a fast path for 1D arrays, based on Zarr's implementation.

  • A major refactoring of slicing for lazy expressions using ndindex. We have also added support for slices with non-unit steps for reduction expressions, which has introduced improvements that could be incorporated into other lazy expression machinery in the future.

  • More complex slicing is now supported.

  • Minor bug fixes to ensure that Blosc2 indexing does not introduce dummy dimensions when NumPy does not, and a more comprehensive squeeze function which squeezes specified dimensions.