Open jpcaram opened 1 year ago
It started as a proof of concept for providing a bridge between notebooks and the JupyterLab UI. To make it possible to control the UI from a notebook using Python.
In a way it's possible to build small apps with it (like the filebrowser example), but it can quickly become limited because not all the JupyterLab frontend API is exposed.
Currently it would still be better to write a proper JupyterLab extension for production use.
Hi @jtpio, I think there is a legitimate use case(s). Any time when a UI components is directly tied to what you are doing in your notebook. Such UI element may not make any sense without specific code running in a Python kernel, so a Jupyter plugin wouldn't be the right approach. Too much unnecessary work.
For example, imagine I have an object that is the main thing I'm working around in a notebook. It may be useful to have some sort of dashboard for this object on the left panel. This dashboard could have a visual summary of the object's state and "quick action" buttons.
This specific example requires little more than creating an ipywidget. Just the ability to place it in the left panel. But it's just an example. Having the ability to add menu items, running Jupyter commands, etc. would be nice.
In summary, my hope is that you would continue the work. At least make it look like an important component of the Jupyter ecosystem so others would be interested in contributing.
I wonder if another use for ipylab
is as a way of writing scripts whose execution might be controlled by a Playwright test script? Eg a notebook scripts a set of operations in a notebook, and the Playwright script loads the notebook and executes one cell at a time before grabbing a screenshot, testing the state of a UI element, etc?
It's unclear to me what the purpose of this library is. I'm not sure what would be the right use cases. Is it supposed to be an alternative to writing a Jupyter Frontend plugin? How is it better or worse than writing a plugin? Is it just a proof of concept? The motivation for my question(s) is about making the best use of it.
I believe an answer to this question could be part of the description of the library.
Furthermore, what is the expected or planned future for the library? It seems that is is missing some pieces for it to be appropriate for a production environment, like a Jupyter Server extension that loads a Python kernel, or a way to remove widgets when a kernel is stopped, just to mention a few that come to mind.
Thanks!