-
-
Notifications
You must be signed in to change notification settings - Fork 366
feat: make async_array public
#3556
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
base: main
Are you sure you want to change the base?
feat: make async_array public
#3556
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3556 +/- ##
==========================================
- Coverage 61.87% 61.86% -0.01%
==========================================
Files 85 85
Lines 10134 10137 +3
==========================================
+ Hits 6270 6271 +1
- Misses 3864 3866 +2
🚀 New features to boost your workflow:
|
|
I'm fine with this, as long as we're OK making the implementation detail that I would also pretty strongly encourage people using |
Another option would be to create a
Agreed! I think the "offering a sync API" thing is the core of it, though. |
|
I took @TomAugspurger 's comment quite seriously and updated the doc string for the proposed As a counter example, highlighting that something like this is not really possible at the moment, API-wise, the AsyncArray(my_sync_array.metadata, my_sync_array._async_array.store_path, my_sync_array._async_array._config)So maybe an alternative would be a synchronous way to create an |
Given that a lot of people are using the private
Array._async_array, I think it should be documented and put in a public namespace. This PR specifically does not makezarr.core.sync.syncpublic because I'm not 100% sure it's necessary in the day-and-age ofobstorebut also because I can definitely see arguments why a better API might be useful, certain one that does:instead of
Another reason I think making this public is because you may want to batch together these low level requests just because of the way people's APIs are structured rather than forcing everything to go through something like
Definitely open to opinions on this! Marked as draft for now!
TODO:
docs/user-guide/*.mdchanges/