You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A nice feature that was present in h5py that would be quite nice in Zarr is a copy method. This would allow one to copy individual datasets. It could be extended to handle recursive copying. The copying could be within the same group or different groups. Various other features could be added over time.
Copy Array to new location
Copy attributes, array metadata, and data
Handle Groups already exist
Handle Groups need to be created during copy
Raise if destination is occupied
Make operation appear atomic (using temp directory)
Copy Group to new location
Copy group metadata and attributes
Need to handle recursively copying contents
Handle Groups already exist
Handle Groups need to be created during copy
Raise if destination is occupied (roll back changes)
Make operation appear atomic (using temp directory)
Yes this would be nice. I was planning to implement this as part of the 2.0 release but didn't in the end as there are some complexities around the h5py behaviour that weren't immediately obvious and I ran out of time. However I'm sure a manageable subset of the h5py copy behaviour could be implemented in Zarr.
Activity
[-]copy method[/-][+]ENH: copy method[/+]alimanfoo commentedon Feb 21, 2017
Yes this would be nice. I was planning to implement this as part of the 2.0 release but didn't in the end as there are some complexities around the h5py behaviour that weren't immediately obvious and I ran out of time. However I'm sure a manageable subset of the h5py copy behaviour could be implemented in Zarr.
alimanfoo commentedon Feb 21, 2017
It would be nice to break this down a bit at some point, i.e., try to enumerate the set of copy scenarios that we would want to support in Zarr
jakirkham commentedon Feb 23, 2017
Would also note that this could build off of the visitor patterns proposed in PR ( https://github.com/alimanfoo/zarr/pull/122 ).
jakirkham commentedon Nov 29, 2017
Tried to add a list of things to consider in the OP. Feel free to modify as needed. Have not verified
h5pys behavior for all of these cases yet.