diff --git a/activestorage/active.py b/activestorage/active.py index 091cd848..f3813c2c 100644 --- a/activestorage/active.py +++ b/activestorage/active.py @@ -243,8 +243,12 @@ def _get_selection(self, *args): stripped_indexer = [(a, b, c) for a,b,c in indexer] drop_axes = indexer.drop_axes # not sure what this does and why, yet. - # yes this next line is bordering on voodoo ... - fsref = self.zds.chunk_store._mutable_mapping.fs.references + # yes this next line is bordering on voodoo ... + # this returns a nested dictionary with the full file FS reference + # ie all the gubbins: chunks, data structure, types, etc + # if using zarr<=2.13.3 call with _mutable_mapping ie + # fsref = self.zds.chunk_store._mutable_mapping.fs.references + fsref = self.zds.chunk_store.fs.references return self._from_storage(stripped_indexer, drop_axes, out_shape, out_dtype, compressor, filters, missing, fsref) diff --git a/environment.yml b/environment.yml index 4de2088c..2b0dc419 100644 --- a/environment.yml +++ b/environment.yml @@ -11,4 +11,6 @@ dependencies: - pip !=21.3 - pytest - xarray - - zarr <=2.13.3 # github.com/valeriupredoi/PyActiveStorage/issues/62 + # pin Zarr to avoid using old KVStore interface + # see github.com/zarr-developers/zarr-python/issues/1362 + - zarr >=2.13.6 # KVStore to FSStore diff --git a/setup.py b/setup.py index dc758118..249ea0b7 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,8 @@ 'netcdf4', 'pytest', 'xarray', - 'zarr<=2.13.3', # github.com/valeriupredoi/PyActiveStorage/issues/62 + # pin Zarr to use new FSStore instead of KVStore + 'zarr>=2.13.3', # github.com/zarr-developers/zarr-python/issues/1362 # for testing 'pytest-cov>=2.10.1', 'pytest-xdist',