Skip to content

Releases: Blosc/python-blosc2

Release 2.2.0

04 Apr 12:24
Compare
Choose a tag to compare
  • New bytedelta filter. We have blogged about this: https://www.blosc.org/posts/bytedelta-enhance-compression-toolset/. See the examples/ndarray/bytedelta_filter.py for a sample script. We also have a short video on how bytedelta works: https://www.youtube.com/watch?v=5OXs7w2x6nw

  • The compression defaults are changed to get a better balance between compression ratio, compression speed and decompression speed. The new defaults are:

    • cparams.typesize = 8
    • cparams.clevel = 1
    • cparams.compcode = Codec.ZSTD
    • filters = [Filter.SHUFFLE]
    • splitmode = SplitMode.ALWAYS_SPLIT

    These changes are based on the experiments performed in the blog post above.

  • dtype.itemsize will have preference over typesize in cparams (as it was documented).

  • blosc2.compressor_list(plugins=False) do not list codec plugins by default now. If you want to list plugins too, you need to pass plugins=True.

  • Internal C-Blosc2 updated to latest version (2.8.0).

Release 2.1.1

24 Feb 11:32
Compare
Choose a tag to compare

Changes from 2.0.0 to 2.1.1

Release 2.0.0

21 Dec 10:13
Compare
Choose a tag to compare

Changes from 0.6.6 to 2.0.0

Release 0.6.6

16 Dec 11:26
Compare
Choose a tag to compare

Changes from 0.6.5 to 0.6.6

  • Add arm64 wheels for macosx (this time for real).

Release 0.6.5

10 Dec 11:24
Compare
Choose a tag to compare

Changes from 0.6.4 to 0.6.5

  • Add arm64 wheels for macosx.

Release 0.6.4

10 Dec 08:07
Compare
Choose a tag to compare

Changes from 0.6.3 to 0.6.4

  • Add arm64 wheels and remove musl builds (NumPy not having them makes the build process too long).

Release 2.6.3

09 Dec 13:08
Compare
Choose a tag to compare

Changes from 0.6.2 to 0.6.3

  • Use oldest-supported-numpy for maximum compatibility.

Release 0.6.2

08 Dec 16:37
Compare
Choose a tag to compare

Changes from 0.6.1 to 0.6.2

  • Updated C-Blosc2 to 2.6.0.

Release 0.6.1

30 Nov 17:37
Compare
Choose a tag to compare

Changes from 0.5.2 to 0.6.1

  • Support for Python prefilters and postfilters. With this, you can pre-process or post-process data in super-chunks automatically. This machinery is handled internally by C-Blosc2, so it is very efficient (although it cannot work in multi-thread mode due to the GIL). See the examples/ directory for different ways of using this.

  • Support for fillers. This is a specialization of a prefilter, and it allows to use Python functions to create new super-chunks from different kind of inputs (NumPy, SChunk instances, scalars), allowing computations among them and getting the result automatically compressed. See a sample script in the examples/ directory.

  • Lots of small improvements in the style, consistency and other glitches in the code. Thanks to Dimitri Papadopoulos for hist attention to detail.

  • No need to compile C-Blosc2 tests, benchs or fuzzers. Compilation time is much shorter now.

  • Added cratio, nbytes and cbytes properties to SChunk instances.

  • Added setters for dparams and cparams attributes in SChunk.

Release 0.5.2

23 Oct 16:05
Compare
Choose a tag to compare

Changes from 0.5.1 to 0.5.2

  • Honor nested cparams properties in kwargs. E.g. you can do:
blosc2.save_tensor(a, "test.bl2", mode="w",
                   filters=[blosc2.Filter.TRUNC_PREC, blosc2.Filter.BITSHUFFLE],
                   filters_meta=[13, 0],
                   codec=blosc2.Codec.LZ4,
                   clevel=9)

without a need to build a proper cparams dict first.

  • C-Blosc2 upgraded to 2.4.3. It should improve cratio for BloscLZ in combination with bitshuffle.

  • Prefer pack_tensor/save_tensor in benchs and examples