-
-
Notifications
You must be signed in to change notification settings - Fork 293
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
port top level api to v3
branch.
#1598
Comments
Perhaps related to #1597, there have definitely been comments in the community that the current methods taken together can be confusing. If supporting this API too substantially impacts the new API / h5py-ness, then perhaps |
I'm planning to pick this up! we talked about this in the most recent zarr-python refactor bi-weekly meeting. I don't have permissions to assign myself but anyone feel free to assign me. |
I'm going slower than I'd like on this but I have my dev env set up and am getting moving for real |
As I've started working on this im realizing a question about the goal of these top level methods. In v3 will their main purpose be to
If it's 1, I think we'd want to make these pretty thin wrappers around the .create and .open methods on the v3 sync Array and Group. That would imply more breaking api changes (mostly different names and types of args) and bring consistency between top level methods and those on Array and Group. If 2, and the primary/suggested api is Array.create(..), Array.open(..), Group.open(..) etc. then I think it's worth it to do as much translating from the current v2 api of these top level functions into the arguments to the new methods on v3 Array and Group and be pretty lenient (with logged warnings) if arguments are passed that are not used in v3 In the roadmap doc it says "the primary user facing API will be synchronous Array and Group" which sounds like option 2 fairly clearly. I like that personally, but it will also mean a good amount of retraining of folks who are used to reaching for zarr.xxx. Has this already been decided? @jhamman |
Organizing some questions I'll share in a few mins at the bi-weekly refactor meeting
|
From our discussion today
|
I'm really failing to find the time to make progress on this, I apologize. I would like to work on it and will keep trying to find time but also would not be offended if someone else picked it up -- I don't want to hold v3 alpha up. (I'll also be traveling and not able to make the biweekly v3 refactor meeting tomorrow but I will be there next time) |
Zarr's top level API is the primary entrypoint for users to interact with Zarr objects. Stuff like:
zarr.open
zarr.zeros
,zarr.ones
,zarr.empty
zarr.load
,zarr.save
zarr.array
,zarr.group
This API needs to be wired up to the new
Array
andGroup
classes in thev3
dev branch. We should definitely attempt to keep these all close to the same API butv3
will give us the chance to rework these if there is a strong reason to do so.The text was updated successfully, but these errors were encountered: