Repolode
nbQA-dev

nbQA-dev/nbQA

一款命令行工具,可直接对 Jupyter Notebook 运行 ruff、isort、black、mypy、flake8 等 Python 代码检查与格式化工具。

Star
1,208
Fork
52
未关闭 Issue
24
最近提交
18小时前

这是什么?

nbQA 可以直接对 Jupyter Notebook 运行常用的 Python 代码质量工具,无需先把 notebook 转换成脚本。代码单元格按 Python 代码检查,markdown 单元格也可以交给 blacken-docs 等工具处理。支持的工具包括 black、isort、pyupgrade、ruff、flake8、mypy、pylint、yapf、autopep8、pydocstyle 和 doctest 等。

工具能够处理 IPython 魔法命令,遵循项目已有的配置文件,并保留用于隐藏输出的结尾分号。它也支持通过 Jupytext 配对的 .md 笔记本。既可以在命令行中使用,也能接入 pre-commit 钩子,让 notebook 与其他代码享受相同的检查标准。

核心功能

  • 01对 notebook 代码单元格运行 black、isort、ruff、flake8、mypy、pylint 等工具
  • 02可用 blacken-docs 等工具处理 markdown 单元格
  • 03能够正确处理 IPython 魔法命令
  • 04遵循项目中已有的工具配置文件
  • 05支持 Jupytext 格式的 .md 笔记本
  • 06提供 pre-commit 钩子集成

适用场景

  • 在代码仓库中统一数据科学 notebook 的代码检查与格式规范
  • 在 CI 流程中对 notebook 运行 mypy 类型检查
  • 提交前自动格式化 notebook 代码和 markdown 文档
  • 批量升级旧 notebook 中的 Python 语法

快速上手

  1. 1

    在虚拟环境中用 pip 安装 nbQA

    python -m pip install -U nbqa
  2. 2

    可选:安装所有受支持的代码检查与格式化工具

    python -m pip install -U "nbqa[toolchain]"
  3. 3

    对笔记本运行格式化工具,例如 black

    nbqa black my_notebook.ipynb

使用前须知

  • 除非使用 toolchain 额外依赖,否则每个代码检查或格式化工具都需要单独安装。

标签

常见问题

nbQA 是什么?
一款命令行工具,可直接对 Jupyter Notebook 运行 ruff、isort、black、mypy、flake8 等 Python 代码检查与格式化工具。 nbQA 可以直接对 Jupyter Notebook 运行常用的 Python 代码质量工具,无需先把 notebook 转换成脚本。代码单元格按 Python 代码检查,markdown 单元格也可以交给 blacken-docs 等工具处理。支持的工具包括 black、isort、pyupgrade、ruff、flake8、mypy、pylint、yapf、autopep8、pydocstyle 和 doctest 等。
nbQA 可以免费使用吗?用的什么许可证?
nbQA 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
nbQA 还在维护吗?
活跃维护中。nbQA 最近一次提交是在 2026年11月6日。
nbQA 适合用来做什么?
在代码仓库中统一数据科学 notebook 的代码检查与格式规范 在 CI 流程中对 notebook 运行 mypy 类型检查 提交前自动格式化 notebook 代码和 markdown 文档 批量升级旧 notebook 中的 Python 语法
nbQA 怎么安装和运行?
在虚拟环境中用 pip 安装 nbQA: python -m pip install -U nbqa 可选:安装所有受支持的代码检查与格式化工具: python -m pip install -U "nbqa[toolchain]" 对笔记本运行格式化工具,例如 black: nbqa black my_notebook.ipynb
在哪里获取 nbQA?
源代码和安装说明在 GitHub 上:https://github.com/nbQA-dev/nbQA

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目