-
-
Notifications
You must be signed in to change notification settings - Fork 290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Refactor arrays in v3 #1589
Conversation
No code changes to Zarrita were made.
Hello @d-v-b! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
Comment last updated at 2024-01-07 18:00:00 UTC |
Co-authored-by: Joe Hamman <jhamman1@gmail.com>
Is the base branch here intended to be |
nope! It should be against https://github.com/zarr-developers/zarr-python/tree/v3. I will see how fixable that is. |
very fixable, it turns out. thanks for spotting this @joshmoore! |
👍 np |
…ing metadata for v2 and v3; rename zarray to array
@normanrz if you have the patience for it, I wonder if you could check out my branch and help me understand some tests that are failing due to .attrs deserialization issues? Here's an example traceback. It's certainly due to something I broke, but I want to understand how to un-break it :) Here's an example traceback:
|
Co-authored-by: Norman Rzepka <code@normanrz.com>
an update about this effort:
I think it's going well, but I don't have any outlook on when this will be done, so don't consider this effort a blocker to immediate v3 efforts. |
…nts from read_chunk.
…note that many things are still broken
The goal of this PR is to create a user-facing array class that implements the basic attributes of a numpy array and which abstracts over the structural differences between v2 and v3 arrays. This is very heavily based on the zarrita approach, but I'm modifying things in a lot of places.
Design goals:
.shape
,.ndim
,.size
, etc attributes that are consistent with the array api attributes. I don't plan on adding.device
or.mT
unless there's an acute need for that, but that's not a deeply considered perspective. The array class will support__getitem__
and__setitem__
for getting and setting numeric data like a normal numpy array, and for attributes as well..metadata
attribute that expresses array metadata according to a zarr array specification. The data in.metadata
should correspond to the contents of the stored array metadata document. The.metadata
class should not perform any behavior besides JSON ser/deserialization.