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
Kernel name is not displayed with Kernel Manager #2
Comments
Thanks for opening this issue @echarles. We definitely need the changes, but I agree it is not a release blocker. Are you able to enumerate what the changes actually are? (This is one of the remaining items in jupyter-server/jupyter_server#112 and it would be great to reference that enumeration.) Having not looked at the changes and given that JupyterLab "just works" (although the provider is not displayed) I would hope the NB extension could work similarly such that it tolerates non-prefixed kernel names in the original form as well as those returned from provider-based frameworks. |
Hi Kevin, I have applied the static diffs and kernel name is correctly displayed in both [1] notebook with nbclassic+jupyter_server+kernel_mgmt AND [2] also with plain normal notebook (for this last one, I had to manually apply the diff on one file which had evolved). It is just now a matter to decide if we want to open a PR in So definitively not a blocker. [1] notebook with nbclassic+jupyter_server+kernel_mgmt with patch [2] plain normal notebook with patch |
Well, the enumeration would be a few simple javascript changes in the following files:
|
Beautiful! Yeah, I feel like using both I'd rather see the parenthesized value be only the provider id prefix - which implies we'd need some parsing logic or add provider_id to the kernelspec return value. However, we cannot remove the provider_id from If we could make provider_id "a thing" in the front-end, then we get better implementation separation so front ends don't need to assume |
My thinking is that frontends should include the full kernel type ID, e.g. I think it's up to the frontend what additional information it wants to display alongside that - display name, language name, mimetype... - but I would strongly recommend that as a minimum it's always easy to see the full kernel type ID when listing kernels. |
PS: It is all over spread in various repos and prolly the nbclassic is not impacted at all by this discussion. In another way, it may be a good place to discuss this as independent of the various components that will come into picture. After all, this is aimed to be a shim for the other components... To further take decision, I would rather see converging with the jlab+server+kmgmt combo stack. I need to reload the kmgmt data structures in my mind and to be honest still a bit confused with the kernel specs. Could you list a few examples from which we could deduce a structure which could look like:
|
@takluyver - I just realized that conda kernels have the ambiguity issue. Same display names, different kernel names (since they include the conda env), but same provider id (conda). I retract my idea of separating out provider_id from @echarles - if we're going to always include I agree that "kernel specs" are a bit overloaded with JKM. There's the kernel spec that is returned by all providers vs. the kernel spec that is stored in the kernel.json file and used by kernelspec providers. |
I suggest:
Of course, for compatibility reasons, some interfaces named after kernel specs (e.g. HTTP endpoints) may end up dealing with kernel types as we adapt them. Some confusion like that is unavoidable. |
Hence maybe my confusion sometimes... If there are different things, it should have different names. I just see Thomas last comment here above. If we name in another way in the documentation, is there impact in the source code to make it more clear? |
Running notebook with nbclassic, server and kernel_mgmt has a side effect: The name of the running kernel is no more displayed, instead a generic
Kernel
label is shown to the user.This PR is opened to discuss if we need to solve this (I believe this should not be a blocker to release), when and how.
The link of the initial patch made by @takluyver is taken here: https://patch-diff.githubusercontent.com/raw/jupyter/notebook/pull/4170.diff
@kevin-bates has taken over the server part of it and has done an amazing job enriching it a lot (those are spread in various repos). The diff of
/notebook/static/notebook/js
have not been taken over. We could reapply the left diff to thenotebook
repo, but I guess this would break things if the sever is not equipped withjkm
.cc/ @Zsailer
The text was updated successfully, but these errors were encountered: