You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to build the ndx-microscopy extension, which requires the namespace of another extension, ndx-ophys-devices. However, I encounter an error indicating that the ndx-ophys-devices namespace cannot be loaded.
Error Details
When running the tests, the following error occurs:
src/pynwb/tests/test_constructors.py:None (src/pynwb/tests/test_constructors.py)
..\..\..\..\..\anaconda3\envs\ndx-microscopy-env\Lib\site-packages\hdmf\spec\namespace.py:452: in __load_namespace
inc_ns = self.get_namespace(s['namespace'])
..\..\..\..\..\anaconda3\envs\ndx-microscopy-env\Lib\site-packages\hdmf\utils.py:668: in func_call
return func(args[0], **pargs)
..\..\..\..\..\anaconda3\envs\ndx-microscopy-env\Lib\site-packages\hdmf\spec\namespace.py:303: in get_namespace
raise KeyError("'%s' not a namespace" % name)
E KeyError: "'ndx-ophys-devices' not a namespace"
@rly could you help identify why the ndx-ophys-devices namespace is not being recognized?
After merging this PR I would like to work on the integration with NWBEP003
The text was updated successfully, but these errors were encountered:
ndx-ophys-devices does not seem to be available on PyPI. Either it needs to be a Python module that is a dependency of this package (and mentioned in pyproject.toml or setup.py and therefore installed by pip when ndx-microscopy is installed, or the ndx-ophys-devices spec files need to be included in this package and the classes instantiated in __init__.py.
If I clone ndx-ophys-devices and install it locally, then running pytest gives me:
ERROR src/pynwb/tests/test_constructors.py - ValueError: No specification for 'ExcitationLightPath' in namespace 'ndx-microscopy'
ERROR src/pynwb/tests/test_roundtrip.py - ValueError: No specification for 'ExcitationLightPath' in namespace 'ndx-microscopy'
so it seems like the namespace is recognized then.
No problem. I guessed that. I see now that you added the GitHub link to ndx-ophys-devices into requirements-min.txt, but it actually needs to be in pyproject.toml or setup.py to be used. requirements-min.txt is only used in a particular GitHub actions workflow that checks whether the tests pass when installing the minimum versions of the packages that you specify in pyproject.toml or setup.py. Both lists need to be manually updated. Sorry that's confusing! I'll try to improve the documentation.
Separately you may want to use the latest ndx template for this extension which has a few improvements like having a project.toml which is more standard now. I'm happy to help you migrate this extension over to using that (I do it manually but I've done it enough times for other extensions that it's pretty quick). Let me know.
I am trying to build the ndx-microscopy extension, which requires the namespace of another extension, ndx-ophys-devices. However, I encounter an error indicating that the ndx-ophys-devices namespace cannot be loaded.
Error Details
When running the tests, the following error occurs:
Code
ndx-microscopy/spec/ndx-microscopy.namespace.yaml
Lines 10 to 14 in 65ba204
ndx-microscopy/src/pynwb/ndx_microscopy/__init__.py
Lines 22 to 23 in 65ba204
@rly could you help identify why the ndx-ophys-devices namespace is not being recognized?
After merging this PR I would like to work on the integration with NWBEP003
The text was updated successfully, but these errors were encountered: