Jupyter Hooks System (Python ↔ Frontend)#
This chapter documents the Jupyter hooks system: how your notebook Python code can drive the Cellucid viewer (commands) and react to what a user does in the viewer (events).
Context (so the ecosystem is clear):
Cellucid is the web app (the interactive viewer UI).
cellucid-python is the helper package you use from Python/CLI to prepare data, run servers, embed the viewer, and integrate with notebooks.
cellucid-annotation is a helper repo for community annotation workflows.
cellucid-r will exist in the future (not ready yet).
Where to start (pick one)#
“I want a minimal working loop (select → highlight)” → Quickstart: minimal round-trip (select → highlight)
“Does this work in Colab / VSCode / JupyterHub?” → Supported environments matrix
“I need the mental model and vocabulary” → Glossary and mental model
“I need message + event schemas” → Reference (hooks, commands, schemas, endpoints)
“Something is broken” → Troubleshooting (hooks)