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";
    [key: string]: undefined | PartialJSONValue;
}

Hierarchy (View Summary)

Indexable

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.

"jupyter.lab.metadataforms"?: IMetadataForm[]

The JupyterLab metadata-form schema

"jupyter.lab.setting-deprecated"?: boolean

Whether the schema is deprecated.

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.

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

"jupyter.lab.transform"?: boolean

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

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.

title?: string

The title of a property.

type: "object"

The root schema is always an object.