posit-dev / py-shinywidgets

Render ipywidgets inside a PyShiny app
MIT License
46 stars 5 forks source link

ipywidgets 8.0.3 breaks shinywidgets #65

Closed cpsievert closed 1 year ago

cpsievert commented 1 year ago
$ shiny run examples/outputs/app.py

INFO:     Started server process [1707]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     127.0.0.1:49483 - "GET / HTTP/1.1" 200 OK
INFO:     ('127.0.0.1', 49485) - "WebSocket /websocket/" [accepted]
INFO:     connection open
Traceback (most recent call last):
  File "/Users/cpsievert/github/py-shiny/shiny/session/_session.py", line 1002, in output_obs
    message[output_name] = fn()
  File "/Users/cpsievert/github/py-shiny/shiny/render/_render.py", line 685, in __call__
    return _utils.run_coro_sync(self._run())
  File "/Users/cpsievert/github/py-shiny/shiny/_utils.py", line 226, in run_coro_sync
    coro.send(None)
  File "/Users/cpsievert/github/py-shiny/shiny/render/_render.py", line 688, in _run
    ui: TagChildArg = await self._fn()
  File "/Users/cpsievert/github/py-shiny/shiny/_utils.py", line 181, in fn_async
    return fn()
  File "/Users/cpsievert/github/py-shinywidgets/examples/outputs/app.py", line 59, in _
    return output_widget(input.framework())
  File "/Users/cpsievert/github/py-shinywidgets/shinywidgets/_shinywidgets.py", line 45, in output_widget
    *libembed_dependency(),
  File "/Users/cpsievert/github/py-shinywidgets/shinywidgets/_dependencies.py", line 45, in libembed_dependency
    version=as_version(__html_manager_version__),
  File "/Users/cpsievert/github/py-shinywidgets/shinywidgets/_dependencies.py", line 160, in as_version
    return re.sub("\\D*", "", str(packaging.version.parse(v)))
  File "/Users/cpsievert/opt/anaconda3/lib/python3.8/site-packages/packaging/version.py", line 52, in parse
    return Version(version)
  File "/Users/cpsievert/opt/anaconda3/lib/python3.8/site-packages/packaging/version.py", line 197, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
packaging.version.InvalidVersion: Invalid version: '^1.0.1'
$ python 

Python 3.10.8 (main, Nov 24 2022, 08:09:04) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ipywidgets
>>> ipywidgets.__version__
'8.0.3'