rapidsai / jupyterlab-nvdashboard

A JupyterLab extension for displaying dashboards of GPU usage.
BSD 3-Clause "New" or "Revised" License
598 stars 78 forks source link

Add support for Jupyter Lab 2.0 #62

Closed jacobtomlinson closed 4 years ago

jacobtomlinson commented 4 years ago

Migration to Jupyter Lab 2.0

image

owen-synergy commented 4 years ago

Thanks for working on this @jacobtomlinson - I hope your PR can go in soon. I've been holding out for jupyter lab 2 support for a while now.

owen-synergy commented 4 years ago

I don't know how releases are scheduled for jupyterlab-nvdashboard but can anyone tell me roughly when this update will trickle down to the conda-forge recipe? Conda-forge still shows the last released version as being 0.1.11

jakirkham commented 4 years ago

There should be a 0.3.1 release on the rapidsai channel as of yesterday.

The conda-forge package has lagged a bit. Agree it would be good to have that updated as well. Will ask about it.

owen-synergy commented 4 years ago

Cheers! I'm not very familiar with maintaining the conda forge recipies. I found:

https://github.com/conda-forge/jupyterlab-nvdashboard-feedstock/blob/master/recipe/meta.yaml

I don't know if it is just that file that needs to be updated or whether there is more to it than that. I'm happy to try and make a PR for that change if it is just the recipe yaml that needs the update.

jakirkham commented 4 years ago

Thanks Owen! If you have bandwidth to take a look, that would be appreciated 🙂

owen-synergy commented 4 years ago

No problem, I'm on my work account at the moment. I'll switch back to my personal account and see see if I can update the recipe tonight or tomorrow

owen-synergy commented 4 years ago

I should've looked before I opened my mouth - a PR has already been made here:

https://github.com/conda-forge/jupyterlab-nvdashboard-feedstock/pull/5

owenlamont commented 4 years ago

I created a PR for the conda feedstock here. I found the auto generated PR above didn't have the right bokeh and jupyterlab version dependencies.

As I understand this PR going forward we now require jupyterlab 2 for all new releases of jupyterlab-nvdashboard? Should the README.md be updated to say that? It still mentions jupyterlab 1.

jacobtomlinson commented 4 years ago

Ah yes the README needs updating. Do you feel you could put in a PR?

owenlamont commented 4 years ago

I'm happy to update the readme and raise a PR - I'm just awaiting some feedback about whether it is okay for the labextension and package versions to be out of sync or not. After I made that comment I found with some more experimenting you can still run jupyter lab 1 with version 0.3.1 of the Python package and version 0.3.0 jupyter labextension. I was hoping someone who understands the Python to npm dependencies better could tell me if that is okay. I think the npm package does somehow check compatibility with the package or jupyter lab version... but I don't know.

jacobtomlinson commented 4 years ago

I dont think we are doing compatibility checking.

owenlamont commented 4 years ago

I was just looking at the node package dependencies in package.json and it does specify jupyterlab/application 2 as a dependency for installing version 0.3.1 of labextension. So if you only have jupyterlab/application version 1, version 0.3.0 is the highest nvdashboard labextension that will install and if you have jupyterlab/application 2 you can install nvdashboard 0.3.1 right? That is consistent with what I found with my testing.

I was trying to think of future scenarios if later versions of the Python package become incompatible with earlier versions of the Node package what or if we can do to stop a user getting their environment in that state, i.e. if they stay on jupyter lab 1 but keep upgrading jupyterlab-nvdashboard they will be stuck on version 0.3.0 of the node package but keep getting higher versions of the Python package unless we make jupyter lab 2 a Python package requirement.

Maybe I'm overthinking it - I don't know how other jupyter labextension projects try or don't try to enforce compatibility between the Python and Node packages.

jacobtomlinson commented 4 years ago

I expect older versions of the node package to still be compatible with newer versions of the python package. This may not be true forever, but as time goes on people should really be upgrading their Jupyter Lab installs.

So I would encourage you not to worry too much about this.

But @jakirkham may have thoughts.

owenlamont commented 4 years ago

Thanks for the feedback - yeah I'm getting tired of thinking about it. I'll see what @jakirkham prefers and update the readme accordingly too.

jakirkham commented 4 years ago

Jacob's the expert here. So would defer to him 🙂