-
Notifications
You must be signed in to change notification settings - Fork 6
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
Rework ZarrIO backend/Remove python3.7/Update HDMF and PyNWB min/Update workflows #120
Conversation
src/hdmf_zarr/zarr_utils.py
Outdated
class BuilderResolverMixin(BuilderResolver):# refactor to backend/utils.py | ||
""" | ||
A mixin for adding to Zarr reference-resolving types | ||
the get_object method that returns Builders | ||
""" | ||
|
||
def get_object(self, zarr_obj): | ||
""" | ||
A class that maps an Zarr object to a Builder | ||
""" | ||
return self.io.get_builder(zarr_obj) | ||
|
||
|
||
class ContainerResolverMixin(ContainerResolver): # refactor to backend/utils.py | ||
""" | ||
A mixin for adding to Zarr reference-resolving types | ||
the get_object method that returns Containers | ||
""" | ||
|
||
def get_object(self, zarr_obj): | ||
""" | ||
A class that maps an Zarr object to a Container | ||
""" | ||
return self.io.get_container(zarr_obj) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think BuilderResolverMixin
and ContainerResolverMixin
are not implementing any Zarr-specific functionality. I think we may be able to just import these from HDMF. As the comment says, for import we may want to move them to backend/utils.py
in HDMF instead
This looks good to me. I'll let @oruebel do the final approval. |
Thanks for your hard work on this! |
Co-authored-by: Oliver Ruebel <[email protected]>
Co-authored-by: Oliver Ruebel <[email protected]>
Co-authored-by: Oliver Ruebel <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Thanks for your patients and hard work on this PR.
Motivation
What was the reasoning behind this change? Please explain the changes briefly.
This branch holds the re-work of the ZarrIO backend on how it handles object references. The changes are to follow the same workflow HDMF has when handling object references.
With the changes to the backend, we have a temporary ignore on dtype conversion. It is has been raised in this ticket: #120
This PR removes python 3.7, brings hdmf and pynwb to the most up to date, as well updates to the workflows.
How to test the behavior?
Run unit tests and gallery examples, specifically test_io_convert.py and plot_convert_nwb_hdf5.py
Checklist
ruff
from the source directory.