Jupyter Notebook和Git无缝集成方案( 五 )
nbdime
首先要介绍的是nbdime , 它源于nbdiff项目(已经停止) , 提供对Jupyter Notebook的内容做差异比较和合并的工具 。 nbdime很有潜力成为对初学者友好的通用型Notebook处理工具 , 但截止当前 , 它还只是测试版本 , 而仅仅可用来查看Notebook内容的差异 , 无法用来清除输出信息导致差异噪声的问题 。
nbstripout
另一个需要提及的工具是nbstripout , 它是一个包含nbformat处理功能的单模块Python脚本 , 并添加了一些用于设置git config的自动选项 。 可以解决上述手工\"清除所有输出\"的过程 , 使其自动化 。 但是它也无法解决 \"元数据\"差异噪声干扰的问题 。 手动运行脚本并希望有短暂的延迟是可以接受的 , 但是需要将它集成到git设置中 , 这是nbstripout性能问题就很突出 , 导致在运行git diff时会有无法忍受的延迟 。
JQ
幸运的是 , 还有另外的选择 。 由于nbformat只是JSON , 一个可以使用\"轻量级且灵活的命令行JSON处理器\"jq , (相当于JSON数据的sed) 。 由于jq有其自己的查询/过滤器语言 , 设置方便 , 文档丰富 。 一个jq处理nbformat的示例:
推荐阅读
- 工作室|Unity收购《指环王》特效工作室Weta Digital,称为布局元宇宙
- 杀手3|砸9.19亿英镑!腾讯收购英国游戏开发商Sumo Digital
- GitHub 发布 2019 年度透明度报告:披露删除内容理由
- 微软CEO或将访问印度,并宣布印度成立GitHub子公司
- Galaxy Digital执行官:“流动性”推动了比特币令人震惊的上涨
- 外媒:微软宣布在印度成立GitHub子公司
- DigiTimes:苹果供应链正加紧生产iPhone SE 2,但iPhone 12将落后于计划
- GitHub大火的中文仓库:没有代码,star过万
- 连登 GitHub TOP 榜,中国开发者在行动!
- Java排名前5位:GitHub上最常用的Java库