编写pre-commit,以*检查* jupyter笔记本是否已清除输出

问题描述

我知道您可以使用jupyter nbconvert --clear-output --inplace <file>(每here)清除Jupyter笔记本的输出。我想知道是否有一种简单的方法来检查是否在预提交挂钩中清除了输出。这样,我可以使pre-commit(如果尚未提交)失败,并迫使用户再次尝试。谢谢!

解决方法

您可以使用 nbstripout 作为预提交挂钩。

repos:
- repo: https://github.com/kynan/nbstripout
  rev: 0.5.0
  hooks:
    - id: nbstripout

您可以使用 --dry-run 修改它以不修改任何文件。不过我没试过。