-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Description
Running bids2openminds on a local BIDS dataset path fails during BIDSLayout initialization due to a protocol mismatch inside upath/fsspec. Although I pass a plain POSIX path, the code later tries to join with a path whose protocol is detected as 'bids', and raises:
ValueError: Protocol not known: 'bids'
P.S.
This behavior did not occur in earlier versions of the stack; it seems to be introduced after updating one or more dependencies (pybids, upath, or fsspec).
Command
bids2openminds '/home/pnajafi/Desktop/data/bids-examples/7t_trt'
Full Traceback
Traceback (most recent call last):
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/upath/_protocol.py", line 50, in _fsspec_protocol_equals
o0 = _fsspec_registry_map[p0]
~~~~~~~~~~~~~~~~~~~~^^^^
File "/usr/local/lib/python3.12/collections/__init__.py", line 1015, in __getitem__
return self.__missing__(key) # support subclasses that define __missing__
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/collections/__init__.py", line 1007, in __missing__
raise KeyError(key)
KeyError: 'bids'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pnajafi/Python_env/bids2openminds/bin/bids2openminds", line 8, in <module>
sys.exit(convert_click())
^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/click/core.py", line 1462, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/click/core.py", line 1383, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/click/core.py", line 1246, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/click/core.py", line 814, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/bids2openminds/converter.py", line 81, in convert_click
convert(input_path, save_output=True, output_path=output_path,
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/bids2openminds/converter.py", line 24, in convert
bids_layout = BIDSLayout(input_path)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/bids/layout/layout.py", line 177, in __init__
_indexer(self)
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/bids/layout/index.py", line 160, in __call__
self._index_metadata()
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/bids/layout/index.py", line 474, in _index_metadata
target = self._layout._root.joinpath(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/upath/implementations/local.py", line 228, in joinpath
if not compatible_protocol("", *other):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/upath/_protocol.py", line 127, in compatible_protocol
if other_protocol and not _fsspec_protocol_equals(other_protocol, protocol):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pnajafi/Python_env/bids2openminds/lib/python3.12/site-packages/upath/_protocol.py", line 52, in _fsspec_protocol_equals
raise ValueError(f"Protocol not known: {p0!r}")
ValueError: Protocol not known: 'bids'
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working