IPython es un shell interactivo que añade funcionalidades extra al modo interactivo incluido con Python, como resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, autocompletado mediante tabulador de variables, módulos y atributos; entre otras funcionalidades. Es un componente del paquete SciPy.
Computación en paralelo Parallel computing
IPython está basado en una arquitectura que suministra computación distribuida y en paralelo. IPython permite la ejecución de aplicaciones en paralelo, pudiéndose estas desarrollar, ejecutar, depurar y ser monitoreadas interactivamente. Es por esto que el nombre de IPython toma la letra I del inicio, como referencia a interactivo. La arquitectura abstrae situaciones en paralelo, lo que permite a IPython dar soporte a múltiples tipos de computación en paralelo. Entre estos se incluyen:
Paralelismo «un programa, múltiples datos» (SPMD por sus siglas en inglés). Paralelismo «múltiples programas, múltiples datos» (MPMD). Paso de mensajes usando MPI. Paralelismo de control. Paralelismo de datos. Combinación de las aproximaciones anteriores. Aproximaciones personalizables por los usuarios.
Notebook
El cuaderno Notebook de IPython está basado en la web y es interactivo. Un notebook en IPython es un documento JSON que contiene una lista ordenada de entradas / salidas las cuales pueden tener código, texto, matemáticas, dibujos y rich media. Los notebooks de IPython pueden ser convertidos a otros formatos de archivos como HTML, presentaciones de diapositivas, LaTeX, PDF, Python, etc).
Otras características
IPython incluye además una versión en GNU/Linux para ser ejecutado en X y usando la biblioteca wxWidgets. En el uso de bibliotecas GUI, IPython no permite el bloqueo en la interacción con Tkinter, GTK+, Qt ni wxWidgets; solo permite la interacción con Tkinter. Ipython puede gestionar de forma interactiva el uso paralelo de varios clústeres. IPython puede ser utilizado para reemplazar el shell de sistema gracias a lo flexible y modificable que es mediante su archivo de configuración, especialmente en windows. El shell de IPython recuerda a un shell de unix, e incluso permite usar comandos bash durante su uso para, por ejemplo, cambiar de directorio de trabajo.
En los medios de comunicación miniaturadeimagen|Captura de pantalla del terminal IPython en OSX usando iTerm 2. Este archivo muestra el cálculo de una transformación fast-Fourrier usando numpy, que se muestra con una ventana TK de matplotlib, y muestra la edición multilínea, el resaltado de color y las finalizaciones de pestañas en IPython. IPython ha sido mencionado en prensa del ámbito informático,Conrad Koziol (September 12, 2005). "Introducing IPython". NewsForge. y en conferencias del mundo científico. IPython es considerado como una herramienta para el trabajo científico, y frecuentemente ha sido presentado junto con MatplotlibIPython: A System for Interactive Scientific Computing.
Fin de la compatibilidad con Python 2 La serie IPython 5.x (Long Time Support) es la última versión de IPython compatible con Python 2. El proyecto IPython se comprometió a no admitir Python 2 después de 2020 al ser uno de los primeros proyectos en unirse a la Declaración de Python 3, el La serie 6.x solo es compatible con Python 3 y versiones posteriores. Sin embargo, todavía es posible ejecutar un kernel IPython y un servidor Jupyter Notebook en diferentes versiones de Python, lo que permite a los usuarios acceder a Python 2 en la versión más reciente de Jupyter.
Proyecto Jupyter miniaturadeimagen|notebook de IPython en 2014. En 2014 Fernando Pérez anunció un proyecto alternativo a IPython llamado Jupyter. IPython seguirá existiendo como un shell de Python y como kernel para Jupyter, mientras que el notebook y otras partes de IPython pasarán a formar parte del proyecto Jupyter. Jupyter es independiente del lenguaje y su nombre es una referencia a los lenguajes de programación centrales compatibles con Jupyter, que son Julia, Python y R. Jupyter añadió soporte para Julia, R, Haskell y Ruby al notebookthumb|IPython Notebook workflows
Jupyter Notebook (anteriormente IPython Notebooks) es un entorno computacional interactivo basado en web para crear, ejecutar y visualizar cuadernos de Jupyter. Es similar a la interfaz de cuaderno de otros programas como Maple, Mathematica y SageMath, un estilo de interfaz computacional que se originó con Mathematica en la década de 1980. Admite entornos de ejecución (también conocidos como núcleos) en docenas de idiomas. De forma predeterminada, Jupyter Notebook se envía con el kernel de IPython, pero hay más de 100 kernels de Jupyter a partir de mayo de 2018.
Referencias
Enlaces de interés Sitio web de IPython Documentación de IPython
Varias presentaciones de IPython y Python en conferencias científicas en the Scientific Python website. IPython introduction videos en showmedo
Categoría:Python