ANN: Python-Blosc2 3.0.0 release candidate 1 is out!
![](https://secure.gravatar.com/avatar/65868d36f26f237938997dd28c2b2453.jpg?s=120&d=mm&r=g)
Announcing Python-Blosc2 3.0.0-rc1 ================================== The Blosc development team is pleased to announce the first release release of Python-Blosc2 3.0.0. In this release, we have focused on the making of a compute engine that can work with compressed data in a NumPy-like fashion. You can think of Python-Blosc2 3.0 as a replacement of numexpr, but better :-) As always, we would like to get feedback from the community before the final release. We are providing binary wheels that you can easily install from PyPI with: pip install blosc2==3.0.0rc1 For more info, you can have a look at the release notes in: https://github.com/Blosc/python-blosc2/releases Docs and examples are available in the documentation site: https://www.blosc.org/python-blosc2 Code example:: import blosc2 from time import time # Create some data operands N = 10_000 a = blosc2.linspace(0, 1, N * N, dtype="float32", shape=(N, N)) b = blosc2.linspace(1, 2, N * N, shape=(N, N)) c = blosc2.linspace(-10, 10, N * N, shape=(N, N)) # Expression t0 = time() expr = ((a**3 + blosc2.sin(c * 2)) < b) & (c > 0) print(f"Time to create expression: {time()-t0:.5f}") # Evaluate and get a NDArray as result t0 = time() out = expr.compute() print(f"Time to compute: {time()-t0:.5f}") This will output something like:: Time to create expression: 0.00041 Time to compute: 0.56215 Note that the expression is computed lazily, only when the `compute` method is called. BTW, I'll be teaching about Python-Blosc2 3.0 in my forthcoming tutorial at PyData Global 2024 (https://pydata.org/global2024/schedule). Be sure to be there for an exciting introduction to the bells and whistles of the shiny new computation engine and its enhanced capabilities to deal with large datasets. Thanks and see you there! -- Francesc Alted
participants (1)
-
Francesc Alted