You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release of Zarr Python introduces a new ``BaseStore`` class that all provided store classes implemented in Zarr Python now inherit from. This is done as part of refactoring to enable future support of the Zarr version 3 spec. Existing third-party stores that are a MutableMapping (e.g. dict) can be converted to a new-style key/value store inheriting from ``BaseStore`` by passing them as the argument to the new ``zarr.storage.KVStore`` class. For backwards compatibility, various higher-level array creation and convenience functions still accept plain Python dicts or other mutable mappings for the ``store`` argument, but will internally convert these to a ``KVStore``.
9
+
.. _release_2.11.0:
10
10
11
+
2.11.0
12
+
------
11
13
12
14
Enhancements
13
15
~~~~~~~~~~~~
14
16
15
-
* write_empty_chunks defaults to False.
16
-
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`853`.
17
+
* **Sparse changes with performance impact!** One of the advantages of the Zarr
18
+
format is that it is sparse, which means that chunks with no data (more
19
+
precisely, with data equal to the fill value, which is usually 0) don't need
20
+
to be written to disk at all. They will simply be assumed to be empty at read
21
+
time. However, until this release, the Zarr library would write these empty
22
+
chunks to disk anyway. This changes in this version: a small performance
23
+
penalty at write time leads to significant speedups at read time and in
24
+
filesystem operations in the case of sparse arrays. To revert to the old
25
+
behavior, pass the argument ``write_empty_chunks=True`` to the array creation
26
+
function. By :user:`Juan Nunez-Iglesias <jni>`; :issue:`853` and
27
+
:user:`Davis Bennett <d-v-b>`; :issue:`738`.
28
+
29
+
* **Fancy indexing**. Zarr arrays now support NumPy-style fancy indexing with
30
+
arrays of integer coordinates. This is equivalent to using zarr.Array.vindex.
31
+
Mixing slices and integer arrays is not supported.
32
+
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`725`.
17
33
18
-
* Allow to assign array ``fill_values`` and update metadata accordingly. :issue:`662`
34
+
* **New base class**. This release of Zarr Python introduces a new
35
+
``BaseStore`` class that all provided store classes implemented in Zarr
36
+
Python now inherit from. This is done as part of refactoring to enable future
37
+
support of the Zarr version 3 spec. Existing third-party stores that are a
38
+
MutableMapping (e.g. dict) can be converted to a new-style key/value store
39
+
inheriting from ``BaseStore`` by passing them as the argument to the new
40
+
``zarr.storage.KVStore`` class. For backwards compatibility, various
41
+
higher-level array creation and convenience functions still accept plain
42
+
Python dicts or other mutable mappings for the ``store`` argument, but will
43
+
internally convert these to a ``KVStore``.
44
+
By :user:`Greggory Lee <grlee77>`; :issue:`839`, :issue:`789`, and :issue:`950`.
19
45
20
-
* array indexing with [] (getitem and setitem) now supports fancy indexing.
21
-
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`725`.
46
+
* Allow to assign array ``fill_values`` and update metadata accordingly.
47
+
By :user:`Ryan Abernathey <rabernat>`, :issue:`662`.
48
+
49
+
* Allow to update array fill_values
50
+
By :user:`Matthias Bussonnier <Carreau>` :issue:`665`.
51
+
52
+
Bug fixes
53
+
~~~~~~~~~
54
+
55
+
* Fix bug where the checksum of zipfiles is wrong
56
+
By :user:`Oren Watson <orenwatson>` :issue:`930`.
57
+
58
+
* Fix consolidate_metadata with FSStore.
59
+
By :user:`Joe Hamman <jhamman>` :issue:`916`.
60
+
61
+
* Unguarded next inside generator.
62
+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`889`.
63
+
64
+
Documentation
65
+
~~~~~~~~~~~~~
66
+
67
+
* Update docs creation of dev env.
68
+
By :user:`Ray Bell <raybellwaves>` :issue:`921`.
69
+
70
+
* Update docs to use ``python -m pytest``.
71
+
By :user:`Ray Bell <raybellwaves>` :issue:`923`.
72
+
73
+
* Fix versionadded tag in zarr.core.Array docstring.
74
+
By :user:`Juan Nunez-Iglesias <jni>` :issue:`852`.
75
+
76
+
* Doctest seem to be stricter now, updating tostring() to tobytes().
77
+
By :user:`John Kirkham <jakirkham>` :issue:`907`.
78
+
79
+
* Minor doc fix.
80
+
By :user:`Mads R. B. Kristensen <madsbk>` :issue:`937`.
81
+
82
+
Maintenance
83
+
~~~~~~~~~~~
84
+
85
+
* Upgrade MongoDB in test env.
86
+
By :user:`Joe Hamman <jhamman>` :issue:`939`.
87
+
88
+
* Pass dimension_separator on fixture generation.
89
+
By :user:`Josh Moore <joshmoore>` :issue:`858`.
90
+
91
+
* Activate Python 3.9 in GitHub Actions.
92
+
By :user:`Josh Moore <joshmoore>` :issue:`859`.
93
+
94
+
* Drop shortcut ``fsspec[s3]`` for dependency.
95
+
By :user:`Josh Moore <joshmoore>` :issue:`920`.
96
+
97
+
* and a swath of code-linting improvements by :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>`:
98
+
99
+
- Unnecessary comprehension (:issue:`899`)
100
+
101
+
- Unnecessary ``None`` provided as default (:issue:`900`)
102
+
103
+
- use an if ``expression`` instead of `and`/`or` (:issue:`888`)
104
+
105
+
- Remove unnecessary literal (:issue:`891`)
106
+
107
+
- Decorate a few method with `@staticmethod` (:issue:`885`)
108
+
109
+
- Drop unneeded ``return`` (:issue:`884`)
110
+
111
+
- Drop explicit ``object`` inheritance from ``class``es (:issue:`886`)
112
+
113
+
- Unnecessary comprehension (:issue:`883`)
114
+
115
+
- Codespell configuration (:issue:`882`)
22
116
23
-
* write_empty_chunks=False deletes chunks consisting of only fill_value.
24
-
By :user:`Davis Bennett <d-v-b>`; :issue:`738`.
117
+
- Fix typos found by codespell (:issue:`880`)
25
118
26
-
* Move metadata handling to a class.
27
-
By :user:`Greggory Lee <grlee77>`; :issue:`839`.
119
+
- Proper C-style formatting for integer (:issue:`913`)
0 commit comments