# kernelspec - discovering kernels

See also

Kernel specs

class `jupyter_client.kernelspec.``KernelSpec`
  `argv`

    The list of arguments to start this kernel.

  `env`

    A dictionary of extra environment variables to declare, in addition to the current environment variables, when launching this kernel.

  `display_name`

    The name to display for this kernel in UI.

  `language`

    The name of the language the kernel implements, to help with picking appropriate kernels when loading notebooks.

  `metadata`

    Additional kernel-specific metadata; clients can use this as needed, for instance to aid in kernel selection and filtering.

    Metadata added here should be namespaced for the tool reading and writing that metadata. Concretely, if you’re adding a new field called `supported_versions` which your tool recognizes, then you should add it as `"mytool": {"supported_versions": [1, 2]}`, not as a top-level field called `supported_versions`.

  `resource_dir`

    The path to the directory with this kernel’s resources, such as icons.

class `jupyter_client.kernelspec.``KernelSpecManager`

exception `jupyter_client.kernelspec.``NoSuchKernel`
  `name`

    The name of the kernel which was requested.

`jupyter_client.kernelspec.``find_kernel_specs`()
`jupyter_client.kernelspec.``get_kernel_spec`(kernel_name)
`jupyter_client.kernelspec.``install_kernel_spec`(source_dir, kernel_name=None, user=False, replace=False)

  These methods from `KernelSpecManager` are exposed as functions on the module as well; they will use all the default settings.