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

Support federated serverlite extensions #104

Closed
bollwyvl opened this issue May 22, 2021 · 1 comment · Fixed by #352
Closed

Support federated serverlite extensions #104

bollwyvl opened this issue May 22, 2021 · 1 comment · Fixed by #352
Labels
enhancement New feature or request
Projects

Comments

@bollwyvl
Copy link
Collaborator

Problem

At present, a JupyterLite pretty much must include all of the kernels, exactly the contents/settings extensions provided etc. It's also basically not possible to add new serverlite extensions without forking or going through the PR process here.

Proposed Solution

At extension build time adopt either:

  • exactly the jupyter labextension build toolchain,
    • we might be able to get by with "requiring" (as in, might build, but not run without) package.json#/jupyterlab/sharedPackage pointers to jupyterlite/server
  • an extension-by-subclass of that machinery for jupyter serverlitextension build (that is very long)

At configuration time, either:

  • use exactly federated_extensions
  • use a very similar federated_serverlite_extensions

At runtime:

  • use the config
  • actually read package.json

Additional context

As a stopgap, it was proposed elsewhere to offer a way to specify a mock server response via OpenAPI to provide enough server information to trick an existing, useful labextension into working, e.g. jupyterlab-videochat.

@bollwyvl
Copy link
Collaborator Author

from #348: We should probably start looking into #104.

Agreed, (unfortunately, as this looks very cool).

More broadly, bespoke kernels will end up being the "long pole" for size, build time, and complexity: for example, pyodide is already quite complex, and will get more complex on #310.

For users, this would play out like:

  • each kernel build/config chain would end up being a separately-installable pip package which can bring its "core" distribution, extra build steps and dependencies, etc.
    • each (e.g , jupyterlite-lualite) would depend on a new jupyterlite-core package
  • the jupyterlite metapackage would then depend on the "grandparented" packages (jupyterlite-jslite, jupyterlite-ipyolite)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
MVP
Done
Development

Successfully merging a pull request may close this issue.

2 participants