Skip to content

[Bug]: Philosophy for interactions with PyNWB versions #263

@CodyCBakerPhD

Description

@CodyCBakerPhD

What happened?

Pertaining to conda-forge/nwbinspector-feedstock#8, if someone runs the NWB Inspector tests (or the NWB Inspector itself on a file that has the relevant neurodata types) in an environment that has an older PyNWB version (for example, 2.0.0 when 2.1.0 is the latest) certain errors can occur, such as IntracellularElectrodes not having a cell_id field.

There are two solutions:

(a) require latest PyNWB when running the Inspector. Note that this does not imply that people are required to use the latest PyNWB to create those files - they could be and probably are encouraged to install and run the Inspector in an independent virtual/conda environment and I'd even be happy to compile some Docker images if that's an even more convenient way to go about it. Point being that it is the act of opening that file with the latest PyNWB version that we implicitly base the Inspector behavior off of.

(b) skip NWB Inspector checks that in some way or another depend on certain version ranges of PyNWB. Probably easiest short-term solution, but this could get complicated to track relative to schema changes and whatnot going into the far future.

As an aside I should probably have a gallery test suite that spans multiple past PyNWB versions.

Steps to Reproduce

No response

Traceback

No response

Operating System

Linux

Python Executable

Python

Python Version

3.9

Usage

Library (Python code)

Were you streaming with ROS3?

No

Package Versions

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • Have you ensured this bug was not already reported?
  • To the best of your ability, have you ensured this is a bug within the code that checks the NWBFile, rather than a bug in the NWBFile reader (e.g., PyNWB or MatNWB)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    category: bugerrors in the code or code behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions