Different notebook filename suffix for different kernel

Currently, all the notebook use suffix *.ipynb (IPython, IJulia, Mojo…). However the name ipynb stand for “IPython Notebook” If it use IJulia as kernel. I would recommend it to use *.ijlnb and For Mojo, *.imojonb or *.i🔥nb. This can make user easier distinguish different kind of notebook.

For language like Mojo, it looks like very similar to Python, but they are different language. It will make user have wrong understanding.

stand for “IPython Notebook”

stood for might be more apt, as IPython was the first, and still flagship, implementation.

This is why the file carries self-describing metadata, including several levels of kernel identification, with the mime type being the most portable, and clients make decisions based on this information, rather than error-prone guessing at file names. Even if it did, there might be further gradations inside the notebook, so it would still need to be open and read anyway, so having a single extension to look for will keep more tools more interoperable.

Users are free to use compound extensions such as .mojo.ipynb, etc. (or use an extension that opts into this behavior) but at this point, there is little benefit to changing every first-party client (e.g. JupyterLab, Notebook), server and proprietary tool to understand a galaxy of possible file names.

3 Likes