Closed rly closed 1 month ago
Attempting to fix this proved to be more than a few minutes of import changes. The Zarr Python API changes quite a bit from v2 to v3, and it seems like some things that we use like ProcessSynchronizer and ThreadSynchronizer have been removed/replaced. I haven't looked deeply into it yet. But for now, I think we should limit zarr<3
until we can provide proper zarr-python v3 support
some things that we use like ProcessSynchronizer and ThreadSynchronizer have been removed/replaced.
The main part where the synchronizers come in is in how we open the file:
and then that is being configured in the __init__
is here:
We are really not doing anything special with the synchronizers and in most common cases, I think the synchronizer is not being used (I think this mainly comes in for parallel I/O). So if we need to update this for Zarr 3, I think we should be able doable to keep the changes centered around file open logic.
What happened?
All pre-release daily workflows are failing. https://github.com/hdmf-dev/hdmf-zarr/actions/runs/9559407286
It looks like they install the latest zarr 3.0.0 pre-release, 3.0.0a0, which was released last week.
I think this can be addressed by changing
from zarr.hierarchy import Group
tofrom zarr import Group
. I will give it a try.Steps to Reproduce
Traceback
Operating System
Linux
Python Executable
Conda
Python Version
3.12
Package Versions
No response
Code of Conduct