In h5py, the id property of a group/dataset is an object that exposes low-level operations specific to the HDF5 library. LINDI aims to override the high-level methods such that the low-level operations on id are not needed. However, sometimes packages (e.g., pynwb) use the id as a unique identifier for purposes of caching. Therefore, we make the id to be a string that is unique for each object. If any of the low-level operations are attempted on this id string, then an exception will be raised, which will usually indicate that one of the high-level methods should be overridden.
With this PR, the id is a unique identifier that is specific to (a) the file object and (b) the name/path of the object within the file.
fixes #36
In h5py, the id property of a group/dataset is an object that exposes low-level operations specific to the HDF5 library. LINDI aims to override the high-level methods such that the low-level operations on id are not needed. However, sometimes packages (e.g., pynwb) use the id as a unique identifier for purposes of caching. Therefore, we make the id to be a string that is unique for each object. If any of the low-level operations are attempted on this id string, then an exception will be raised, which will usually indicate that one of the high-level methods should be overridden.
With this PR, the id is a unique identifier that is specific to (a) the file object and (b) the name/path of the object within the file.