Metadata-Version: 2.5
Name: hdmf_zarr
Version: 0.14.0
Summary: A package defining a Zarr I/O backend for HDMF
Project-URL: Homepage, https://github.com/hdmf-dev/hdmf-zarr
Project-URL: Bug Tracker, https://github.com/hdmf-dev/hdmf-zarr/issues
Author-email: Oliver Ruebel <oruebel@lbl.gov>, Matthew Avaylon <mavaylon@lbl.gov>, Ryan Ly <rly@lbl.gov>, Stephanie Prince <smprince@lbl.gov>
License: BSD
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.12
Requires-Dist: hdmf>=6.2.0
Requires-Dist: numcodecs>=0.14.0
Requires-Dist: numpy>=2.2.3
Requires-Dist: pynwb>=4.2.0
Requires-Dist: threadpoolctl>=3.1.0
Requires-Dist: zarr>=3.4.0
Provides-Extra: all
Requires-Dist: fsspec; extra == 'all'
Requires-Dist: s3fs; extra == 'all'
Requires-Dist: tqdm>=4.41.0; extra == 'all'
Provides-Extra: full
Requires-Dist: fsspec; extra == 'full'
Requires-Dist: s3fs; extra == 'full'
Requires-Dist: tqdm>=4.41.0; extra == 'full'
Description-Content-Type: text/x-rst

.. image:: docs/source/figures/logo_hdmf_zarr.png
     :width: 400

hdmf-zarr
=========

The ``hdmf-zarr`` library implements a Zarr backend for HDMF as well as convenience classes for integration of Zarr with PyNWB to support writing of NWB files to Zarr.

``ZarrIO`` and ``NWBZarrIO`` read and write the Zarr v3 format. Legacy Zarr v2 files are read with ``ZarrV2IO`` and ``NWBZarrV2IO``, which also provide helpers to convert those files to Zarr v3.

**Status:** The Zarr backend is **under development** and may still change. See the `overview page <https://hdmf-zarr.readthedocs.io/en/stable/overview.html>`_ for an overview of the available features and known limitations of hdmf-zarr.


Documentation Status
--------------------

Latest release:

.. image:: https://readthedocs.org/projects/hdmf-zarr/badge/?version=stable
     :target: https://hdmf-zarr.readthedocs.io/en/stable/?badge=stable
     :alt: Documentation status for latest release

Dev branch:

.. image:: https://readthedocs.org/projects/hdmf-zarr/badge/?version=dev
     :target: https://hdmf-zarr.readthedocs.io/en/dev/?badge=dev
     :alt: Documentation status for dev branch

CI / Health Status
------------------

.. image:: https://codecov.io/gh/hdmf-dev/hdmf-zarr/branch/dev/graph/badge.svg
    :target: https://codecov.io/gh/hdmf-dev/hdmf-zarr

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_coverage.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_coverage.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_tests.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_tests.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_all_tests.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/run_all_tests.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/check_external_links.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/check_external_links.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/deploy_release.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/deploy_release.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/ruff.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/ruff.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/codespell.yml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/codespell.yml

.. image:: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/HDMF_dev.yaml/badge.svg
    :target: https://github.com/hdmf-dev/hdmf-zarr/actions/workflows/HDMF_dev.yaml

----------------

If you use HDMF or hdmf_zarr in your research, please use the following citation:

* A. J. Tritt, O. Ruebel, B. Dichter, R. Ly, D. Kang, E. F. Chang, L. M. Frank, K. Bouchard,
  *"HDMF: Hierarchical Data Modeling Framework for Modern Science Data Standards,"*
  2019 IEEE International Conference on Big Data (Big Data),
  Los Angeles, CA, USA, 2019, pp. 165-179, doi: 10.1109/BigData47090.2019.9005648.
* HDMF-Zarr, RRID:SCR_022709

Documentation
-------------

See the ``hdmf-zarr`` documentation for details: https://hdmf-zarr.readthedocs.io

Usage
-----

The library is intended to be used in conjunction with HDMF. ``hdmf-zarr`` mainly provides
with the ``ZarrIO`` class an alternative to the ``HDF5IO`` I/O backend that ships with HDMF.
To support customization of I/O settings, ``hdmf-zarr`` provides ``ZarrDataIO`` (similar to
``H5DataIO`` in HDMF). Using ``ZarrIO`` and ``ZarrDataIO`` works much in the same way as ``HDF5IO``.
To ease integration with the NWB data standard and PyNWB, ``hdmf-zarr`` provides the ``NWBZarrIO``
class as alternative to ``pynwb.NWBHDF5IO``. See the tutorials included with the documentation for more details.
