CLI-инструмент, который запускает Black для блоков кода на Python в документации Markdown, reStructuredText и LaTeX.
nbQA-dev/nbQA
CLI-инструмент для запуска Python-линтеров и форматтеров, таких как ruff, isort, black, mypy и flake8, прямо в Jupyter Notebooks.
- Звёзды
- 1,208
- Форки
- 52
- Открытые issues
- 24
- Последний коммит
- 9 часов назад
Что это?
nbQA позволяет запускать стандартные инструменты контроля качества Python-кода в Jupyter Notebooks без предварительного преобразования ноутбуков в скрипты. Ячейки с кодом проверяются как Python-код, а к ячейкам Markdown можно применять инструменты вроде blacken-docs. Поддерживается широкий набор инструментов, включая black, isort, pyupgrade, ruff, flake8, mypy, pylint, yapf, autopep8, pydocstyle и doctest.
Инструмент обрабатывает магические команды IPython, учитывает существующие файлы конфигурации и сохраняет завершающие точки с запятой, которые используют для подавления вывода в ноутбуках. Он также работает с ноутбуками .md, связанными через Jupytext. nbQA можно запускать из командной строки или подключить как хук pre-commit — так ноутбуки проходят те же проверки, что и остальная кодовая база.
Ключевые возможности
- 01Запускает black, isort, ruff, flake8, mypy, pylint и другие инструменты для ячеек с кодом в ноутбуках
- 02Обрабатывает ячейки Markdown с помощью таких инструментов, как blacken-docs
- 03Корректно обрабатывает магические команды IPython, не нарушая работу кода ноутбука
- 04Учитывает существующие файлы конфигурации инструментов
- 05Работает с ноутбуками .md в формате Jupytext
- 06Поддерживает интеграцию с хуками pre-commit
Сценарии использования
- Единые правила линтинга и форматирования для ноутбуков по анализу данных в репозитории
- Запуск проверки типов с помощью mypy для ноутбуков в CI-пайплайнах
- Автоматическое форматирование кода в ноутбуках и документации в Markdown перед коммитом
- Обновление синтаксиса Python в наборе старых ноутбуков
Быстрый старт
- 1
Установите nbQA с помощью pip в виртуальное окружение
python -m pip install -U nbqa - 2
При желании установите все поддерживаемые линтеры и форматтеры
python -m pip install -U "nbqa[toolchain]" - 3
Запустите форматтер для ноутбука, например black
nbqa black my_notebook.ipynb
Что важно знать
- Каждый линтер или форматтер нужно устанавливать отдельно, если вы не используете extra toolchain.
Темы
Частые вопросы
- Что такое nbQA?
- CLI-инструмент для запуска Python-линтеров и форматтеров, таких как ruff, isort, black, mypy и flake8, прямо в Jupyter Notebooks. nbQA позволяет запускать стандартные инструменты контроля качества Python-кода в Jupyter Notebooks без предварительного преобразования ноутбуков в скрипты. Ячейки с кодом проверяются как Python-код, а к ячейкам Markdown можно применять инструменты вроде blacken-docs. Поддерживается широкий набор инструментов, включая black, isort, pyupgrade, ruff, flake8, mypy, pylint, yapf, autopep8, pydocstyle и doctest.
- nbQA можно использовать бесплатно? Какая у него лицензия?
- nbQA распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- nbQA всё ещё поддерживается?
- Активно поддерживается. Последний коммит в nbQA — 7 нояб. 2026 г..
- Для чего можно использовать nbQA?
- Единые правила линтинга и форматирования для ноутбуков по анализу данных в репозитории Запуск проверки типов с помощью mypy для ноутбуков в CI-пайплайнах Автоматическое форматирование кода в ноутбуках и документации в Markdown перед коммитом Обновление синтаксиса Python в наборе старых ноутбуков
- Как установить nbQA?
- Установите nbQA с помощью pip в виртуальное окружение: 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
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Консольная утилита, которая находит и исправляет распространённые опечатки в исходном коде и текстовых файлах по тщательно составленному словарю.
Линтер Swift с более чем 200 настраиваемыми для каждого проекта правилами стиля и соглашений.
Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.
Инструмент статического анализа, который находит в проектах на Python неиспользуемые функции, классы, переменные и импорты, а также недостижимый код.
Набор правил для PHP_CodeSniffer, выявляющих код с возможностями и функциями PHP, несовместимыми с другими версиями.