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.

to_json()

Serialise this kernelspec to a JSON object.

Returns a string.

class jupyter_client.kernelspec.KernelSpecManager
find_kernel_specs()

Returns a dict mapping kernel names to resource directories.

get_all_specs()

Returns a dict mapping kernel names to kernelspecs.

Returns a dict of the form:

{
  'kernel_name': {
    'resource_dir': '/path/to/kernel_name',
    'spec': {"the spec itself": ...}
  },
  ...
}
get_kernel_spec(kernel_name)

Returns a KernelSpec instance for the given kernel_name.

Raises NoSuchKernel if the given kernel name is not found.

install_kernel_spec(source_dir, kernel_name=None, user=False, replace=None, prefix=None)

Install a kernel spec by copying its directory.

If kernel_name is not given, the basename of source_dir will be used.

If user is False, it will attempt to install into the systemwide kernel registry. If the process does not have appropriate permissions, an OSError will be raised.

If prefix is given, the kernelspec will be installed to PREFIX/share/jupyter/kernels/KERNEL_NAME. This can be sys.prefix for installation inside virtual or conda envs.

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.