Releases: Blosc/python-blosc2
Blosc2 v4.1.0
- Add DSL kernel functionality for faster, compiled, user-defined functions which broadly respect python syntax and implement the
LazyArrayinterface. See the introductory tutorial at: https://blosc.org/python-blosc2/getting_started/tutorials/03.lazyarray-udf-kernels.html - Add read-only mmap support for store containers:
DictStore,TreeStore, andEmbedStorenow acceptmmap_mode="r"
when opened withmode="r"(including viablosc2.openfor.b2d,
.b2z, and.b2e). - New .meta entry for store containers, allowing better store recognition at
blosc2.open()time. Fixes #546. - Add
cumulative_sumandcumulative_prodfunctions for Array API compliance. - Add Unicode string arrays, support comparison operations with them, and optimised compression path.
- Add
endswithandstartswithand extendcontainsto support strings and offerminiexprmultithreaded computation when possible. - Use DSL kernels to accelerate
arange/linspaceconstructors by 6-10x. - Improve documentation for
filtersandfilters_meta. - Fix edge case issues with
resizeandconstructorsso thatchunksmay be set independently of shape, and arrays may be extended from empty consistently. - Continued work on
miniexprintegration, interface, and support. - Ruff fixes and implementation of PEP recommendations.
Blosc2 v4.0.0
What's Changed
The main change is hyperfast fully multithreaded computation with miniexpr (final PR * Miniexpr for Windows by @FrancescAlted in #565).
In addition, the internal wheel structure has been changed to implement PEP 427 (@lshaw8317 in #560). In addition:
- feat: add support for .b2z, .b2d, .b2e files and update related tests by @bossbeagle1509 in #541
- Add none indexing for lazyudf/lazyarray by @lshaw8317 in #545
- Respect NUMEXPR_MAX_THREADS when setting numexpr thread count by @skmendez in #567
- Add openzl_plugin support by @lshaw8317 in #559
Full Changelog: v3.12.2...v4.0.0
Blosc2 v4.0.0-b1
This is a beta version with hyperfast multithreaded expression calculatio via the incorporation of miniexpr; as well as better support for plugins (stay tuned for blosc2_openzl plugin!),
What's Changed
- Update pre-commit hooks by @pre-commit-ci[bot] in #537
- Fix fancy index item bug by @ykcUconn in #543
- feat: add support for .b2z, .b2d, .b2e files and update related tests by @bossbeagle1509 in #541
- Add none indexing for lazyudf/lazyarray by @lshaw8317 in #545
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #547
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #548
- Update pre-commit hooks by @pre-commit-ci[bot] in #550
- PEP 639 compliance by @DimitriPapadopoulos in #552
- Multi-threaded reductions by @FrancescAlted in #549
- Implement PEP recommendations by @lshaw8317 in #560
- Add openzl_plugin support by @lshaw8317 in #559
New Contributors
- @ykcUconn made their first contribution in #543
- @bossbeagle1509 made their first contribution in #541
Full Changelog: v3.12.2...v4.0.0-b1
Blosc2 v3.12.2
What's Changed
- Hotfix to change WASM wheel hosting to separate repo
Blosc2 v3.12.1
What's Changed
- Allow saving of numba-decorated lazyudfs by @lshaw8317 in #538
- Automate upload of WASM wheels to GitHub pages
Blosc2 v3.12.0
What's Changed
LazyUDFobjects can now be saved to disk- Calls to
__matmul__NumPy ufunc now passed toblosc2.matmul - Streamlined
LazyUDF.computeis now much more robust and functional - The
get_chunkmethod forLazyExpris more efficient and enabled for generalLazyArrayobjects LazyExprcalculation can now be done even with expressions with pure scalar operands, e.g10 * 3 +1..
Full Changelog: v3.11.1...v3.12.0
Blosc2 3.11.1
What's Changed
✅ Change the NDArray.size to return the number of elements in array, instead of the size of the array in bytes
✅ Bug fixes for lazy expressions to allow a wider range of functionality
✅ Small bug fix for slice indexing with step larger than chunksize
✅ Tweak automatic chunk sizing of results for certain (e.g. linalg) operations to enhance performance
✅ Various cosmetic fixes and streamlining (thanks to the indefatigable @DimitriPapadopoulos)
Full Changelog: v3.11.0...v3.11.1
Blosc2 v3.11.0
What's Changed
- Small optimisation for chunking in lazy expressions
- Extend Blosc2 computation machinery to accept general array inputs (PR #510)
- Refactoring and streamlining of get/setitem for non-unit steps (PR #513)
- Remote array testing now performed with
cat2cloud(PR #511) - Added argmax/argmin functions (PR #514)
- Change
squeezeto return view (rather than modify array in-place) (PR #518) - Modify
setitemto load general array inputs into NDArrays (PR #517)
Full Changelog: v3.10.2...v3.11.0
Release 3.10.2
Changes from 3.10.1 to 3.10.2
- LazyExpr.compute() now honors the
outparameter for regular expressions (and not only for reductions). See PR #506.
Blosc2 v3.10.1
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