deathbeds / ipydrawio

A standalone embedding of the FOSS drawio / mxgraph package into jupyterlab
https://ipydrawio.rtfd.io
Apache License 2.0
51 stars 4 forks source link

Cannot update ipywidgets from version 7.7.2 to version 8.0.1 #98

Closed eamarten closed 2 years ago

eamarten commented 2 years ago

Description

pip3's dependency resolver reports incompatibility between ipydrawio-widgets 1.2.0, that requires ipywidgets<8,>=7.6, and the new ipywidgets 8.0.1.

Reproduce

$ pip3 install -U ipywidgets Requirement already satisfied: ipywidgets in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (7.7.2) Collecting ipywidgets Using cached ipywidgets-8.0.1-py3-none-any.whl (133 kB) Requirement already satisfied: ipykernel>=4.5.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipywidgets) (6.15.1) Collecting jupyterlab-widgets~=3.0 Using cached jupyterlab_widgets-3.0.2-py3-none-any.whl (383 kB) Requirement already satisfied: traitlets>=4.3.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipywidgets) (5.3.0) Collecting widgetsnbextension~=4.0 Using cached widgetsnbextension-4.0.2-py3-none-any.whl (2.0 MB) Requirement already satisfied: ipython>=6.1.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipywidgets) (8.4.0) Requirement already satisfied: packaging in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (21.3) Requirement already satisfied: appnope in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (0.1.3) Requirement already satisfied: debugpy>=1.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (1.6.3) Requirement already satisfied: pyzmq>=17 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (23.2.1) Requirement already satisfied: matplotlib-inline>=0.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (0.1.6) Requirement already satisfied: psutil in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (5.9.1) Requirement already satisfied: jupyter-client>=6.1.12 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (7.3.5) Requirement already satisfied: tornado>=6.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (6.2) Requirement already satisfied: nest-asyncio in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipykernel>=4.5.1->ipywidgets) (1.5.5) Requirement already satisfied: decorator in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (5.1.1) Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.30) Requirement already satisfied: pexpect>4.3 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (4.8.0) Requirement already satisfied: backcall in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (0.2.0) Requirement already satisfied: jedi>=0.16 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (0.18.1) Requirement already satisfied: stack-data in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (0.5.0) Requirement already satisfied: setuptools>=18.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (65.3.0) Requirement already satisfied: pygments>=2.4.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (2.13.0) Requirement already satisfied: pickleshare in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from ipython>=6.1.0->ipywidgets) (0.7.5) Requirement already satisfied: parso<0.9.0,>=0.8.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.3) Requirement already satisfied: jupyter-core>=4.9.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (4.11.1) Requirement already satisfied: entrypoints in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (0.4) Requirement already satisfied: python-dateutil>=2.8.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (2.8.2) Requirement already satisfied: ptyprocess>=0.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0) Requirement already satisfied: wcwidth in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=6.1.0->ipywidgets) (0.2.5) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from packaging->ipykernel>=4.5.1->ipywidgets) (3.0.9) Requirement already satisfied: asttokens in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.0.8) Requirement already satisfied: pure-eval in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2) Requirement already satisfied: executing in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (1.0.0) Requirement already satisfied: six>=1.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets) (1.16.0) Installing collected packages: widgetsnbextension, jupyterlab-widgets, ipywidgets Attempting uninstall: widgetsnbextension Found existing installation: widgetsnbextension 3.6.1 Uninstalling widgetsnbextension-3.6.1: Successfully uninstalled widgetsnbextension-3.6.1 Attempting uninstall: jupyterlab-widgets Found existing installation: jupyterlab-widgets 1.1.1 Uninstalling jupyterlab-widgets-1.1.1: Successfully uninstalled jupyterlab-widgets-1.1.1 Attempting uninstall: ipywidgets Found existing installation: ipywidgets 7.7.2 Uninstalling ipywidgets-7.7.2: Successfully uninstalled ipywidgets-7.7.2 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ipydrawio-widgets 1.2.0 requires ipywidgets<8,>=7.6, but you have ipywidgets 8.0.1 which is incompatible.

Expected behavior

Context

Mac OS v12.5.1 JupyterLab v3.4.5 ipydrawio v1.2.0

Config dir: /Library/Frameworks/Python.framework/Versions/3.10/etc/jupyter jupyterlab enabled

Config dir: /usr/local/etc/jupyter

Required: installed lab extensions
JupyterLab v3.4.5
/Library/Frameworks/Python.framework/Versions/3.10/share/jupyter/labextensions
        jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
        @deathbeds/ipydrawio-notebook v1.2.0 enabled OK (python, ipydrawio)
        @deathbeds/ipydrawio-webpack v16.4.500 enabled OK (python, ipydrawio)
        @deathbeds/ipydrawio-jupyter-templates v1.2.0 enabled OK (python, ipydrawio)
        @deathbeds/ipydrawio v1.2.0 enabled OK (python, ipydrawio)
        @jupyter-widgets/jupyterlab-manager v5.0.2 enabled OK (python, jupyterlab_widgets)
bollwyvl commented 2 years ago

Further, as pip says:

pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

When reporting version stuff, it's usually wise to try creating a new, minimal reproducer, as then the error message.

At any rate, yep, that pin is hard-coded:

https://github.com/deathbeds/ipydrawio/blob/master/py_packages/ipydrawio-widgets/setup.cfg#L55

We'll have to ramp up a new release that takes the upstream release into account, and tests it. As a major version bump, it was to be expected it would cause breakage, and it was a rather long pre-release to get there... will have a look when i get the chance.

eamarten commented 2 years ago

Many thanks for your great software and for having kindly supported this so promptly!