# Class: `Kernels` [@jupyterlite/kernel](../modules/jupyterlite_kernel.md).Kernels A class to handle requests to /api/kernels ## Implements - [`IKernels`](../modules/jupyterlite_kernel.md#ikernels) ## Constructors ### `constructor` > **`new Kernels`**(`options`) Construct a new Kernels #### Parameters | Name | Type | Description | | :-------- | :----------------------------------------------------------------- | :------------------------ | | `options` | [`IOptions`](../interfaces/jupyterlite_kernel.Kernels.IOptions.md) | The instantiation options | #### Defined in [packages/kernel/src/kernels.ts:26](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L26) ## Properties ### `_clients` > `Private` **`_clients`**: `ObservableMap`<`Client`\> #### Defined in [packages/kernel/src/kernels.ts:208](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L208) ### `_kernelClients` > `Private` **`_kernelClients`**: `ObservableMap`<`Set`<`string`\>\> #### Defined in [packages/kernel/src/kernels.ts:209](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L209) ### `_kernels` > `Private` **`_kernels`**: > `ObservableMap`<[`IKernel`](../interfaces/jupyterlite_kernel.IKernel-1.md)\> #### Defined in [packages/kernel/src/kernels.ts:207](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L207) ### `_kernelspecs` > `Private` **`_kernelspecs`**: > [`IKernelSpecs`](../modules/jupyterlite_kernel.md#ikernelspecs) #### Defined in [packages/kernel/src/kernels.ts:210](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L210) ## Methods ### `restart` > **`restart`**(`kernelId`): `Promise`<`IModel`\> Restart a kernel. #### Parameters | Name | Type | Description | | :--------- | :------- | :------------- | | `kernelId` | `string` | The kernel id. | #### Returns `Promise`<`IModel`\> #### Implementation of IKernels.restart #### Defined in [packages/kernel/src/kernels.ts:188](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L188) ### `shutdown` > **`shutdown`**(`id`): `Promise`<`void`\> Shut down a kernel. #### Parameters | Name | Type | Description | | :--- | :------- | :------------- | | `id` | `string` | The kernel id. | #### Returns `Promise`<`void`\> #### Implementation of IKernels.shutdown #### Defined in [packages/kernel/src/kernels.ts:203](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L203) ### `startNew` > **`startNew`**(`options`): `Promise`<`IModel`\> Start a new kernel. #### Parameters | Name | Type | Description | | :-------- | :----------------------------------------------------------------------------- | :------------------------ | | `options` | [`IKernelOptions`](../interfaces/jupyterlite_kernel.Kernels.IKernelOptions.md) | The kernel start options. | #### Returns `Promise`<`IModel`\> #### Implementation of IKernels.startNew #### Defined in [packages/kernel/src/kernels.ts:36](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/kernel/src/kernels.ts#L36)