A schema type that is a minimal subset of the formal JSON Schema along with optional JupyterLab rendering hints.

interface ISchema {
    default?: PartialJSONValue;
    description?: string;
    jupyter.lab.menus?: {
        context: IContextMenuItem[];
        main: IMenu[];
    };
    jupyter.lab.metadataforms?: IMetadataForm[];
    jupyter.lab.setting-deprecated?: boolean;
    jupyter.lab.setting-icon?: string;
    jupyter.lab.setting-icon-class?: string;
    jupyter.lab.setting-icon-label?: string;
    jupyter.lab.shortcuts?: IShortcut[];
    jupyter.lab.toolbars?: {
        [factory: string]: ISettingRegistry.IToolbarItem[];
    };
    jupyter.lab.transform?: boolean;
    properties?: {
        [property: string]: IProperty;
    };
    title?: string;
    type: "object";
}

Hierarchy (view full)

Properties

The default value, if any.

description?: string

The schema description.

jupyter.lab.menus?: {
    context: IContextMenuItem[];
    main: IMenu[];
}

The JupyterLab menus that are created by a plugin's schema.

Type declaration

jupyter.lab.metadataforms?: IMetadataForm[]

The JupyterLab metadata-form schema

jupyter.lab.setting-deprecated?: boolean

Whether the schema is deprecated.

Notes

This flag can be used by functionality that loads this plugin's settings from the registry. For example, the setting editor does not display a plugin's settings if it is set to true.

jupyter.lab.setting-icon?: string

The JupyterLab icon hint.

jupyter.lab.setting-icon-class?: string

The JupyterLab icon class hint.

jupyter.lab.setting-icon-label?: string

The JupyterLab icon label hint.

jupyter.lab.shortcuts?: IShortcut[]

The JupyterLab shortcuts that are created by a plugin's schema.

jupyter.lab.toolbars?: {
    [factory: string]: ISettingRegistry.IToolbarItem[];
}

The JupyterLab toolbars created by a plugin's schema.

Notes

The toolbar items are grouped by document or widget factory name that will contain a toolbar.

Type declaration

jupyter.lab.transform?: boolean

A flag that indicates plugin should be transformed before being used by the setting registry.

Notes

If this value is set to true, the setting registry will wait until a transformation has been registered (by calling the transform() method of the registry) for the plugin ID before resolving load() promises. This means that if the attribute is set to true but no transformation is registered in time, calls to load() a plugin will eventually time out and reject.

properties?: {
    [property: string]: IProperty;
}

The schema's child properties.

Type declaration

title?: string

The title of a property.

type: "object"

The root schema is always an object.