angelolab / ark-analysis

Integrated pipeline for multiplexed image analysis
https://ark-analysis.readthedocs.io/en/latest/
MIT License
72 stars 25 forks source link

Metaclustering `DEBUG_VIEW` gives a cryptic error on the latest version of `ipywidgets` (8.0.5) #952

Closed srivarra closed 1 year ago

srivarra commented 1 year ago

Please refer to our FAQ and look at our known issues before opening a bug report.

Describe the bug

A new release of ipywidgets was made earlier on 3/21/23 which causes a cryptic error pop up when setting the DEBUG_VIEW for metaclustergui.py.

Expected behavior

It should run without errors. Looks like this pr may fix it. But for now the solution would be to pin ipywidgets to 8.0.0.

To Reproduce Run pytest and it'll error out. See this recent CI run

============================= test session starts ==============================
platform darwin -- Python 3.8.16, pytest-7.2.1, pluggy-1.0.0 -- /Users/srivarra/Angelo Lab/Internal/ark-analysis/.venv/bin/python
cachedir: .pytest_cache
Using --randomly-seed=24
rootdir: /Users/srivarra/Angelo Lab/Internal/ark-analysis, configfile: pyproject.toml, testpaths: tests
plugins: pycodestyle-2.3.1, cases-3.6.14, asyncio-0.20.3, mock-3.10.0, randomly-3.12.0, cov-4.0.0, anyio-3.6.2
asyncio: mode=strict
collecting ... collected 0 items / 1 error

==================================== ERRORS ====================================
________________________ ERROR collecting test session _________________________
../../../.pyenv/versions/3.8.16/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:671: in _load_unlocked
    ???
.venv/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:168: in exec_module
    exec(co, module.__dict__)
tests/utils/metacluster_remap_gui/conftest.py:5: in <module>
    from ark.utils.metacluster_remap_gui import MetaClusterData
.venv/lib/python3.8/site-packages/ark/utils/metacluster_remap_gui/__init__.py:3: in <module>
    from .metaclustergui import MetaClusterGui
.venv/lib/python3.8/site-packages/ark/utils/metacluster_remap_gui/metaclustergui.py:20: in <module>
    DEBUG_VIEW = widgets.Output(layout={'border': '1px solid black'})
.venv/lib/python3.8/site-packages/ipywidgets/widgets/widget.py:501: in __init__
    super().__init__(**kwargs)
.venv/lib/python3.8/site-packages/traitlets/traitlets.py:1347: in __init__
    setattr(self, key, value)
.venv/lib/python3.8/site-packages/traitlets/traitlets.py:732: in __set__
    self.set(obj, value)
.venv/lib/python3.8/site-packages/traitlets/traitlets.py:706: in set
    new_value = self._validate(obj, value)
.venv/lib/python3.8/site-packages/traitlets/traitlets.py:738: in _validate
    value = self.validate(obj, value)
.venv/lib/python3.8/site-packages/ipywidgets/widgets/trait_types.py:360: in validate
    return super().validate(obj, self.klass(**value))
.venv/lib/python3.8/site-packages/ipywidgets/widgets/widget_layout.py:86: in __init__
    super().__init__(**kwargs)
.venv/lib/python3.8/site-packages/ipywidgets/widgets/widget.py:504: in __init__
    self.open()
.venv/lib/python3.8/site-packages/ipywidgets/widgets/widget.py:535: in open
    self.comm = create_comm(**args)
.venv/lib/python3.8/site-packages/comm/__init__.py:27: in _create_comm
    raise NotImplementedError("Cannot ")
E   NotImplementedError: Cannot

---------- coverage: platform darwin, python 3.8.16-final-0 ----------
Coverage LCOV written to file coverage.lcov

=========================== short test summary info ============================
ERROR  - NotImplementedError: Cannot
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 4.88s ===============================