# Interface: `IKernel` [@jupyterlite/kernel](../modules/jupyterlite_kernel.md).IKernel An interface for a kernel running in the browser. ## Hierarchy - `IObservableDisposable` ↳ **``IKernel``** ## Implemented by - [`BaseKernel`](../classes/jupyterlite_kernel.BaseKernel.md) ## Properties ### `disposed` > > `Readonly` **`disposed`**: `ISignal`<[`IKernel`](jupyterlite_kernel.IKernel-1.md), `void`\> A signal emitted when the object is disposed. #### Inherited from IObservableDisposable.disposed #### Defined in node_modules/@lumino/disposable/types/index.d.ts:37 ### `id` > > `Readonly` **`id`**: `string` The id of the server-side kernel. #### Defined in [packages/kernel/src/tokens.ts:72](https://github.com/jupyterlite/jupyterlite/blob/999c7f0/packages/kernel/src/tokens.ts#L72) ### `isDisposed` > > `Readonly` **`isDisposed`**: `boolean` Test whether the object has been disposed. #### Notes This property is always safe to access. #### Inherited from IObservableDisposable.isDisposed #### Defined in node_modules/@lumino/disposable/types/index.d.ts:16 ### `location` > > `Readonly` **`location`**: `string` The location in the virtual filesystem from which the kernel was started. #### Defined in [packages/kernel/src/tokens.ts:82](https://github.com/jupyterlite/jupyterlite/blob/999c7f0/packages/kernel/src/tokens.ts#L82) ### `name` > > `Readonly` **`name`**: `string` The name of the server-side kernel. #### Defined in [packages/kernel/src/tokens.ts:77](https://github.com/jupyterlite/jupyterlite/blob/999c7f0/packages/kernel/src/tokens.ts#L77) ### `ready` > > `Readonly` **`ready`**: `Promise`<`void`\> A promise that is fulfilled when the kernel is ready. #### Defined in [packages/kernel/src/tokens.ts:87](https://github.com/jupyterlite/jupyterlite/blob/999c7f0/packages/kernel/src/tokens.ts#L87) ## Methods ### `dispose` > > **`dispose`**(): `void` Dispose of the resources held by the object. #### Notes If the object's `dispose` method is called more than once, all calls made after the first will be a no-op. #### Undefined Behavior It is undefined behavior to use any functionality of the object after it has been disposed unless otherwise explicitly noted. #### Returns `void` #### Inherited from IObservableDisposable.dispose #### Defined in node_modules/@lumino/disposable/types/index.d.ts:28 ### `handleMessage` > > **`handleMessage`**(`msg`): `Promise`<`void`\> Handle an incoming message from the client. #### Parameters | Name | Type | Description | | :------ | :------ | :------ | | `msg` | `IMessage`<`MessageType`\> | The message to handle | #### Returns `Promise`<`void`\> #### Defined in [packages/kernel/src/tokens.ts:94](https://github.com/jupyterlite/jupyterlite/blob/999c7f0/packages/kernel/src/tokens.ts#L94)