-
Notifications
You must be signed in to change notification settings - Fork 947
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop notebook dependency from widgetsnbextension #2590
Drop notebook dependency from widgetsnbextension #2590
Conversation
cc @jasongrout |
I think that would be too much of a backwards-incompatible change in 7.x. But good news is that we plan on an 8.0 soon (January?) I think dropping ipywidgets -> widgetsnbextension makes more sense that widgetsnbextension->notebook. Or perhaps even better we have a new ipywidgets-base package that is just the python part, and ipywidgets depends on that as well as widgetsnbextension and the jlab extension? |
The thing is that dropping I find it very unlikely that anyone would rely on installing notebook as a byproduct of installing widgetsnbextension and the fix would be trivial to make... Eventually, we could drop |
I can imagine many scenarios for this to be true. 🐱
That is true of many backwards incompatible changes though... |
At the moment there is not means to install ipywidgets without the whole notebook server (without going crazy with no-deps). Dropping the |
I can't imagine a scenario where you want to install widgetsnbextension without the notebook. I can imagine lots of scenarios where you want to install ipywidgets with widgetsnbextension. To me, that points to breaking the dependency ipywidgets->widgetsnbextension (which would not be backwards-compatible) or creating a new ipywidgets-base package for just the python code (which would be backwards compatible). |
Doing People will be more confused to have to manually install something like widgetsnbextension (which they don't know what it is) while having to install both ipywidgets and notebook will makes sense to most. |
To me, a more compelling argument going forward, with jupyter server maturing, is that people may not want to install the notebook, and install jlab (or voila, etc.) without the notebook. I still feel strongly that this is backwards-incompatible and shouldn't be in 7.x, but I think now is the right time to hash this out for the 8.0 coming soon. |
😒 |
Help us get 8.0 ready and out! :) |
7.x is getting really stable and this helps adoption... I would really like that dependency to be cut... This is especially annoying for people who use the conda-environment kernel manager and find themselves with the notebook server installed in many environments. We should work together on the 8.0 objectings while I am in NYC. I would like ipywidgets to become less ipykernel-specific and more amenable to xeus-python and other implementations of the required APIs. |
I see this issue popping up in many packages, you want (for convenience, without having to read docs) some default dependency, but you want the option of having the minimal requirements. pip(and/or setuptools) supports additional dependencies, like |
That works really well for pip, and I support adding something like that. It doesn't work for conda, where you can't have variants of a package like that. |
The solution I took with vaex, is that For ipywidgets we could do the same, split up in
We can furthermore think about splitting of base from controls everywhere (ipyvuetify only requires base on python and js side), but that requires release orchestration software I think. |
6061ed4
to
7ea681e
Compare
@maartenbreddels the disadvantage of the plan you outline is that everyone would have to update all their import statements to be |
We discussed this at the workshop (#2641) and decided the benefits of this outweighed the detriments. |
While we may not drop the
ipywidgets -> widgetsnbextension
dependency in a backward-compatible fashion, a good way to enable the installation of ipykernel in an environment without pulling the notebook server is to drop thewidgetsnbextension -> notebook
dependency.Could that land in a 7.x release?