
Jupyter Notebook: documentos web para análisis de datos, código en vivo y mucho más
Que los procesos de trabajo en equipo sean sencillos tiene una importancia esencial en muchas industrias. Por ello, las herramientas para comunicarse y organizar las diferentes versiones de las etapas de trabajo y datos de un proyecto se han vuelto indispensables. Existen varias aplicaciones de ciencia de datos y de simulación cuyo objetivo es intentar satisfacer estas demandas. Por ejemplo, Jupyter Notebook es una aplicación web que sirve a modo de puente constante entre el código y los textos explicativos. De este modo, los s pueden crear y compartir en tiempo real código, ecuaciones, visualizaciones, etc., junto con los textos explicativos. ¿Qué hay detrás de esta aplicación de código abierto desarrollada y gestionada por el Proyecto Jupyter?¿Qué es Jupyter Notebook?
Jupyter Notebook es una aplicación cliente-servidor lanzada en 2015 por la organización sin ánimo de lucro Proyecto Jupyter. Permite crear y compartir documentos web en formato JSON que siguen un esquema versionado y una lista ordenada de celdas de entrada y de salida. Estas celdas albergan, entre otras cosas, código, texto (en formato Markdown), fórmulas matemáticas y ecuaciones, o también contenido multimedia (Rich Media). El programa se ejecuta desde la aplicación web cliente que funciona en cualquier navegador estándar. El requisito previo es instalar y ejecutar en el sistema el servidor Jupyter Notebook. Los documentos creados en Jupyter pueden exportarse, entre otros formatos, a HTML, PDF, Markdown o Python y también pueden compartirse con otros s por correo electrónico, utilizando Dropbox o GitHub o mediante el visor integrado de Jupyter Notebook.Los dos componentes principales de Jupyter Notebook son un conjunto de núcleos (Interpreter) y el Dashboard. Cada núcleo o kernel es un motor de ejecución para un lenguaje que se encarga de procesar las solicitudes y devolver las respuestas apropiadas. El kernel por defecto es IPython, un intérprete de líneas de comandos que permite trabajar con Python. Gracias a los 50 kernels restantes, es posible trabajar también con otros lenguajes como C++, R, Julia, Ruby, jаvascript, CoffeeScript, PHP o Java. Por un lado, el Dashboard ( de control) funciona como una interfaz de istración de cada uno de los kernels y, por otro, como un centro de control desde donde es posible crear nuevos documentos o abrir proyectos existentes. Jupyter Notebook está disponible bajo una licencia BSD modificada, por lo que cualquier puede usarlo gratuitamente.
¿En qué se diferencia Jupyter Notebook de JupyterHub y JupyterLab?
Jupyter Notebook no es la única aplicación de código abierto que ofrece el Proyecto Jupyter: JupyterHub y JupyterLab son dos servicios adicionales que ofrece el equipo de desarrollo y que están estrechamente vinculados al entorno de trabajo interactivo para el desarrollo de código.JupyterHub es un servidor con proxy multi que interconecta varias instancias Jupyter Notebook. Puede estar alojado en la nube o en nuestro propio hardware y lo que permite es utilizar un entorno compartido del Notebook. El del servidor se encarga de gestionar el compartido a cada uno de los documentos según considere oportuno (se puede implementar un método de autenticación) y el resto de los s individuales pueden concentrarse por completo en realizar sus tareas. Se puede encontrar información detallada sobre cómo instalar y alojar JupyterHub en el repositorio GitHub oficial del entorno multi.
JupyterLab es el sucesor oficial de Jupyter Notebook y actualmente está en beta (con fecha de agosto de 2018), pero a la larga acabará reemplazando al programa clásico. Las diferencias entre ambos residen en que JupyterLab ofrece más opciones de personalización e interacción y en él es más sencillo aún implementar extensiones. Además de los editores de texto, terminales y otros componentes que pueden abrirse y visualizarse al mismo tiempo que los documentos de Notebook, la nueva interfaz de , gracias a su nuevo diseño, incluye también s directos a Google Drive y otros servicios en la nube, nuevas opciones en el menú y atajos de teclado para que el trabajo en el entorno de código sea aún más fácil.
Comentarios