Historia

Jupyter surge en 2014 como una evolución del proyecto IPython, una potente consola para Python. Sin embargo, Jupyter es mucho más ambicioso que IPython, se pretende construir una plataforma  que ofrezca a los científicos un conjunto de potentes herramientas para trabajar con datos, visualizarlos y poder compartir los resultados.

El origen Jupyter2de su nombre es un homenaje a Galileo, al que se considera autor del primer “paper” científico de astronomía de la era moderna en 1610, en el cual describe sus observaciones astronómicas a través de un telescopio de las lunas de Júpiter. Galileo demostró que la Tierra orbita el Sol de la misma manera que las lunas de Júpiter orbitan dicho planeta.

El proyecto fue iniciado por Fernando Pérez, un científico y profesor de la Universidad de California Berkeley. Sin embargo, el proyecto es software libre y está basado en componentes libres, por lo que está apoyado, desarrollado y mantenido por una amplia comunidad.

La adopción y el éxito de Jupyter ha sido muy grande, de tal modo que se está convirtiendo en un standard para el trabajo de los científicos de datos. Hoy en día la herramienta está integrada algunas de las plataformas y entornos más importantes y extendidas como Google CloudMicrosoft AzureAWSIBM BluemixDatabricks PlatformGitHubRackspace, Continuum,Jetbrains.

¿Cómo funciona Jupyter?

Jupyter nos ofrece una shell interactiva vía web, a la que podemos acceder desde un navegador. La shell está organizada en pequeños bloques, cada bloque puede contener texto arbitrario formateado en Markdown, fórmulas matemáticas en LaTeX, código en multitud de lenguajes, resultados, gráficos, vídeos, widgets o cualquier elemento multimedia.

Podemos escribir código de programación en estas celdas e ir ejecutándolo paso a paso o todo de golpe, obteniendo todos los resultados parciales. También podemos usar los bloques de texto para documentar el código o añadir las explicaciones oportunas, que pueden contener enlaces, imágenes, vídeos u otros elementos.

Esta serie de piezas de código, notas y resultados se guardan en un notebook, que es un fichero que contiene toda esta información. Uno de los principales objetivos de Jupyter es fomentar y simplificar la compartición de conocimiento y resultados a través de los notebooks. Plataformas como GitHub o Databricks Community Edition facilitan esta tarea. De esta manera los notebooks pueden ser fácilmente difundidos y los resultados pueden ser reproducidos y validados en diferentes entornos. Por supuesto esto es muy útil para la divulgación y la formación o en entornos educativos.

Jupyter soporta integración con más de 40 lenguajes de programación en los que podemos escribir el código de nuestro notebooks, por ejemplo PythonRScalaRuby o Go. Pero también es fácilmente integrable con herramientas y plataformas de Big Data como Spark, lo que permite abstraerse de la complejidad de estas herramientas, aprovechando todo su potencial desde un entorno muy amigable.

Una forma muy sencilla de probar Jupyter es a través de Try Jupyter!, una página hospedada por Rackspace que nos ofrece una instancia de prueba donde podemos ejecutar algunos notebooks de ejemplo o escribir los nuestros propios.

Instalación

Lo primero que necesitamos es tener instalado Python 3, que podemos descargar de su web oficial. Una vez hecho, actualizamos vía terminal el gestor de paquetes de Python e instalamos Jupyter. Al arrancarlo, se abrirá una nueva ventana en nuestro navegador predefinido, y la terminal quedará bloqueada con el proceso. Podemos abrirlo en otro navegador, para lo cual se nos indica la URL en la salida por pantalla.