Kuusi — JupyterLab notebook Extensions Mind Map (feedback welcome)

Hi everyone,

Kuusi is a JupyterLab 4 extension that turns a notebook into a spatial mind map: markdown headings become the tree, and cells stay native Jupyter Code/Markdown cells (not a custom editor).

V0.2.4 Screenshot

Install

pip install jupyterlab-kuusi

Then open a notebook → Open With → Kuusi Mind Map, or use the Kuusi toolbar button.

Links

I’d love feedback: bugs, UX friction, and feature ideas are all welcome. Please reply in this thread (or @ me) so discussion stays in one place. You’re also welcome to open a GitHub issue for clear, reproducible bugs.

Thanks!

Kuusi 0.2.4 is out

Install / upgrade:

pip install -U jupyterlab-kuusi

Requires JupyterLab 4 and Python 3.9+.

Highlights

  • Theme presets: Notebook · Soft · Outline · Paper · Board · Black · Minimal
  • Node menu: Equal width, fill, border (incl. white), corner, selection glow
  • Frosted-glass page / format toolbars; shared secondary menus
  • Subtree Delete / Copy / Cut / Paste; paste external text as child topics
  • Kuusi → Community: Discourse · X @KussiMindMap
  • Fixes: Enter on H1 root → child; Board text contrast on Jupyter Dark; open/center, zoom, font relayout, and more

Screenshots

Kuusi 0.2.5 is out

Kuusi turns your Jupyter notebook into a pannable, zoomable mind map — same .ipynb, same cells, no export step. 0.2.5 is a big usability release: smarter layout, richer formatting, and a canvas that finally feels as natural to rearrange as it looks.


What’s new

Layout & nodes

  • Fit content width — cards shrink to their text (respecting your max-width cap). Turn on Equal width and siblings share the widest content width without awkward line breaks on short titles.
  • Sibling gap 0 — pack branches flush when you want a dense map.
  • Line → Route — Straight, Curve, Orthogonal, or Rounded orthogonal connectors; edges route through gutters instead of cutting through nodes.
  • Empty notebooks auto-seed an H1 root — open Kuusi on a blank notebook and the canvas is never empty.

Move & navigate

  • Arrow keys move selection spatially across the canvas (not just up/down the outline list).
  • ⌘/Ctrl+click multi-select; drag any selected node to move the whole group.
  • Drag the whole card to reorder (no separate grip handle).
  • iOS-style drop preview — siblings slide apart to show where a node will land; child drops show a lane behind the parent.
  • Drop on a card’s rear to nest as a child; gaps between siblings count as insert points.

Edit & format

  • Format toolbar Heading menu — H1–H3 + Body, with level shown on the trigger.
  • Math menu — $ / $$, templates, Greek letters, and symbols in a chip grid.
  • Aa menu — same chip style for Bold, Italic, Underline, and more.
  • Undo / Redo on the page toolbar, wired to notebook history.
  • Paste external Markdown and Kuusi maps ATX headings into a child outline under your selection (depth 20; lists merge into Body nodes).

Workflow & polish

  • Click Kuusisplit view (notebook | mind map) instead of replacing the tab.
  • Theme presets show vertical thumbnails so you can pick by look, not name.
  • Font → Link toggles to match notebook fonts or unify edit/display fonts.
  • Collapse control matches node border color (with hover glow); trackpad taps no longer accidentally hit resize.
  • Click canvas blank to finish editing and render Markdown reliably.
  • ¶ heading anchors hidden on mind-map nodes — cleaner cards, less clutter.
  • Pan and drag no longer fight auto-centering; cursors show grab/pointer after render, not a stuck I-beam.

Install

Requirements: JupyterLab 4.x, Python 3.9+

pip install -U jupyterlab-kuusi
jupyter lab

Open a notebook → click Kuusi in the toolbar.


Links


If you try 0.2.5, we’d love to hear how it fits your note-taking or teaching workflow — bugs, ideas, and screenshots welcome on Discourse or GitHub Issues.

Happy mapping.