Skip to content

Commit da213ca

Browse files
committed
fix #5417 -- make our jupyter kernel names case insensitive
- this actually technical makes cocalc incompat with jupyterlab, but also more likely to just work with outside notebooks
1 parent cbbe9fe commit da213ca

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

src/packages/frontend/jupyter/select-kernel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ export const KernelSelector: React.FC<KernelSelectorProps> = React.memo(
382382
"this compute server"
383383
) : (
384384
<>
385-
the <SiteName /> shared environment
385+
the <SiteName /> Home Base environment
386386
</>
387387
)}
388388
.

src/packages/jupyter/ipynb/import-from-ipynb.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,13 @@ export class IPynbImporter {
162162
this._ipynb.metadata &&
163163
this._ipynb.metadata.kernelspec &&
164164
this._ipynb.metadata.kernelspec.name;
165+
if (this._kernel != null) {
166+
// kernel names are supposed to be case insensitive
167+
// https://jupyter-client.readthedocs.io/en/latest/kernels.html
168+
// We also make them all lower case when reading them in at
169+
// src/packages/jupyter/kernel/kernel-data.ts
170+
this._kernel = this._kernel.toLowerCase();
171+
}
165172
};
166173

167174
_import_metadata = () => {

src/packages/jupyter/kernel/kernel-data.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export async function get_kernel_data(): Promise<KernelSpec[]> {
5454
for (const kernel in kernel_data) {
5555
const value = kernel_data[kernel];
5656
v.push({
57-
name: kernel,
57+
name: kernel.toLowerCase(),
5858
display_name: value.spec.display_name,
5959
language: spec2language(value.spec),
6060
// @ts-ignore
@@ -83,8 +83,9 @@ export async function getLanguage(kernelName: string): Promise<string> {
8383
}
8484

8585
export async function get_kernel_data_by_name(
86-
name: string
86+
name: string,
8787
): Promise<KernelSpec> {
88+
name = name.toLowerCase();
8889
const kernel_data = await get_kernel_data();
8990
for (const kernel of kernel_data) {
9091
if (kernel.name == name) {

0 commit comments

Comments
 (0)