Repolode
jpmorganchase

jpmorganchase/nbcelltests

Расширение JupyterLab и Python-пакет для написания модульных тестов отдельных ячеек ноутбуков с линейным выполнением, например ноутбуков для подготовки отчётов.

Звёзды
97
Форки
26
Открытые issues
42
Последний коммит
5 дней назад

Что это?

nbcelltests позволяет писать тесты для рабочих Jupyter-ноутбуков, в первую очередь тех, которые выполняются сверху вниз для создания отчётов. Для каждой ячейки можно добавить моки и проверки, а инструмент генерирует класс unittest с отдельным методом для каждой ячейки. Метод включает накопленные тесты всех предыдущих ячеек, повторяя линейный порядок выполнения ноутбука.

Тесты хранятся в метаданных ячеек. Их можно запускать без подключения к сети из файла .ipynb с помощью CLI nbcelltests или выполнять через браузерный интерфейс JupyterLab с отображением результатов в pytest-html. В проект также входят проверки в стиле линтеров: максимальное число строк в ячейке, число ячеек в ноутбуке, число функций и классов, а также процент ячеек, покрытых тестами.

Инструмент помогает выявлять поломки после изменения версий пакетов, а также проблемы, из-за которых ноутбук не может создать отчёт после исследовательских нелинейных правок. В основе проекта лежит nbval, который сравнивает результаты выполнения для регрессионного тестирования.

Ключевые возможности

  • 01Создаёт методы unittest для отдельных ячеек с накоплением тестов предыдущих ячеек
  • 02Хранит определения тестов в метаданных ячеек ноутбука
  • 03Запускает тесты из командной строки для файлов .ipynb
  • 04Запускает тесты и показывает результаты в JupyterLab через pytest-html
  • 05Проверяет ограничения на структуру ноутбука, например число строк в ячейке и число ячеек в ноутбуке

Сценарии использования

  • Модульное тестирование ноутбуков для подготовки отчётов, которые выполняются сверху вниз с помощью Papermill или аналогичных инструментов
  • Выявление поломок в конвейере подготовки отчётов на основе ноутбуков после обновления пакетов
  • Соблюдение простых ограничений на размер кода в ноутбуках в рамках жизненного цикла разработки ПО

Быстрый старт

  1. 1

    Установите пакет Python из PyPI

    pip install nbcelltests
  2. 2

    Сгенерируйте и запустите тесты для примера ноутбука

    nbcelltests test examples/Example.ipynb

Что важно знать

  • Для интеграции с JupyterLab требуется Node.js, а после установки необходимо пересобрать JupyterLab.
  • В JupyterLab проверки lint выполняются с версией Python, в которой запущен Jupyter, поэтому в ноутбуках Python 2 могут отображаться ложные синтаксические ошибки.

В подборках

Темы

Частые вопросы

Что такое nbcelltests?
Расширение JupyterLab и Python-пакет для написания модульных тестов отдельных ячеек ноутбуков с линейным выполнением, например ноутбуков для подготовки отчётов. nbcelltests позволяет писать тесты для рабочих Jupyter-ноутбуков, в первую очередь тех, которые выполняются сверху вниз для создания отчётов. Для каждой ячейки можно добавить моки и проверки, а инструмент генерирует класс unittest с отдельным методом для каждой ячейки. Метод включает накопленные тесты всех предыдущих ячеек, повторяя линейный порядок выполнения ноутбука.
nbcelltests можно использовать бесплатно? Какая у него лицензия?
nbcelltests распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nbcelltests всё ещё поддерживается?
Активно поддерживается. Последний коммит в nbcelltests — 1 нояб. 2026 г..
Для чего можно использовать nbcelltests?
Модульное тестирование ноутбуков для подготовки отчётов, которые выполняются сверху вниз с помощью Papermill или аналогичных инструментов Выявление поломок в конвейере подготовки отчётов на основе ноутбуков после обновления пакетов Соблюдение простых ограничений на размер кода в ноутбуках в рамках жизненного цикла разработки ПО
Как установить nbcelltests?
Установите пакет Python из PyPI: pip install nbcelltests Сгенерируйте и запустите тесты для примера ноутбука: nbcelltests test examples/Example.ipynb
Где скачать nbcelltests?
Исходный код и инструкции по установке — на GitHub: https://github.com/jpmorganchase/nbcelltests

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

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

Готовые к запуску Docker-образы с JupyterLab, Jupyter Notebook и популярными инструментами для научных вычислений на Python — для личного или командного использования.

8,5 тыс.3 тыс.PythonBSD-3-ClauseАктивно поддерживаетсяОбновлён 3 дня назад