hdmf-dev / hdmf-zarr

Zarr I/O backend for HDMF
https://hdmf-zarr.readthedocs.io/
Other
7 stars 6 forks source link

[Bug]: No module named 'hdmf.array' #235

Closed yarikoptic closed 4 hours ago

yarikoptic commented 6 hours ago

What happened?

in dandi-cli "dev" run where we test against development versions by doing

        pip install git+https://github.com/jaraco/keyring
        pip install git+https://github.com/NeurodataWithoutBorders/nwbinspector
        pip install git+https://github.com/NeurodataWithoutBorders/pynwb
        pip install git+https://github.com/hdmf-dev/hdmf

we started to fail with

___________________________ test_validate_nwb_error ____________________________
dandi/tests/test_validate.py:16: in test_validate_nwb_error
    assert len([i for i in validation_result if i.severity]) > 0
dandi/tests/test_validate.py:16: in <listcomp>
    assert len([i for i in validation_result if i.severity]) > 0
dandi/validate.py:161: in validate
    yield from df.get_validation_errors(
dandi/files/bases.py:512: in get_validation_errors
    from nwbinspector import Importance, inspect_nwbfile, load_config
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nwbinspector/__init__.py:6: in <module>
    from ._nwb_inspection import (
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nwbinspector/_nwb_inspection.py:17: in <module>
    from .tools._read_nwbfile import read_nwbfile, read_nwbfile_and_io
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nwbinspector/tools/__init__.py:3: in <module>
    from ._read_nwbfile import BACKEND_IO_CLASSES, read_nwbfile, read_nwbfile_and_io
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/nwbinspector/tools/_read_nwbfile.py:9: in <module>
    from hdmf_zarr import NWBZarrIO
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/hdmf_zarr/__init__.py:1: in <module>
    from .backend import ZarrIO
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/hdmf_zarr/backend.py:24: in <module>
    from .zarr_utils import BuilderZarrReferenceDataset, BuilderZarrTableDataset
/opt/hostedtoolcache/Python/3.9.20/x64/lib/python3.9/site-packages/hdmf_zarr/zarr_utils.py:14: in <module>
    from hdmf.array import Array
E   ModuleNotFoundError: No module named 'hdmf.array'

Steps to Reproduce

#!/bin/bash
set -ex

cd "$(mktemp -d ${TMPDIR:-/tmp}/nwb-XXXXXXX)"

d=venvs/dev3; 
python3 -m venv $d && source $d/bin/activate 

python -m pip install --upgrade pip

pip install nwbinspector

pip install git+https://github.com/jaraco/keyring
pip install git+https://github.com/NeurodataWithoutBorders/nwbinspector
pip install git+https://github.com/NeurodataWithoutBorders/pynwb
pip install git+https://github.com/hdmf-dev/hdmf

python -c 'import nwbinspector'

reproduces it on my laptop with py 3.12


### Traceback

```shell
above

Operating System

Linux

Python Executable

Python

Python Version

3.12

Package Versions

No response

Code of Conduct

mavaylon1 commented 4 hours ago

@yarikoptic Array has been deprecated and removed. We are about to do a major release for HDMF. https://github.com/hdmf-dev/hdmf/blob/dev/CHANGELOG.md

yarikoptic commented 3 hours ago

and that would break current hdmf-zarr which isn't yet adjusted for that?

mavaylon1 commented 3 hours ago

@yarikoptic hdmf-zarr will have a major release next week