cdp-kernel documentation
cdp-kernel lets you write TypeScript and JavaScript in Jupyter notebooks and run them on Node, Deno, Bun, workerd or celld. These docs are grouped by how much you already know. Each page shows its level under the title.
New to notebooks
Start here if you haven't used Jupyter, or haven't used it with TypeScript. No Deno background is needed.
- Getting started: what notebooks and kernels are, installing, a first notebook, and what notebooks are good for.
- Install: every install route (npm, JSR) and what each target runtime needs.
Using cdp-kernel
Guides for day-to-day use, once you've run a first notebook.
- Writing notebooks: imports,
npm:andjsr:packages, the lockfile, Deno projects, interrupt and inspection. - The
jupyternamespace: rich output (Markdown, HTML, SVG, images, charts, tables), custom display,promptandconfirm, and running notebooks written for Deno. - Runtimes: what's different on Bun, workerd and celld, and Workers projects.
- Widgets and comms: interactive anywidget-style widgets and the comm API.
- Debugger: breakpoints and stepping in JupyterLab on Node and Deno.
Reference pages to look things up in:
- Editor types: type declarations for the notebook globals, for type-checking in your editor.
- Known gaps: what doesn't work yet, per runtime.
How it works
Advanced material on the kernel's internals. You don't need it to use cdp-kernel.
- Architecture: how the kernel was extracted from Deno, and how cells become runnable code.
- Runtime integrations: how the kernel drives each runtime, with diagrams: Node and Deno, Bun, workerd and celld.
- The feasibility study is the design document the project started from. It was written while the project was a spike and revised after 0.4.0; its last section compares what it predicted with what was built.
Contributing
- Development: running from a checkout, tests, and releasing.