一个命令行工具,用 Black 格式化 Markdown、reStructuredText 和 LaTeX 文档中的 Python 代码块。
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
在虚拟环境中用 pip 安装 nbQA
python -m pip install -U nbqa - 2
可选:安装所有受支持的代码检查与格式化工具
python -m pip install -U "nbqa[toolchain]" - 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 数据每日更新。
相关项目
一款命令行工具,基于常见拼写错误词典检查并修正源代码和文本文件中的错别字。
用于检查 Swift 代码风格与编码规范的 linter,内置 200 多条规则,可按项目配置。
自托管的代码质量与安全平台,扫描项目中的缺陷、漏洞和可维护性问题,并可在 CI 流程中设置质量门禁。
一款静态分析工具,用于查找 Python 项目中未被使用的函数、类、变量、导入和不可达代码。
基于 PHP_CodeSniffer 的规则集,用于检测代码在不同 PHP 版本间的兼容性问题。