- Added initial refactor of export, supporting references and internal/external links from Zarr to Zarr. This will introduce breaking changes that could lead to existing exported files to be invalid. This update removes '.' as the object default file source. @mavaylon1 #194
- Added support for Pathlib paths. @mavaylon1 #212
- Updated packages used for testing and readthedocs configuration. @mavaylon1, @rly #214
- Add
force_overwite
parameter forZarrIO.__init__
to allow overwriting an existing file or directory. @oruebel #229 - Remove allowance of
hdmf.Array
in__init__
ofAbstractZarrTableDataset
andZarrDataset
to be compatible with HDMF 4.0. @rly #236 - Remove support for python 3.8 and added testing for Python 3.13. @mavaylon1 #240
- Added
NWBZarrIO.read_nwb
convenience method to simplify reading an NWB file. @oruebel #226 - Updated optional dependency groups in
pyproject.toml
and GitHub Actions workflows. @rly, @mavaylon1 #239
- Fix reading of cached specs and caching of specs during export. @rly #232
- Fix hiding of pynwb compatibility errors. @rly 242
- Added support for appending a dataset of references. @mavaylon1 #203
- NWBZarrIO load_namespaces=True by default. @mavaylon1 #204
- Added test for opening file with consolidated metadata from DANDI. @mavaylon1 #206
- Add dimension labels compatible with xarray. @mavaylon1 #207
- Added link_data --> clear_cache relationship to support repacking zarr nwbfiles: #215
- Fixed bug when opening a file in with
mode=r+
. The file will open without using the consolidated metadata. @mavaylon1 #182 - Fixed bug on how we access scalar arrays. Added warning filter for Zarr deprecation of NestedDirectoryStore. Fixed bug on how we write a dataset of references. @mavaylon1 #195
- Added support for python 3.12. @mavaylon1 #172
- Added support for forcing read of files without consolidated metadata using
mode=r-
inZarrIO
. @oruebel #183
- Updated testing to not install in editable mode and not run
coverage
by default. @rly #188
- Removed
linkable
from the documentation to keep in line withhdmf-schema-language
. @mavaylon1 #180
- Fixed bug in
ZarrIO.__open_file_consolidated
that led to remote files being opened without consolidated metadata. @oruebel #184 - Fixed minor bug where
ZarrIO.__open_file_consolidated
used properties ofZarrIO
instead of the provided input parameters. @oruebel #183
- Enhanced
ZarrIO
andZarrDataIO
to infer io settings (e.g., chunking and compression) from HDF5 datasets to preserve storage settings on export if possible @oruebel #153 - Updated writing references in compound datasets to same-sized array, rather than iteratively as an array of lists. @sneakers-the-rat #146
- Fixed bug when converting HDF5 datasets with unlimited dimensions @oruebel #155
- Fixed bug resolving bytes dtype when exporting from Zarr to Zarr @oruebel #161
- Adjusted gallery tests to not fail on deprecation warnings from pandas. @rly #157
- Fixed bug in
pyproject.toml
where duplicate versions ofnumcodec
where specified. @oruebel #163
- Updated actions in
deploy_release.yml
workflow to avoid use of deprecated Node.js 16. @oruebel #165
- Added a new default to consolidate metadata in order more efficeintly traverse storage contents. @mavaylon1 #142
- Fix linking for FSSpec and support passing of
storage_options
required reading data from S3 #138. @alejoe91 #120 - Updated versioning to hatch-vcs and deprecated setup.py in full transition to
pyproject.toml
. @mavaylon1 #143
- Enhanced ZarrIO to resolve object references lazily on read similar to HDMF's
HDF5IO
backend. @mavaylon1 #120 - Updated storage of references to also save the
object_id
andsource_object_id
. While not strictly necessary this information is useful for validation and rigor of references. @oruebel #57
- Added parallel write support for the
ZarrIO
for datasets wrapped withGenericDataChunkIterator
. @CodyCBakerPhD #118 @oruebel #128
- Updated HDMF and PyNWB version to the most recent release @mavaylon1 #120
- Updated minimum Python version from 3.7 to 3.8 @mavaylon1 #120
- Added
threadpoolctl
dependency for parallel write. @CodyCBakerPhD #118 - Added support for specifying optional dependencies and add optional dependency for
tqdm
used in parallel write. @CodyCBakerPhD #118
- Fixed error in deploy workflow. @mavaylon1 #109
- Fixed build error for ReadtheDocs by degrading numpy for python 3.7 support. @mavaylon1 #115
- Fixed bug in the resolution of references to Containers. Previously references were only resolved to Builders. @mavaylon1 #120
- Added support, tests, and docs for using
DirectoryStore
,TempStore
, andNestedDirectoryStore
Zarr storage backends withZarrIO
andNWBZarrIO
. @oruebel #62
- Updated handling of references on read to simplify future integration of file-based Zarr stores (e.g., ZipStore or database stores). @oruebel #62
- Added
can_read
classmethod toZarrIO
. @bendichter #97
- Modularized unit tests to simplify running tests for multiple Zarr storage backends. @oruebel #62
- Fixed CI testing of minimum and optional installation requirement. @rly #99
- Updated tests to handle upcoming changes to
HDMFIO
. @rly #102
- Added developer documentation on how to integrate new storage backends with ZarrIO. @oruebel #62
- Removed unused
filepath
argument fromZarrIO.get_builder_exists_on_disk
#62
- Fixed error in nightly CI. @rly #93
- Updated the storage of links/references to use paths relative to the current Zarr file to avoid breaking links/reference when moving Zarr files @oruebel #46
- Fixed bugs in requirements defined in setup.py @oruebel #46
- Fixed bug regarding Sphinx external links @mavaylon1 #53
- Updated gallery tests to use test_gallery.py and necessary package dependencies @mavaylon1 #53
- Updated dateset used in conversion tutorial, which caused warnings @oruebel #56
- Added tutorial illustrating how to create a new NWB file with NWBZarrIO @oruebel #46
- Added docs for describing the mapping of HDMF schema to Zarr storage @oruebel #48
- Added
docs/gallery/resources
for storing local files used by the tutorial galleries @oruebel #61 - Removed dependency on
dandi
library for data download in the conversion tutorial by storing the NWB files as local resources @oruebel #61
- Created new optional Zarr-based I/O backend for writing files using Zarr's
zarr.store.DirectoryStore
backend, including support for iterative write, chunking, compression, simple and compound data types, links, object references, namespace and spec I/O.