IPython
Información general
Tipo de programa software libre
Autor Fernando Pérez
Desarrollador Scipy
Lanzamiento inicial 2001
Licencia BSD license
Estado actual Con soporte
Información técnica
Programado en
Interfaz gráfica predeterminada Qt
Versiones
Última versión estable 9.0.2 (9 de marzo de 2025)
Archivos legibles
Jupyter notebook file
Archivos editables
Jupyter notebook file
Enlaces

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

editar

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

editar

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

editar

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

editar
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,[1]​ y en conferencias del mundo científico.[2]​ IPython es considerado como una herramienta para el trabajo científico, y frecuentemente ha sido presentado junto con Matplotlib[3]

Fin de la compatibilidad con Python 2

editar

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[4]​ 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.[5]

Proyecto Jupyter

editar
notebook de IPython en 2014.

En 2014 Fernando Pérez anunció un proyecto alternativo a IPython llamado Jupyter.[6]​ 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.[7]​ 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.[8]​ Jupyter añadió soporte para Julia, R, Haskell y Ruby al notebook

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

editar
  1. Conrad Koziol (September 12, 2005). "Introducing IPython". NewsForge.
  2. «About/Presentations - IPython». Archivado desde el original el 5 de febrero de 2010. Consultado el 26 de febrero de 2010. 
  3. IPython: A System for Interactive Scientific Computing.
  4. «Release of IPython 5.0 – Jupyter Blog». Jupyter Blog. 8 de julio de 2016. Consultado el 11 de abril de 2018. 
  5. Jake VanderPlas (2016). Python Data Science Handbook. O'Reilly Media. ISBN 978-1491912058. 
  6. «Python for all (2): What are Jupyter Notebooks?». Archivado desde el original el 3 de febrero de 2019. Consultado el 2 de febrero de 2019. 
  7. https://youtube.com/devicesupport, 17 de abril de 2015, consultado el 26 de mayo de 2015 .
  8. «Jupyter Logo · jupyter/Design Wiki». 

Enlaces de interés

editar

📚 Artikel Terkait di Wikipedia

Fernando Pérez (programador)

software y promotor del software libre. Es conocido como el creador de IPython.​​​​​​ En el año 2012 recibió el premio por el Avance del Software Libre

Interfaz de notebook

0​ Apache Spark Notebook​ — Apache License 2.0 IPython — BSD Jupyter Notebook (anteriormente IPython) — Modified BSD License (modelo de copyright compartido)​

Proyecto Jupyter

interactiva en docenas de lenguajes de programación". Creado a partir de IPython en 2014 por Fernando Pérez, el proyecto Jupyter soporta entornos de ejecución

Fernando Pérez

pianista argentino. Fernando Pérez, programador creador del shell interactivo Ipython. Fernando Pérez Varela (1962-), futbolista chileno. Datos: Q3069522

SciPy

estructura de datos del vector Numeric. Poco después, Fernando Pérez publicó IPython, una consola interactiva mejorada ampliamente usada por la comunidad de

Deep Dream

hizo su código fuente abierto utilizado para generar las imágenes en un IPython notebook. Con esto se permitió que las imágenes de la red neuronal pudiesen

REPL

creación de documentos que integran análisis científico (por ejemplo IPython), mantenimiento de software interactivo, benchmarking y exploración de

SageMath

el usuario es posible desde la interfaz de línea de comandos (basada en IPython ) o vía unos cuadernos web​ que combinan celdas de código con celdas con