Há muitas respostas para essa pergunta, todas as quais considero não satisfatórias (algumas mais que outras), das muitas extensões - dobragem de código, dobragem por títulos etc. etc. Nenhuma faz o que quero de maneira simples e eficaz. Estou literalmente espantado que uma solução não tenha sido implementada (como no Jupyter Lab).
De fato, fiquei tão insatisfeito que desenvolvi uma extensão de notebook muito simples que pode expandir / contrair o código em uma célula de notebook, mantendo-o executável.
O repositório do GitHub: https://github.com/BenedictWilkinsAI/cellfolding
Abaixo está uma pequena demonstração do que a extensão faz:
Basta clicar duas vezes à esquerda da célula de código para recolher uma única linha:
Clicar duas vezes novamente expandirá a célula.
A extensão pode ser instalada facilmente com o pip:
pip install nbextension-cellfolding
jupyter nbextension install --py cellfolding --user
jupyter nbextension enable --py cellfolding --user
e também é compatível com o configurador nbextension . Espero que as pessoas achem isso útil!