Repolode
AnswerDotAI

AnswerDotAI/nbdev

Среда разработки на основе ноутбуков, которая превращает Jupyter Notebooks в Python-пакеты с документацией, тестами, CI и публикацией в PyPI/conda.

Звёзды
5,323
Форки
514
Открытые issues
187
Последний коммит
22 часа назад

Что это?

nbdev позволяет писать код на Python, тесты и документацию в Jupyter Notebooks, используя облегчённую разметку. На основе ноутбуков он экспортирует модули Python, создаёт сайт документации с помощью Quarto и GitHub Pages, запускает тесты параллельно и настраивает GitHub Actions для непрерывной интеграции.

Проект синхронизирует ноутбуки и исходный код в виде обычного текста в обе стороны: можно редактировать код в IDE, а затем переносить изменения обратно в ячейки ноутбука, из которых он был получен. Git hooks удаляют ненужные метаданные ноутбуков и отображают конфликты слияния в удобочитаемом виде. Инструменты сборки пакетов помогают выпускать релизы в PyPI и conda.

В nbdev3 конфигурация проекта перенесена из settings.ini в pyproject.toml; также добавлена команда nbdev-migrate-config для преобразования существующих проектов nbdev2.

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

  • 01Экспортирует ноутбуки в модули Python и синхронизирует их с исходным кодом в обе стороны
  • 02Создаёт сайты документации с поиском с помощью Quarto и GitHub Pages
  • 03Запускает тесты на основе ноутбуков параллельно одной командой
  • 04Предоставляет GitHub Actions workflows для CI и пересборки документации
  • 05Публикует пакеты в PyPI и conda
  • 06Включает Git hooks для очистки ноутбуков и разрешения конфликтов слияния

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

  • Создание библиотеки Python, в которой код, тесты и документация собраны в ноутбуках
  • Публикация open-source-пакета Python в PyPI с автоматизированными релизами
  • Автоматическая генерация документации проекта со ссылками на исходный код
  • Редактирование кода из ноутбуков в IDE с синхронизацией изменений обратно в ноутбуки

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

  1. 1

    Установите nbdev с помощью pip

    pip install nbdev
  2. 2

    Запустите nbdev-help, чтобы просмотреть доступные команды

    nbdev-help

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

  • В Windows требуется WSL; в cmd и PowerShell программа не работает.
  • Устанавливать нужно в ту же среду Python, которую используют Jupyter и ваш проект.
  • В выпуске nbdev3 за январь 2026 года конфигурацию перенесли в pyproject.toml. Это несовместимое изменение для проектов nbdev2.

В подборках

Темы

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

Что такое nbdev?
Среда разработки на основе ноутбуков, которая превращает Jupyter Notebooks в Python-пакеты с документацией, тестами, CI и публикацией в PyPI/conda. nbdev позволяет писать код на Python, тесты и документацию в Jupyter Notebooks, используя облегчённую разметку. На основе ноутбуков он экспортирует модули Python, создаёт сайт документации с помощью Quarto и GitHub Pages, запускает тесты параллельно и настраивает GitHub Actions для непрерывной интеграции.
nbdev можно использовать бесплатно? Какая у него лицензия?
nbdev распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nbdev всё ещё поддерживается?
Активно поддерживается. Последний коммит в nbdev — 5 нояб. 2026 г..
Для чего можно использовать nbdev?
Создание библиотеки Python, в которой код, тесты и документация собраны в ноутбуках Публикация open-source-пакета Python в PyPI с автоматизированными релизами Автоматическая генерация документации проекта со ссылками на исходный код Редактирование кода из ноутбуков в IDE с синхронизацией изменений обратно в ноутбуки
Как установить nbdev?
Установите nbdev с помощью pip: pip install nbdev Запустите nbdev-help, чтобы просмотреть доступные команды: nbdev-help
Где скачать nbdev?
Исходный код и инструкции по установке — на GitHub: https://github.com/AnswerDotAI/nbdev

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

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

Инструмент с открытым исходным кодом для создания адаптивного трёхпанельного сайта со справочной документацией API на основе спецификаций OpenAPI, Swagger, AsyncAPI или GraphQL.

26 тыс.+10 за неделю2,4 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён вчера

Инструмент для автоматизации релизов Go-проектов: собирает и упаковывает бинарные файлы, публикует их на GitHub, в пакетных менеджерах и реестрах контейнеров.

16,1 тыс.+12 за неделю1,1 тыс.GoMITАктивно поддерживаетсяОбновлён 15 часов назад