Фреймворк на базе Nix для декларативных и воспроизводимых окружений JupyterLab с настраиваемыми ядрами и расширениями.
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
Установите пакет Python из PyPI
pip install nbcelltests - 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 обновляется ежедневно.
Похожие проекты
Хранит Jupyter notebooks в виде обычных файлов Markdown или скриптов Python, Julia и R, чтобы Git показывал наглядные diff.
Готовые к запуску Docker-образы с JupyterLab, Jupyter Notebook и популярными инструментами для научных вычислений на Python — для личного или командного использования.
Расширение для JupyterLab, которое добавляет несколько файловых браузеров для локальных и удалённых хранилищ, например S3 и Samba.
Расширение JupyterLab, добавляющее панель Git для индексации изменений, коммитов, работы с ветками и синхронизации репозиториев прямо в JupyterLab.
Расширение JupyterLab, которое открывает сайты и локальные HTML-файлы во встроенном iframe-виджете и добавляет быстрые ссылки в лаунчер.