Creates a new Pyodide kernel client. Uses the bundled Pyodide from npm package (no external downloads needed).
Private_Private_Private_Private_Private_Private_Private_Private_Checks if kernel is currently executing.
Checks if kernel is ready for execution.
Private_Handles display_data messages (matplotlib plots, widgets, etc.). This is called when IPython's display() or when matplotlib creates plots.
Optionalmetadata: Record<string, unknown>Private_Handles error messages (exceptions, tracebacks). Formats Python tracebacks in Jupyter style without JavaScript stack traces.
Private_Handles error messages from IPython shell with clean, pre-formatted tracebacks. IPython automatically filters out internal Pyodide frames, providing clean Python-only tracebacks.
Execution message ID
Error name (e.g., "SyntaxError", "NameError")
Error message
Pre-formatted traceback lines from IPython (already clean!)
Private_Handles stderr output from Pyodide.
Private_Handles stdout output from Pyodide.
Private_Pre-downloads Python packages from VS Code configuration. Uses micropip to install packages, which caches them for faster subsequent loads. Runs silently in the background - errors are logged but don't block initialization.
Private_Processes execution queue sequentially. Ensures only one cell executes at a time per kernel.
Private_Sets up IPython callbacks for capturing formatted output and clean error tracebacks. This ensures errors don't contain internal Pyodide stack frames.
Disposes of the kernel. Should be called when notebook is closed.
Pyodide kernel client for native VS Code notebooks. Uses Pyodide npm package for Node.js environment. Implements sequential execution queue matching Jupyter semantics.