Skip to content
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

Add mime-type for Jupyter notebooks #282

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/custom-types.json
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,13 @@
"http://php.net/manual/en/faq.installation.php"
]
},
"application/x-ipynb+json": {
"compressible": true,
"extensions": ["ipynb"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution! I checked the reference below, and didn't find anything about this being the file extension for the application/x-ipynb+json mime type. But I could be missing something, of course. If you need to add another reference for this, please do so. If it is already on that page, but I am just missing it, please highlight where this information is location on the source linked below. Thank you!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switched to a better source, and also noting that this would close the previously discussed #176

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sweet, thank you! Please forgive my misunderstanding still, but the issue comment you linked to says:

x- or vnd are fine - they're both valid for these "custom" (non-IANA declared). I primarily care about ensuring consistency and documented specs. 😄

application/x-ipynb+json was declared sometime ago, we can keep on with it.

I guess I'm missing where in that comment it talks about the file extension??

Copy link
Author

@julien-c julien-c Jan 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see! sorry for not understanding the comment about the file extension.

Well, it's actually surprisingly tricky to find a reference for the file extension being .ipynb, but maybe this link?

as well as screenshots like this one.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. The issue is that we have a strong rule on needing a specific reference that clearly provide the information like where it is clear that the specific file extension == that specific mime type. I'm not familiar with Jupyer and there is just not enough context there to link the two together definitively. It has been too frequent that we would accept data only for folks to come argue with us it was wrong or should be changed, over and over. This module is not intended to be a registry, that is what IANA is; it's main purpose is to aggregate the three sources listed at the top of the README in to a JSON file for Node.js users like the Express.js project (the spawn of it).

We of course still accept custom entries, but need good sources from first parties regarding the data before landing so we're not here in a situation of being a registry. I hope that makes sense.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it.

If I ask the Jupyter maintainers if they'd state somewhere in their doc the following language:

Jupyter notebooks use file extension .ipynb and their intended mime-type is application/x-ipynb+json

Would that work?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely 💯 even just as a comment on their Github would be enough. We have a few like that currently.

"sources": [
"https://github.com/jupyter/notebook/pull/1861#issuecomment-257352098"
]
},
"application/x-iwork-keynote-sffkey": {
"extensions": ["key"],
"notes": "Deprecated alias for iWorks Keynote file",
Expand Down