Who is this presentation for?

Prerequisite knowledge

What you'll learn

Learn how to use nbconvert, how to write custom preprocessors, and how to customize nbconvert templates

Understand what to watch out for when creating notebooks intended to be converted

Description

The Jupyter Notebook can combine narrative, code, and graphics—the ideal combination for teaching anything programming related. That’s why Andreas Müller chose to write his book, Introduction to Machine Learning with Python, in a Jupyter notebook. However, going from notebook to book was not easy.

Andreas shares challenges and tricks for converting notebooks for print, exploring the architecture of nbconvert and focusing on the limitations of Markdown and writing custom converters. For his book, Andreas extended nbconvert to create AsciiDoc, the target format for publishing with O’Reilly. However, because nbconvert relies on pandoc, which in turn relies on representing everything as Markdown, there are severe limitations on what can be expressed in a convertible way. Andreas had to create a set of pre- and postprocessing tools for actually creating all the infrastructure necessary for a large document like a book.

Andreas Mueller

Columbia University

Andreas Müller is a lecturer at the Data Science Institute at Columbia University and author of Introduction to Machine Learning with Python (O’Reilly), which describes a practical approach to machine learning with Python and scikit-learn. His mission is to create open tools to lower the barrier of entry for machine learning applications, promote reproducible science, and democratize the access to high-quality machine learning algorithms. Andreas is one of the core developers of the scikit-learn machine learning library and has been comaintaining it for several years. He is also a Software Carpentry instructor. Previously, he worked at the NYU Center for Data Science on open source and open science and as a machine learning scientist at Amazon.