#tips



Порефлексируем на одну из самых обсуждаемых в последние дни тем – как правильно поделиться своим жупитер-ноутбуком с другими.



Ну ладно, допустим, это поможет 3-4 людям, но это тот самый нишевый совет, который может попасть прям в точку. Я долго искал разные способы обернуть контент с кодом, картинками, визуализациями (читай, жупитер ноутбук) в сайт и лучшее, что нашел – JupyterBook (не путать с jupyter notebook). Вкратце упоминал тут, но расскажу чуть подробней: JupyterBook – очень удобный способ завернуть свой материал и поделиться им в виде статического сайта. Особенно если ноутбуков более одного и хочется их структурировать и повесить в вебе в удобном виде. Идеально для курсов/книг с кодом.



Жупитер-бук поддерживает:



- нормальный контроль версий без костылей типа nbdiff, основной контент – markdown (хотя если ооочень хочется, можно и ipynb отрендерить)

- CI/CD для жупитер-подобного контента. Можно все настроить так, чтоб быть уверенным: код рабочий

- Публикация “книги” на сайте одной командой

- Мелкие фишки такие как кнопки для открытия PR, чтоб указать на ошибку, поиск по всему контенту, автоматические оглавления и т.д.

- Если очень хочется дать воспроизвести код – есть интеграция с JupyterHub и Binder (последнее кто-то юзает?)



Вряд ли многие из вас пилят курсы, но для тех кто все же да – помимо quick start в офиц документации, можно подсмотреть в мои проекты с jupyterbook:



- млкурс одс – сайт, гитхаб

- курс ODS по квантовому ML – сайт, гитхаб

- книга Machine Learning Simplified (про которую писал тут)сайт, гитхаб. Fun fact: автор добавил меня в key contributors как раз за PR с оборачиваением всех упражнений в jupyterbook, оказалось что надо.



Минусы тоже есть: в документации бывает сложно найти какие-то мелочи, где-то нужен MyST-markdown (расширение обычного маркдауна), то есть какие-то заклинания приходится гуглить. И в целом запросы часто выводят на документацию jupyter notebook, а не jupyter book.



Для чего не подходит JupyterBook:

- Если нубук всего один - заморачиваться не стоит, в таком случае старый добрый google colab.

- Для своего персонального сайта/блога. Ну, любители голого маркдауна могут, конечно, и блог на нем написать, но все же для блога JupyterBook выглядит чутка уныло.