jupyterlab-cell-enhancements
Enhancements for JupyterLab 4 notebook cells:
-
Cell titles — give any cell an editable title shown above the input. Titles are stored in the cell's metadata (
cell_title) so they travel with the notebook. Hover a cell and click "Add a cell title…", or click an existing title to rename it. Press Enter to save, Esc to cancel. -
Focus mode — a corner-brackets button in the cell toolbar expands a single cell to fill the notebook, hiding everything else. Toggle the button again or press Esc to exit. Keyboard shortcut: Ctrl/Cmd + Shift + Enter while the notebook is focused.
-
Floating notes — attach a note to any cell. Click the marker in a cell's top-right corner to open a floating card, anchored to the cell and connected by a leader line. Notes:
- render Markdown and LaTeX (via JupyterLab's own renderer), so
**bold**, lists, code, links and$x^2$math all work; - float above everything, including the sidebars, and follow their cell as you scroll — hiding automatically once the cell scrolls out of view;
- are draggable; drag the header to reposition and the note stays glued to its cell at the new offset;
- persist in cell metadata (
cell_comment), including text, author, open/closed state and position, and are saved automatically shortly after any change.
Set your display name under Settings → Cell Enhancements → Comment author.
- render Markdown and LaTeX (via JupyterLab's own renderer), so
Requirements
- JupyterLab >= 4.0.0
Install
pip install jupyterlab-cell-enhancements
Uninstall
pip uninstall jupyterlab-cell-enhancements
Development install
# Clone, then from the repo root:
pip install -e .
jupyter labextension develop . --overwrite
jlpm build
Rebuild after source changes with jlpm build, or run jlpm watch in one
terminal and jupyter lab in another.
Building on a network / mapped drive (important)
This project's canonical location is on a mapped network drive (Z:), which
Node resolves to a UNC path (\\server\share\...). webpack's resolver cannot
handle UNC absolute paths, so jlpm build:prod / python -m build must be run
from a copy of the repo on a local disk (e.g. C:\...). Editing and version
control can stay on Z:; only the build/package step needs local disk. Copy the
resulting dist/*.whl (and jupyterlab_cell_enhancements/labextension/) back if
you want them alongside the source.
license-webpack-plugin patch
webpack >= 5.107 changed the ProvideSharedModule identifier separator from
= to |, which crashes license-webpack-plugin@4.0.2 during the production
build. A Yarn patch in .yarn/patches/ fixes this (wired via the resolutions
field in package.json); it is applied automatically on jlpm install.
Release files for jupyterlab-cell-enhancements 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterlab_cell_enhancements-0.3.0.tar.gz | 106.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_cell_enhancements-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 131.6 kB
Release files / jupyterlab_cell_enhancements-0.3.0.tar.gz
| Download URL | jupyterlab_cell_enhancements-0.3.0.tar.gz |
|---|---|
| Size | 106.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb73136a877d8c9fec7c22a0057256c5247433c7619568c26e6a9cb08dab9403
|
|
BLAKE2b-256 checksum How to use checksums |
fd288afcc57e23e02d94c3f7f57485a1ae8e7c987dadac062b3539e4adcdc93d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / jupyterlab_cell_enhancements-0.3.0-py3-none-any.whl
| Download URL | jupyterlab_cell_enhancements-0.3.0-py3-none-any.whl |
|---|---|
| Size | 25.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0dd4b9ef26001e1faced40182946eea2ffe75bbde7e26a583e30f26d2a719599
|
|
BLAKE2b-256 checksum How to use checksums |
549ff404af56269fe1c3f2d3e3dc338aabb5d15550f504c0791dbc14dd17a58d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|