# Class: `PyoliteKernel` [@jupyterlite/pyolite-kernel](../modules/jupyterlite_pyolite_kernel.md).PyoliteKernel A kernel that executes Python code with Pyodide. ## Hierarchy - `BaseKernel` ↳ **`PyoliteKernel`** ## Implements - `IKernel` ## Constructors ### `constructor` > **`new PyoliteKernel`**(`options`) Instantiate a new PyodideKernel #### Parameters | Name | Type | Description | | :-------- | :------------------------------------------------------------------------------- | :------------------------------------------------ | | `options` | [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.PyoliteKernel.IOptions.md) | The instantiation options for a new PyodideKernel | #### Overrides BaseKernel.constructor #### Defined in [packages/pyolite-kernel/src/kernel.ts:23](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L23) ## Properties ### `_ready` > `Private` **`_ready`**: `PromiseDelegate`<`void`\> #### Defined in [packages/pyolite-kernel/src/kernel.ts:294](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L294) ### `_remoteKernel` > `Private` **`_remoteKernel`**: > [`IRemotePyoliteWorkerKernel`](../interfaces/jupyterlite_pyolite_kernel.IRemotePyoliteWorkerKernel.md) #### Defined in [packages/pyolite-kernel/src/kernel.ts:293](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L293) ### `_worker` > `Private` **`_worker`**: `Worker` #### Defined in [packages/pyolite-kernel/src/kernel.ts:292](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L292) ## Accessors ### `disposed` > `get` **`disposed`**(): `ISignal`<`this`, `void`\> A signal emitted when the kernel is disposed. #### Returns `ISignal`<`this`, `void`\> #### Implementation of IKernel.disposed #### Inherited from BaseKernel.disposed #### Defined in packages/kernel/lib/kernel.d.ts:25 ### `executionCount` > `get` **`executionCount`**(): `number` The current execution count #### Returns `number` #### Inherited from BaseKernel.executionCount #### Defined in packages/kernel/lib/kernel.d.ts:41 ### `id` > `get` **`id`**(): `string` Get the kernel id #### Returns `string` #### Implementation of IKernel.id #### Inherited from BaseKernel.id #### Defined in packages/kernel/lib/kernel.d.ts:29 ### `isDisposed` > `get` **`isDisposed`**(): `boolean` Return whether the kernel is disposed. #### Returns `boolean` #### Implementation of IKernel.isDisposed #### Inherited from BaseKernel.isDisposed #### Defined in packages/kernel/lib/kernel.d.ts:21 ### `location` > `get` **`location`**(): `string` The location in the virtual filesystem from which the kernel was started. #### Returns `string` #### Implementation of IKernel.location #### Inherited from BaseKernel.location #### Defined in packages/kernel/lib/kernel.d.ts:37 ### `name` > `get` **`name`**(): `string` Get the name of the kernel #### Returns `string` #### Implementation of IKernel.name #### Inherited from BaseKernel.name #### Defined in packages/kernel/lib/kernel.d.ts:33 ### `parent` > `get` **`parent`**(): `undefined` \| `IMessage`<`MessageType`\> Get the last parent message (mimic ipykernel's get_parent) #### Returns `undefined` \| `IMessage`<`MessageType`\> #### Inherited from BaseKernel.parent #### Defined in packages/kernel/lib/kernel.d.ts:49 ### `parentHeader` > `get` **`parentHeader`**(): `undefined` \| `IHeader`<`MessageType`\> Get the last parent header #### Returns `undefined` \| `IHeader`<`MessageType`\> #### Inherited from BaseKernel.parentHeader #### Defined in packages/kernel/lib/kernel.d.ts:45 ### `ready` > `get` **`ready`**(): `Promise`<`void`\> A promise that is fulfilled when the kernel is ready. #### Returns `Promise`<`void`\> #### Implementation of IKernel.ready #### Overrides BaseKernel.ready #### Defined in [packages/pyolite-kernel/src/kernel.ts:95](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L95) ## Methods ### `_processWorkerMessage` > `Private` **`_processWorkerMessage`**(`msg`): `void` Process a message coming from the pyodide web worker. #### Parameters | Name | Type | Description | | :---- | :---- | :----------------------------- | | `msg` | `any` | The worker message to process. | #### Returns `void` #### Defined in [packages/pyolite-kernel/src/kernel.ts:104](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L104) ### `clearOutput` > `Protected` **`clearOutput`**(`content`, `parentHeader?`): `void` Send a `clear_output` message to the client. #### Parameters | Name | Type | Description | | :-------------- | :------------------------ | :------------------------ | | `content` | `Object` | The clear_output content. | | `content.wait` | `boolean` | - | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.clearOutput #### Defined in packages/kernel/lib/kernel.d.ts:174 ### `commClose` > **`commClose`**(`msg`): `Promise`<`void`\> Send an `comm_close` message. #### Parameters | Name | Type | | :---- | :--------------------------------------- | | `msg` | `ICommCloseMsg`<`"iopub"` \| `"shell"`\> | #### Returns `Promise`<`void`\> #### Overrides BaseKernel.commClose #### Defined in [packages/pyolite-kernel/src/kernel.ts:279](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L279) ### `commInfoRequest` > **`commInfoRequest`**(`content`): `Promise`<`ReplyContent`<`ICommInfoReply`\>\> Handle a `comm_info_request` message. #### Parameters | Name | Type | Description | | :--------------------- | :------- | :-------------------------------------------- | | `content` | `Object` | The content of the request. | | `content.target_name?` | `string` | The comm target name to filter returned comms | #### Returns `Promise`<`ReplyContent`<`ICommInfoReply`\>\> A promise that resolves with the response message. #### Overrides BaseKernel.commInfoRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:250](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L250) ### `commMsg` > **`commMsg`**(`msg`): `Promise`<`void`\> Send an `comm_msg` message. #### Parameters | Name | Type | Description | | :---- | :------------------------------------- | :-------------------- | | `msg` | `ICommMsgMsg`<`"iopub"` \| `"shell"`\> | The comm_msg message. | #### Returns `Promise`<`void`\> #### Overrides BaseKernel.commMsg #### Defined in [packages/pyolite-kernel/src/kernel.ts:270](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L270) ### `commOpen` > **`commOpen`**(`msg`): `Promise`<`void`\> Send an `comm_open` message. #### Parameters | Name | Type | Description | | :---- | :-------------------------------------- | :--------------------- | | `msg` | `ICommOpenMsg`<`"iopub"` \| `"shell"`\> | The comm_open message. | #### Returns `Promise`<`void`\> #### Overrides BaseKernel.commOpen #### Defined in [packages/pyolite-kernel/src/kernel.ts:261](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L261) ### `completeRequest` > **`completeRequest`**(`content`): `Promise`<`ReplyContent`<`ICompleteReply`\>\> Handle an complete_request message #### Parameters | Name | Type | | :------------------- | :------- | | `content` | `Object` | | `content.code` | `string` | | `content.cursor_pos` | `number` | #### Returns `Promise`<`ReplyContent`<`ICompleteReply`\>\> #### Overrides BaseKernel.completeRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:211](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L211) ### `displayData` > `Protected` **`displayData`**(`content`, `parentHeader?`): `void` Send a `display_data` message to the client. #### Parameters | Name | Type | Description | | :------------------------------ | :------------------------ | :------------------------ | | `content` | `Object` | The display_data content. | | `content.data` | `IMimeBundle` | - | | `content.metadata` | `PartialJSONObject` | - | | `content.transient?` | `Object` | - | | `content.transient.display_id?` | `string` | - | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.displayData #### Defined in packages/kernel/lib/kernel.d.ts:139 ### `dispose` > **`dispose`**(): `void` Dispose the kernel. #### Returns `void` #### Implementation of IKernel.dispose #### Overrides BaseKernel.dispose #### Defined in [packages/pyolite-kernel/src/kernel.ts:83](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L83) ### `executeRequest` > **`executeRequest`**(`content`): `Promise`<`Object`\> Handle an `execute_request` message #### Parameters | Name | Type | Description | | :-------------------------- | :----------- | :------------------------------------------------------------------------------------------------------------------------------ | | `content` | `Object` | - | | `content.allow_stdin?` | `boolean` | Whether to allow stdin requests. The default is `true`. | | `content.code` | `string` | The code to execute. | | `content.silent?` | `boolean` | Whether to execute the code as quietly as possible. The default is `false`. | | `content.stop_on_error?` | `boolean` | Whether to the abort execution queue on an error. The default is `false`. | | `content.store_history?` | `boolean` | Whether to store history of the execution. The default `true` if silent is False. It is forced to `false ` if silent is `true`. | | `content.user_expressions?` | `JSONObject` | A mapping of names to expressions to be evaluated in the kernel's interactive namespace. | #### Returns `Promise`<`Object`\> #### Overrides BaseKernel.executeRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:197](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L197) ### `handleComm` > `Protected` **`handleComm`**(`type`, `content`, `metadata`, `buffers`, > `parentHeader?`): `void` Send a `comm` message to the client. #### Parameters | Name | Type | | :---------------- | :---------------------------------------------------- | | `type` | `"comm_open"` \| `"comm_msg"` \| `"comm_close"` | | `content` | `Object` | | `content.comm_id` | `string` | | `content.data` | `JSONObject` | | `metadata` | `JSONObject` | | `buffers` | `undefined` \| (`ArrayBuffer` \| `ArrayBufferView`)[] | | `parentHeader?` | `IHeader`<`MessageType`\> | #### Returns `void` #### Inherited from BaseKernel.handleComm #### Defined in packages/kernel/lib/kernel.d.ts:180 ### `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`\> #### Implementation of IKernel.handleMessage #### Inherited from BaseKernel.handleMessage #### Defined in packages/kernel/lib/kernel.d.ts:59 ### `initRemote` > `Protected` **`initRemote`**(`options`): `Promise`<`void`\> #### Parameters | Name | Type | | :-------- | :------------------------------------------------------------------------------- | | `options` | [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.PyoliteKernel.IOptions.md) | #### Returns `Promise`<`void`\> #### Defined in [packages/pyolite-kernel/src/kernel.ts:45](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L45) ### `initRemoteOptions` > `Protected` **`initRemoteOptions`**(`options`): > [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.IPyoliteWorkerKernel.IOptions.md) #### Parameters | Name | Type | | :-------- | :------------------------------------------------------------------------------- | | `options` | [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.PyoliteKernel.IOptions.md) | #### Returns [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.IPyoliteWorkerKernel.IOptions.md) #### Defined in [packages/pyolite-kernel/src/kernel.ts:51](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L51) ### `initWorker` > `Protected` **`initWorker`**(`options`): `Worker` Load the worker. ### `Note` Subclasses must implement this typographically almost _exactly_ for webpack to find it. #### Parameters | Name | Type | | :-------- | :------------------------------------------------------------------------------- | | `options` | [`IOptions`](../interfaces/jupyterlite_pyolite_kernel.PyoliteKernel.IOptions.md) | #### Returns `Worker` #### Defined in [packages/pyolite-kernel/src/kernel.ts:39](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L39) ### `inputReply` > **`inputReply`**(`content`): `Promise`<`void`\> Send an `input_reply` message. #### Parameters | Name | Type | Description | | :-------- | :----------------------------- | :------------------------ | | `content` | `ReplyContent`<`IInputReply`\> | The content of the reply. | #### Returns `Promise`<`void`\> #### Overrides BaseKernel.inputReply #### Defined in [packages/pyolite-kernel/src/kernel.ts:288](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L288) ### `inputRequest` > `Protected` **`inputRequest`**(`content`, `parentHeader?`): `void` Send a `input_request` message to the client. #### Parameters | Name | Type | Description | | :----------------- | :------------------------ | :------------------------------------------------------------------------------- | | `content` | `Object` | The input_request content. | | `content.password` | `boolean` | Whether the request is for a password. If so, the frontend shouldn't echo input. | | `content.prompt` | `string` | The text to show at the prompt. | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.inputRequest #### Defined in packages/kernel/lib/kernel.d.ts:146 ### `inspectRequest` > **`inspectRequest`**(`content`): `Promise`<`ReplyContent`<`IInspectReply`\>\> Handle an `inspect_request` message. #### Parameters | Name | Type | Description | | :--------------------- | :--------- | :-------------------------- | | `content` | `Object` | The content of the request. | | `content.code` | `string` | - | | `content.cursor_pos` | `number` | - | | `content.detail_level` | `0` \| `1` | - | #### Returns `Promise`<`ReplyContent`<`IInspectReply`\>\> A promise that resolves with the response message. #### Overrides BaseKernel.inspectRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:224](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L224) ### `isCompleteRequest` > **`isCompleteRequest`**(`content`): > `Promise`<`ReplyContent`<`IIsCompleteReplyIncomplete` \| `IIsCompleteReplyOther`\>\> Handle an `is_complete_request` message. #### Parameters | Name | Type | Description | | :------------- | :------- | :-------------------------- | | `content` | `Object` | The content of the request. | | `content.code` | `string` | - | #### Returns `Promise`<`ReplyContent`<`IIsCompleteReplyIncomplete` \| `IIsCompleteReplyOther`\>\> A promise that resolves with the response message. #### Overrides BaseKernel.isCompleteRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:237](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L237) ### `kernelInfoRequest` > **`kernelInfoRequest`**(): `Promise`<`ReplyContent`<`IInfoReply`\>\> Handle a kernel_info_request message #### Returns `Promise`<`ReplyContent`<`IInfoReply`\>\> #### Overrides BaseKernel.kernelInfoRequest #### Defined in [packages/pyolite-kernel/src/kernel.ts:163](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/pyolite-kernel/src/kernel.ts#L163) ### `publishExecuteError` > `Protected` **`publishExecuteError`**(`content`, `parentHeader?`): `void` Send an `error` message to the client. #### Parameters | Name | Type | Description | | :------------------ | :------------------------ | :----------------- | | `content` | `Object` | The error content. | | `content.ename` | `string` | - | | `content.evalue` | `string` | - | | `content.traceback` | `string`[] | - | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.publishExecuteError #### Defined in packages/kernel/lib/kernel.d.ts:160 ### `publishExecuteResult` > `Protected` **`publishExecuteResult`**(`content`, `parentHeader?`): `void` Send an `execute_result` message. #### Parameters | Name | Type | Description | | :------------------------------ | :------------------------ | :-------------------------- | | `content` | `Object` | The execute result content. | | `content.data` | `IMimeBundle` | - | | `content.execution_count` | `ExecutionCount` | - | | `content.metadata` | `PartialJSONObject` | - | | `content.transient?` | `Object` | - | | `content.transient.display_id?` | `string` | - | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.publishExecuteResult #### Defined in packages/kernel/lib/kernel.d.ts:153 ### `stream` > `Protected` **`stream`**(`content`, `parentHeader?`): `void` Stream an event from the kernel #### Parameters | Name | Type | Description | | :-------------- | :------------------------ | :------------------ | | `content` | `Object` | The stream content. | | `content.name` | `"stdout"` \| `"stderr"` | - | | `content.text` | `string` | - | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.stream #### Defined in packages/kernel/lib/kernel.d.ts:132 ### `updateDisplayData` > `Protected` **`updateDisplayData`**(`content`, `parentHeader?`): `void` Send a `update_display_data` message to the client. #### Parameters | Name | Type | Description | | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- | | `content` | { `data`: `IMimeBundle` ; `metadata`: `PartialJSONObject` ; `transient?`: { `display_id?`: `string` } } & { `transient`: { `display_id`: `string` } } | The update_display_data content. | | `parentHeader?` | `IHeader`<`MessageType`\> | The parent header. | #### Returns `void` #### Inherited from BaseKernel.updateDisplayData #### Defined in packages/kernel/lib/kernel.d.ts:167