jupyter-widgets / ipydatagrid

Fast Datagrid widget for the Jupyter Notebook and JupyterLab
BSD 3-Clause "New" or "Revised" License
580 stars 51 forks source link

JupyterLab 4 support #397

Closed martinRenou closed 1 year ago

martinRenou commented 1 year ago

When installing JupyterLab 4 (pip install jupyterlab==4.0.0a33) ipydatagrid would not work. The issue seems to be due to ipydatagrid shipping its own version of Lumino v1 in this case, which is incompatible with JupyterLab 4 which uses Lumino v2. Setting Lumino packages as being "shared" allows us to use the Lumino version JupyterLab provides.

martinRenou commented 1 year ago

CI failures are unrelated: https://github.com/bloomberg/ipydatagrid/pull/398

jasongrout commented 1 year ago

Having lumino packages be shared should be default by the JLab extension compilation process, IIRC: https://github.com/jupyterlab/jupyterlab/blob/cb26f15084af61ec112c46c0246f4e0118be5f2b/builder/src/extensionConfig.ts#L100-L107

If this isn't happening, there's something wrong with the lab extension build process, I think.

martinRenou commented 1 year ago

Indeed, though it seems that ipydatagrid falls into a case where it's not. I'm not understanding exactly why.

martinRenou commented 1 year ago

If this isn't happening, there's something wrong with the lab extension build process, I think.

I will try to find time to look deeper into the JupyterLab builder to see what could go wrong. In the meantime, this looks like a fine workaround.

jasongrout commented 1 year ago

Indeed, though it seems that ipydatagrid falls into a case where it's not. I'm not understanding exactly why.

That sounds like a potentially big thing to solve in JLab. Does a test example extension from the jlab extension cookiecutter have this issue, or is it specific to ipywidgets extensions?