Whybook
A question-driven view of Jupyter notebooks, as a JupyterLab extension. Open a notebook with Open With, Whybook, drag a variable or a column onto a cell, and pick one of the questions the view offers: the answer becomes an ordinary notebook cell, with its assumptions shown next to it. The notebook stays a plain .ipynb file that any Jupyter frontend opens.
The extension is one Python package, whybook: the helpers a notebook imports (import whybook), the server extension (whybook.server) and the frontend extension of the same name. Notebooks from before 25 September 2026 still work: import epi gives the same helpers with a deprecation warning, and the view reads their epi metadata and output types. It is a research prototype and is not on PyPI yet.
Requirements
- JupyterLab 4.4 or later, in the 4.x series. On 4.6 and later, the sections of the Whybook panel can also move to the file browser.
Install
From a clone of this repository, see Try it in the spike notes:
pip install --editable ".[claude,kernel,demo,local,models]"
jupyter labextension develop . --overwrite
local builds llama-cpp-python for the local models, with the system's C++ compiler, in about 4 minutes: without a compiler, leave it out of the list. The install builds the extension. To work on Whybook itself, CONTRIBUTING.md adds the dev and test extras.
Uninstall
pip uninstall whybook
Troubleshoot
If you are seeing the frontend extension, but it is not working, check that the server extension is enabled:
jupyter server extension list
If the server extension is installed and enabled, but you are not seeing the frontend extension, check the frontend extension is installed:
jupyter labextension list
Contributing
If you would like to contribute to this extension, please refer to the Contributing Guide.
Metadata
Release files for whybook 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| whybook-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / whybook-0.1.0-py3-none-any.whl
| Download URL | whybook-0.1.0-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1efea5c9e97631be6ab30bea5531b96f64b75070337279a31a9d566a0778afa
|
|
BLAKE2b-256 checksum How to use checksums |
d48b129d6729058fbde8f2504761d5969898b26bcc2531131c36890529ccda41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|