catalystneuro / neuroconv

Create NWB files by converting and combining neural data in proprietary formats and adding essential metadata.
https://neuroconv.readthedocs.io
BSD 3-Clause "New" or "Revised" License
51 stars 23 forks source link

[Bug]: Test failures on `=neuroconv-0.4.8` #785

Closed TheChymera closed 8 months ago

TheChymera commented 8 months ago

What happened?

The following tests fail when running the test suite:

FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[hdf5-unwrapped-<lambda>-iterator_options0] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[hdf5-generic-SliceableDataChunkIterator-iterator_options1] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[hdf5-classic-DataChunkIterator-iterator_options2] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[zarr-unwrapped-<lambda>-iterator_options0] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[zarr-generic-SliceableDataChunkIterator-iterator_options1] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_time_series[zarr-classic-DataChunkIterator-iterator_options2] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_dynamic_table[hdf5] - AttributeError: 'VectorData' object has no attribute 'set_data_io'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_simple_dynamic_table[zarr] - AttributeError: 'VectorData' object has no attribute 'set_data_io'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[hdf5-unwrapped-<lambda>-data_iterator_options0-timestamps_iterator_options0] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[hdf5-generic-SliceableDataChunkIterator-data_iterator_options1-timestamps_iterator_options1] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[hdf5-classic-DataChunkIterator-data_iterator_options2-timestamps_iterator_options2] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[zarr-unwrapped-<lambda>-data_iterator_options0-timestamps_iterator_options0] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[zarr-generic-SliceableDataChunkIterator-data_iterator_options1-timestamps_iterator_options1] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_defaults.py::test_time_series_timestamps_linkage[zarr-classic-DataChunkIterator-data_iterator_options2-timestamps_iterator_options2] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[hdf5-unwrapped-<lambda>-iterator_options0] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[hdf5-generic-SliceableDataChunkIterator-iterator_options1] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[hdf5-classic-DataChunkIterator-iterator_options2] - TypeError: H5DataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[zarr-unwrapped-<lambda>-iterator_options0] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[zarr-generic-SliceableDataChunkIterator-iterator_options1] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_time_series_override[zarr-classic-DataChunkIterator-iterator_options2] - TypeError: ZarrDataIO.__init__: unrecognized argument: 'data_io_kwargs'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_dynamic_table_override[hdf5] - AttributeError: 'VectorData' object has no attribute 'set_data_io'
FAILED tests/test_minimal/test_tools/test_backend_and_dataset_configuration/test_helpers/test_configure_backend_overrides.py::test_simple_dynamic_table_override[zarr] - AttributeError: 'VectorData' object has no attribute 'set_data_io'
FAILED tests/test_ecephys/test_mock_recording_interface.py::TestMockRecordingInterface::test_conversion_as_lone_interface - AttributeError: 'NoiseGeneratorRecording' object has no attribute 'rename_channels'

Here are the dependency versions in the sandbox:

[deco]~/src/neuroconv ❱ equery g neuroconv
 * Searching for neuroconv ...
 * dependency graph for sci-biology/neuroconv-0.4.8
 `--  sci-biology/neuroconv-0.4.8  ~amd64
   `--  dev-python/h5py-3.10.0-r1  (dev-python/h5py) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/hdmf-3.11.0  (dev-python/hdmf) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/hdmf-zarr-0.5.0  (dev-python/hdmf-zarr) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/jsonschema-4.21.1  (dev-python/jsonschema) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/numpy-1.26.4  (dev-python/numpy) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/nwbinspector-0.4.28  (dev-python/nwbinspector) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pandas-2.2.1-r1  (dev-python/pandas) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/parse-1.20.1  (dev-python/parse) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/psutil-5.9.8  (dev-python/psutil) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pynwb-2.6.0  (dev-python/pynwb) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pyyaml-6.0.1-r1  (dev-python/pyyaml) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/scipy-1.12.0  (dev-python/scipy) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/tqdm-4.66.2  (dev-python/tqdm) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pydantic-2.6.4  (dev-python/pydantic) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/spikeinterface-0.99.1  (dev-python/spikeinterface) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/neo-0.12.0  (dev-python/neo) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  sci-biology/roiextractors-0.5.1  (sci-biology/roiextractors) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-lang/python-3.10.14  (dev-lang/python) ~amd64
   `--  dev-lang/python-3.11.8_p1  (dev-lang/python) amd64
   `--  dev-python/parameterized-0.9.0  (dev-python/parameterized) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pytest-7.4.4  (>=dev-python/pytest-7.3.1) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/gpep517-15  (>=dev-python/gpep517-15) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/setuptools-69.2.0  (>=dev-python/setuptools-67.8.0-r1) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]

Also, you have a mandatory dropdown box for the used python version, the 3.10 entry on it is truncated to 3.1

Steps to Reproduce

This is the full build and test log → https://ppb.chymera.eu/4d8a54.html

Traceback

No response

Operating System

Linux

Python Executable

Python

Python Version

3.1

Package Versions

No response

Code of Conduct

CodyCBakerPhD commented 8 months ago

@TheChymera Thanks for including the dependencies in your environment - they are incorrect for that version of NeuroConv

See https://github.com/catalystneuro/neuroconv/blob/main/requirements-minimal.txt#L7, the HDMF version should be at least a minor version above what you show and that is very likely the source of that particular error

TheChymera commented 8 months ago

@CodyCBakerPhD thanks, that was indeed the majority of the issue, there does, however, remain one test failure:

FAILED tests/test_ecephys/test_mock_recording_interface.py::TestMockRecordingInterface::test_conversion_as_lone_interface - AttributeError: 'NoiseGeneratorRecording' object has no attribute 'rename_channels'

Build/test log → https://ppb.chymera.eu/7aa12e.html

Deps:

 * dependency graph for sci-biology/neuroconv-0.4.8
 `--  sci-biology/neuroconv-0.4.8  ~amd64
   `--  dev-python/h5py-3.10.0-r1  (dev-python/h5py) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/hdmf-3.13.0  (dev-python/hdmf) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/hdmf-zarr-0.5.0  (dev-python/hdmf-zarr) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/jsonschema-4.21.1  (dev-python/jsonschema) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/numpy-1.26.4  (dev-python/numpy) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/nwbinspector-0.4.28  (dev-python/nwbinspector) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pandas-2.2.1-r1  (dev-python/pandas) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/parse-1.20.1  (dev-python/parse) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/psutil-5.9.8  (dev-python/psutil) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pynwb-2.6.0  (dev-python/pynwb) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pyyaml-6.0.1-r1  (dev-python/pyyaml) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/scipy-1.12.0  (dev-python/scipy) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/tqdm-4.66.2  (dev-python/tqdm) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pydantic-2.6.4  (dev-python/pydantic) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/spikeinterface-0.99.1  (dev-python/spikeinterface) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/neo-0.12.0  (dev-python/neo) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  sci-biology/roiextractors-0.5.1  (sci-biology/roiextractors) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-lang/python-3.10.14  (dev-lang/python) ~amd64
   `--  dev-lang/python-3.11.8_p1  (dev-lang/python) amd64
   `--  dev-python/parameterized-0.9.0  (dev-python/parameterized) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/pytest-7.4.4  (>=dev-python/pytest-7.3.1) amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/gpep517-15  (>=dev-python/gpep517-15) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
   `--  dev-python/setuptools-69.2.0  (>=dev-python/setuptools-67.8.0-r1) ~amd64  [python_targets_python3_10(-)? python_targets_python3_11(-)?]
CodyCBakerPhD commented 8 months ago

Are you installing neuroconv using pip? From latest release? Fresh environment every time?

Your current failure is because you have an incompatible SpikeInterface versions: https://github.com/catalystneuro/neuroconv/blob/main/src/neuroconv/datainterfaces/ecephys/requirements.txt#L1