Skip to content

Commit 069d599

Browse files
authored
Merge branch 'main' into ig/fix_zip_store
2 parents b6fbf8e + 87557e3 commit 069d599

File tree

18 files changed

+520
-133
lines changed

18 files changed

+520
-133
lines changed

.github/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
needs release notes:
22
- all:
33
- changed-files:
4-
- any-glob-to-any-file: '!changes/*.rst'
4+
- all-globs-to-all-files: '!changes/*.rst'

changes/2533.bigfix.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

changes/2681.bugfix.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

changes/2693.bugfix.rst

Lines changed: 0 additions & 13 deletions
This file was deleted.

changes/2736.doc.rst

Lines changed: 0 additions & 2 deletions
This file was deleted.

changes/2762.bugfix.rst

Lines changed: 0 additions & 2 deletions
This file was deleted.

changes/2781.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Enable automatic removal of `needs release notes` with labeler action

changes/2785.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Use the proper label config

docs/release-notes.rst

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,60 @@ Release notes
33

44
.. towncrier release notes start
55
6+
3.0.2 (2025-01-31)
7+
------------------
8+
9+
Features
10+
~~~~~~~~
11+
12+
- Test ``getsize()`` and ``getsize_prefix()`` in ``StoreTests``. (:issue:`2693`)
13+
- Test that a ``ValueError`` is raised for invalid byte range syntax in ``StoreTests``. (:issue:`2693`)
14+
- Separate instantiating and opening a store in ``StoreTests``. (:issue:`2693`)
15+
- Add a test for using Stores as a context managers in ``StoreTests``. (:issue:`2693`)
16+
- Implemented ``LogingStore.open()``. (:issue:`2693`)
17+
- ``LoggingStore`` is now a generic class. (:issue:`2693`)
18+
- Change StoreTest's ``test_store_repr``, ``test_store_supports_writes``,
19+
``test_store_supports_partial_writes``, and ``test_store_supports_listing``
20+
to to be implemented using ``@abstractmethod``, rather raising ``NotImplementedError``. (:issue:`2693`)
21+
- Test the error raised for invalid buffer arguments in ``StoreTests``. (:issue:`2693`)
22+
- Test that data can be written to a store that's not yet open using the store.set method in ``StoreTests``. (:issue:`2693`)
23+
- Adds a new function ``init_array`` for initializing an array in storage, and refactors ``create_array``
24+
to use ``init_array``. ``create_array`` takes two new parameters: ``data``, an optional array-like object, and ``write_data``, a bool which defaults to ``True``.
25+
If ``data`` is given to ``create_array``, then the ``dtype`` and ``shape`` attributes of ``data`` are used to define the
26+
corresponding attributes of the resulting Zarr array. Additionally, if ``data`` given and ``write_data`` is ``True``,
27+
then the values in ``data`` will be written to the newly created array. (:issue:`2761`)
28+
29+
30+
Bugfixes
31+
~~~~~~~~
32+
33+
- Wrap sync fsspec filesystems with ``AsyncFileSystemWrapper``. (:issue:`2533`)
34+
- Added backwards compatibility for Zarr format 2 structured arrays. (:issue:`2681`)
35+
- Update equality for ``LoggingStore`` and ``WrapperStore`` such that 'other' must also be a ``LoggingStore`` or ``WrapperStore`` respectively, rather than only checking the types of the stores they wrap. (:issue:`2693`)
36+
- Ensure that ``ZipStore`` is open before getting or setting any values. (:issue:`2693`)
37+
- Use stdout rather than stderr as the default stream for ``LoggingStore``. (:issue:`2693`)
38+
- Match the errors raised by read only stores in ``StoreTests``. (:issue:`2693`)
39+
- Fixed ``ZipStore`` to make sure the correct attributes are saved when instances are pickled.
40+
This fixes a previous bug that prevent using ``ZipStore`` with a ``ProcessPoolExecutor``. (:issue:`2762`)
41+
- Updated the optional test dependencies to include ``botocore`` and ``fsspec``. (:issue:`2768`)
42+
- Fixed the fsspec tests to skip if ``botocore`` is not installed.
43+
Previously they would have failed with an import error. (:issue:`2768`)
44+
- Optimize full chunk writes. (:issue:`2782`)
45+
46+
47+
Improved Documentation
48+
~~~~~~~~~~~~~~~~~~~~~~
49+
50+
- Changed the machinery for creating changelog entries.
51+
Now individual entries should be added as files to the `changes` directory in the `zarr-python` repository, instead of directly to the changelog file. (:issue:`2736`)
52+
53+
Other
54+
~~~~~
55+
56+
- Created a type alias ``ChunkKeyEncodingLike`` to model the union of ``ChunkKeyEncoding`` instances and the dict form of the
57+
parameters of those instances. ``ChunkKeyEncodingLike`` should be used by high-level functions to provide a convenient
58+
way for creating ``ChunkKeyEncoding`` objects. (:issue:`2763`)
59+
660

761
3.0.1 (Jan. 17, 2025)
862
---------------------

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,12 @@ test = [
7373
"coverage",
7474
"pytest",
7575
"pytest-cov",
76+
'zarr[remote]',
77+
"botocore",
7678
"s3fs",
79+
"moto[s3,server]",
7780
"pytest-asyncio",
7881
"pytest-accept",
79-
"moto[s3,server]",
8082
"requests",
8183
"rich",
8284
"mypy",

0 commit comments

Comments
 (0)