15
15
This specification is the latest version. See :ref: `spec ` for previous
16
16
versions.
17
17
18
+ .. _spec_v2_storage :
19
+
18
20
Storage
19
21
-------
20
22
@@ -32,9 +34,13 @@ resources can be read, written or deleted via HTTP.
32
34
33
35
Below an "array store" refers to any system implementing this interface.
34
36
37
+ .. _spec_v2_array :
38
+
35
39
Arrays
36
40
------
37
41
42
+ .. _spec_v2_array_metadata :
43
+
38
44
Metadata
39
45
~~~~~~~~
40
46
@@ -105,6 +111,8 @@ using the Blosc compression library prior to storage::
105
111
"zarr_format": 2
106
112
}
107
113
114
+ .. _spec_v2_array_dtype :
115
+
108
116
Data type encoding
109
117
~~~~~~~~~~~~~~~~~~
110
118
@@ -139,6 +147,8 @@ example, the JSON list ``[["r", "|u1"], ["g", "|u1"], ["b", "|u1"]]`` defines a
139
147
data type composed of three single-byte unsigned integers labelled "r", "g" and
140
148
"b".
141
149
150
+ .. _spec_v2_array_fill_value :
151
+
142
152
Fill value encoding
143
153
~~~~~~~~~~~~~~~~~~~
144
154
@@ -157,6 +167,8 @@ If an array has a fixed length byte string data type (e.g., ``"|S12"``), or a
157
167
structured data type, and if the fill value is not null, then the fill value
158
168
MUST be encoded as an ASCII string using the standard Base64 alphabet.
159
169
170
+ .. _spec_v2_array_chunks :
171
+
160
172
Chunks
161
173
~~~~~~
162
174
@@ -190,6 +202,8 @@ array dimension is not exactly divisible by the length of the corresponding
190
202
chunk dimension then some chunks will overhang the edge of the array. The
191
203
contents of any chunk region falling outside the array are undefined.
192
204
205
+ .. _spec_v2_array_filters :
206
+
193
207
Filters
194
208
~~~~~~~
195
209
@@ -200,9 +214,13 @@ the primary compressor. When retrieving data, stored chunk data are
200
214
decompressed by the primary compressor then decoded using filters in the
201
215
reverse order.
202
216
217
+ .. _spec_v2_hierarchy :
218
+
203
219
Hierarchies
204
220
-----------
205
221
222
+ .. _spec_v2_hierarchy_paths :
223
+
206
224
Logical storage paths
207
225
~~~~~~~~~~~~~~~~~~~~~
208
226
@@ -238,6 +256,8 @@ treat all keys as opaque ASCII strings; equally, an array store could map
238
256
logical paths onto some kind of hierarchical storage (e.g., directories on a
239
257
file system).
240
258
259
+ .. _spec_v2_hierarchy_groups :
260
+
241
261
Groups
242
262
~~~~~~
243
263
@@ -272,6 +292,8 @@ under the logical paths "foo" and "foo/bar" and an array exists at logical path
272
292
"foo/baz" then the members of the group at path "foo" are the group at path
273
293
"foo/bar" and the array at path "foo/baz".
274
294
295
+ .. _spec_v2_attrs :
296
+
275
297
Attributes
276
298
----------
277
299
@@ -290,6 +312,8 @@ For example, the JSON object below encodes three attributes named
290
312
"baz": [1, 2, 3, 4]
291
313
}
292
314
315
+ .. _spec_v2_examples :
316
+
293
317
Examples
294
318
--------
295
319
@@ -466,6 +490,8 @@ What has been stored::
466
490
foo/bar/1.0
467
491
foo/bar/1.1
468
492
493
+ .. _spec_v2_changes :
494
+
469
495
Changes
470
496
-------
471
497
@@ -487,8 +513,8 @@ initially published to clarify ambiguities and add some missing information.
487
513
empty.
488
514
489
515
490
- Changes in version 2
491
- ~~~~~~~~~~~~~~~~~~~~
516
+ Changes from version 1 to version 2
517
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
492
518
493
519
The following changes were made between version 1 and version 2 of this specification:
494
520
0 commit comments