Jupyter Notebook es una aplicación Web que nos permite crear y compartir documentos que contienen código vivo, ecuaciones, textos, visualizaciones, etc. De esta forma podremos crear tutoriales interactivos, donde el lector pueda ir probando y comprobando, sin necesidad de instalar nada en su ordenador, aquellos conceptos o ejercicios que le vamos mostrando. ¿Cómo se consigue esto?
Haciendo uso de los documentos notebook que Jupyter nos proporciona. Cada notebook está formado por un conjunto de celdas de contenido, donde el tipo de las mismas varía desde código hasta headings, pasando por markdown (para la inclusión de texto narrativo).
Todas las celdas de un documento de Jupyter pueden ser ejecutadas y, en base a su tipo, obtendremos un resultado u otro. Las celdas markdown y headings nos van a servir para añadir texto y formato a nuestro notebook. Al ejecutarlas el contenido aparecerá en la forma correspondiente.
Por su parte, las celdas de tipo código muestran su salida a continuación (inmediatamente después de la celda), de manera que podemos tener todo como un conjunto. Esto nos puede resultar muy útil como lector, pues podremos analizar mejor cómo se comporta una función concreta o cómo implementar cierta funcionalidad.
¿En qué lenguaje podemos programar? Por defecto, Jupyter trabaja con Python, por lo que podremos programar nuestros notebooks en este lenguaje. Igualmente, en las celdas tipo código se puede incluir código HTML, JavaScript y Latex sin cambiar la configuración. No obstante, Jupyter permite trabajar con multitud de lenguajes, basta con instalar el kernel (motor computacional) correspondiente.
¿Qué otras características nos proporciona? Aunque la característica más novedosa de esta herramienta ya os la he comentado (poder introducir y ejecutar código en nuestro documento), no podemos dejar de remarcar las siguientes:
- Edición en el navegador para inclusión de código.
- Posibilidad de compartir tus notebooks a través de GitHub y Dropbox.
- Interfaz intuitiva.
- Resaltado automático de sintaxis e indentación.
- Inclusión de notaciones matemáticas propias de Latex.
Por último, os recomiendo pasar por la zona de prueba que Jupyter proporciona para que comprobéis lo intuitivo y fácil de usar que resulta. En próximas entradas veremos más en detalle cómo preparar un notebook.