-
-
Notifications
You must be signed in to change notification settings - Fork 368
Description
Zarr is built with extensibility in mind with several extension points defined in the spec. However, zarr-python does not yet implement all these extension points. Notably, chunk grid and chunk key encoding are not extendable yet, and I believe storage transformers aren't even implemented altogether.
For some background: I was interested in extending the chunk key encoder to address issues with filesystems that struggle with a large number of files in a single directory. The default V3 implementation uses / as the dimension separator, but this is not helpful when you have a single large dim. Sharding with large shards provides a solution, but the current implementation requires full shard rewrites upon writing, even when appending.
I couldn't find any concrete plans to add the missing extension points. Are there any such plans?
I could help to try and implement this for chunk key encodings, but also realize that the current setup with the registry and global mutable config is not ideal. #3360
I am curious what your thoughts are.