Commit 2f21cf7
committed
[DRAFT] V3 spec implmentation.
This is mostly opened to foster discussion and need code from https://github.com/Carreau/zarr-spec-v3-impl.
IN the above mentioned repository I'm working on looking at what an
implementation of the spec v3 could look to inform us on the possible
transition and compatiblity shims.
So far I have a rough implementation of an in memory v3 store as well as
multiple utilities.
1) A base class that automatically provide sync version of all async
method of a class. I'm playing with the idea of having most method
async as this may be useful in some context.
For example when creating a array at /a/b/c/d/e/f/g/h/i/j/k you want
to check that None of the parents are arrays, which can be done with N
async requests.
2) An adapted class that wraps a v3 store and provide a v2 API.
My though is that most code is currently v2 compatible and it would be
useful for legacy codebase and early testing of store.
3) a class that wrap 2 stores, a reference and a tested one, replicate
operation on both stores, and abort if it sees any difference in
behavior. This could help to catch changes in behavior.
The tests in this PR start to test the v3 memorystore and compare it to
the v2 memorystore.1 parent a61828f commit 2f21cf7
2 files changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
| 169 | + | |
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| |||
0 commit comments