I think the breadcrumbs are the media types, and as hinted at above, a possible distribution mechanism is the brave new world of federated extensions. What may be missing upstream, then, is some modifications to the (still somewhat inaccurate) metadata on
- refinement of
jupyterlab
'spackage.json
schema - improvements to
jupyter_servers
's programmatic API to be able to request, gimme the list of all the extensions i need forvnd/whatever-viz-v1
If a mimeExtension
looked more like:
"jupyter": {
"lab": {
"mimeExtension": {
"path": "lib/mimerenderer.js",
"mimetypes": ["vnd/whatever-viz-v1"]
}
}
}
Then, on the consumer side, a package creating static HTML would need to be able to:
- determine the effective labextension search path
- request all of the dependencies
- copy them onto a hostable place in a structure that mimics what
static/labextensions
provides - put links to them on a page, with enough lumino junk to pull them in
Leaving the person who actually wants to build the path just having to add whatever-viz
to requirements.txt
… which they may well already have done, if they are planning to execute notebooks that contain the library.
This isn’t going to work on, say, nbviewer
any time soon, but i think expecting extension authors to build standalone static, standalone HTML is… even less likely.