ruff
2520ebb1 - Fallback to kernelspec to check if it's a Python notebook (#12875)

Commit
1 year ago
Fallback to kernelspec to check if it's a Python notebook (#12875) ## Summary This PR adds a fallback logic for `is_python_notebook` to check the `kernelspec.language` field. Reference implementation in VS Code: https://github.com/microsoft/vscode/blob/1c31e758985efe11bc0453a45ea0bb6887e670a4/extensions/ipynb/src/deserializers.ts#L20-L22 It's also required for the kernel to provide the `language` they're implementing based on https://jupyter-client.readthedocs.io/en/stable/kernels.html#kernel-specs reference although that's for the `kernel.json` file but is also included in the notebook metadata. Closes: #12281 ## Test Plan Add a test case for `is_python_notebook` and include the test notebook for round trip validation. The test notebook contains two cells, one is JavaScript (denoted via the `vscode.languageId` metadata) and the other is Python (no metadata). The notebook metadata only contains `kernelspec` and the `language_info` is absent. I also verified that this is a valid notebook by opening it in Jupyter Lab, VS Code and using `nbformat` validator.
Author
Parents
Loading