-
-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Describe the bug
This plugin is not compatible with Jupyter Notebook 7 (as it follows the Jupyter Lab design).
To Reproduce
pip install notebook==7.0.0.a18
Output of jupynium --version
0.2.0
Additional Context
Currently, this plugin doesn't support Jupyter Lab. The reason is that Jupyter Lab doesn't provide a front-end API to interact using Selenium. A possible way may be writing a Jupyter Lab extension, and communicate with the extension, but it will be much more complicated to set up Jupynium that way..
Problems:
- Writing a Jupynium extension requires one extra version to match. It requires Jupynium plugin version and the Jupyter Lab extension version to exactly match. So whenever you update Jupynium, you'll be required to update all of your server's Jupyter Lab extension.
- It will be one more configuration required. Instead of communicating with the browser, now you'll need to communicate with the Jupyter Lab extension, then the extension needs to listen to a socket.
- It will be harder to maintain. The contributors need understanding in all lua, python, typescript and Neovim / Jupyter Lab extension development experiences.
I may be wrong here, but if anyone can find a Jupyter Lab front-end method without using an extension please let me know. You can try with Jupyter Notebook like this:
- Press
F12to open a developer console - Write
Jupyter.notebook.and see the APIs like setting text on cells etc.
This is simply what I need, and it looks like the new Jupyter Lab and Jupyter Notebook 7 doesn't support this.
Suggested Solution
Luckily, it looks like we can still use nbclassic (pip install nbclassic) and it will still serve the classic notebook UI. We will need to change the default address to localhost:8888/nbclassic, or maybe Jupynium can detect if the server running is not compatible and fallback to the nbclassic URL. This and Notebook 6 are supported for 2 more years.