Repolode
nbQA-dev

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. 1

    Установите nbQA с помощью pip в виртуальное окружение

    python -m pip install -U nbqa
  2. 2

    При желании установите все поддерживаемые линтеры и форматтеры

    python -m pip install -U "nbqa[toolchain]"
  3. 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 обновляется ежедневно.

Похожие проекты

Консольная утилита, которая находит и исправляет распространённые опечатки в исходном коде и текстовых файлах по тщательно составленному словарю.

2,4 тыс.+3 за неделю535PythonGPL-2.0Активно поддерживаетсяОбновлён вчера

Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.

11,2 тыс.+26 за неделю2,2 тыс.JavaLGPL-3.0Обновлён 24 часа назад