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

Jupyter Kernel Parameters #1

Open
echarles opened this issue Jan 8, 2024 · 1 comment
Open

Jupyter Kernel Parameters #1

echarles opened this issue Jan 8, 2024 · 1 comment
Assignees
Labels

Comments

@echarles
Copy link
Member

echarles commented Jan 8, 2024

The goal is to allow the

  • The Jupyter Administrator to define a set of available parameters (with default value) for a Kernel.
  • The Jupyter User (WEB of CLI) to provide values for the defined parameters.

A POC (2,5 years ago, see jupyter/jupyter_client#612 (comment)) has been achieved and need the following changes (in jupyter-server, jupyter-client and jupyterlab):

126992664-b791dacd-d121-4616-b197-7b86460f1c59

For this POC, the Kernelspec has been updated to add a JSON Schema as additional attribute to the kernel_provisioner stanza. One important aspect of this RFC is to agree on the format of the kernelspec (it may sound more adequate to have the JSON schema under a top parameters stanza.

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}",
  "--cache-size={cache_size}",
  "--matplotlib={matplotlib}"
 ],
 "display_name": "Python 3 (ipykernel)",
 "language": "python",
 "metadata": {
   "debugger": true,
   "metadata": {
      "kernel_provisionners": {
        "provisioner_name": "local-provisioner",
        "config": {
          "title": "IPyKernel",
          "type": "object",
          "properties": {
            "cache_size": {
              "type": "integer",
              "description": "Set the size of the output cache.",
              "default": 1000,
              "minimum": 0,
              "maximum": 50000
            },
            "matplotlib": {
              "type": "string",
              "description": "Configure matplotlib for interactive use with the default matplotlib backend.",
              "default": "auto",
              "enum": ["auto", "agg", "gtk", "gtk3", "gtk4", "inline", "ipympl", "nbagg", "notebook", "osx", "pdf", "ps", "qt", "qt4", "qt5", "qt6", "svg", "tk", "webagg", "widget", "wx"]
            }
          }
        }
      }
   }
 }

Prior Art

JEP

JupyterLab

Jupyter Client

Kernel Manager

Kernel Provisonner

Jupyter Server

@echarles
Copy link
Member Author

echarles commented Jan 8, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants