Skip to content

Commit 57b1d87

Browse files
committed
Getting ready for release 3.3.0
1 parent 0a73f81 commit 57b1d87

File tree

5 files changed

+31
-14
lines changed

5 files changed

+31
-14
lines changed

ANNOUNCE.rst

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
Announcing Python-Blosc2 3.2.1
1+
Announcing Python-Blosc2 3.3.0
22
==============================
33

4-
Here, all array containers in Blosc2 implement the ``__array_interface__``
5-
protocol to expose the data in the array. This allows for better
6-
interoperability with other libraries like NumPy, CuPy, etc. Now, the range
7-
of functions spans to most of NumPy functions, including reductions.
4+
We are introducing a new blosc2.transpose() function for natively transposing
5+
2D NDArray instances and a fast path for NDArray.slice() that delivers up to
6+
40x speedup when slices align with underlying chunks. Documentation has also
7+
been improved with several edits throughout.
88

9-
See examples at: https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/jit-numpy-funcs.py
10-
See benchmarks at: https://github.com/Blosc/python-blosc2/blob/main/bench/ndarray/jit-numpy-funcs.py
11-
12-
We have also improved the performance of constructors like ``blosc2.linspace()``
13-
or ``blosc2.arange()`` by a factor of up to 3x for large arrays.
9+
See benchmarks at: https://github.com/Blosc/python-blosc2/blob/main/bench/ndarray/aligned_chunks.py
1410

1511
You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:
1612

RELEASE_NOTES.md

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
# Release notes
22

3-
## Changes from 3.2.1 to 3.2.2
3+
## Changes from 3.2.1 to 3.3.0
44

5-
XXX version-specific blurb XXX
5+
* New `blosc2.transpose()` function for transposing 2D NDArray instances
6+
natively. See PR #375 and docs at
7+
https://www.blosc.org/python-blosc2/reference/autofiles/operations_with_arrays/blosc2.transpose.html#blosc2.transpose
8+
Thanks to Ricardo Sales Piquer (@ricardosp4) for the implementation.
9+
10+
* New fast path for `NDArray.slice()` for getting slices that are aligned with
11+
underlying chunks. This is a common operation when working with NDArray
12+
instances, and now it is up to 40x faster in our benchmarks (see PR #380).
13+
14+
* Returned `NDArray` object in `NDarray.slice()` now defaults to original
15+
codec/clevel/filters. The previous behavior was to use the default
16+
codec/clevel/filters. See PR #378. Thanks to Luke Shaw (@lshaw8317).
17+
18+
* Several English edits in the documentation. Thanks to Luke Shaw (@lshaw8317)
19+
for his help in this area.
620

721
## Changes from 3.2.0 to 3.2.1
822

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ dependencies = [
4040
"py-cpuinfo; platform_machine != 'wasm32'",
4141
"requests",
4242
]
43-
version = "3.2.2.dev0"
43+
version = "3.3.0"
4444

4545

4646
[project.optional-dependencies]

src/blosc2/ndarray.py

+7
Original file line numberDiff line numberDiff line change
@@ -1913,6 +1913,11 @@ def slice(self, key: int | slice | Sequence[slice], **kwargs: Any) -> NDArray:
19131913
(4, 10)
19141914
>>> print(type(c))
19151915
<class 'blosc2.ndarray.NDArray'>
1916+
1917+
Notes
1918+
-----
1919+
There is a fast path for slices that are aligned with underlying chunks.
1920+
Aligned means that the slices are made entirely with complete chunks.
19161921
"""
19171922
if "cparams" not in kwargs:
19181923
kwargs["cparams"] = {
@@ -3877,6 +3882,8 @@ def transpose(x, **kwargs: Any) -> NDArray:
38773882
"""
38783883
Returns a Blosc2 NDArray with axes transposed.
38793884
3885+
Only 2D arrays are supported for now. Other dimensions raise an error.
3886+
38803887
Parameters
38813888
----------
38823889
x: :ref:`NDArray`

src/blosc2/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "3.2.2.dev0"
1+
__version__ = "3.3.0"

0 commit comments

Comments
 (0)