IPython (Python interactivo) es un intérprete de comandos para computación interactiva en múltiples lenguajes de programación, desarrollado originalmente para el lenguaje de programación Python , que ofrece introspección , contenido multimedia enriquecido , sintaxis de shell, autocompletado con la tecla Tab e historial. IPython proporciona las siguientes características:
- Shells interactivos (basados en terminal y Qt ).
- Una interfaz de cuaderno basada en navegador con soporte para código, texto, expresiones matemáticas, gráficos integrados y otros medios.
- Compatibilidad con la visualización interactiva de datos y el uso de herramientas de interfaz gráfica de usuario (GUI).
- Intérpretes flexibles e integrables para cargar en tus propios proyectos.
- Herramientas para la computación paralela .
IPython es un proyecto patrocinado fiscalmente por NumFOCUS . [ 3 ]
Computación paralela

IPython se basa en una arquitectura que proporciona computación paralela y distribuida. IPython permite desarrollar, ejecutar, depurar y supervisar aplicaciones paralelas de forma interactiva, de ahí la I (Interactiva) en IPython . [ 4 ] Esta arquitectura abstrae el paralelismo, lo que permite a IPython admitir muchos estilos diferentes de paralelismo [ 5 ], entre ellos:
- Paralelismo de programa único y datos múltiples ( SPMD )
- Paralelismo de múltiples programas y múltiples datos ( MPMD )
- Paso de mensajes mediante MPI
- Paralelismo de tareas
- paralelismo de datos
- Combinaciones de estos enfoques
- Enfoques personalizados definidos por el usuario
Con el lanzamiento de IPython 4.0, las capacidades de computación paralela se volvieron opcionales y se publicaron bajo el paquete de Python ipyparallel . Y la mayoría de las capacidades de ipyparallel ahora están cubiertas por bibliotecas más maduras como Dask .
IPython frecuentemente recurre a las bibliotecas del conjunto SciPy [ 6 ], como NumPy y SciPy , que suelen instalarse junto con alguna de las numerosas distribuciones científicas de Python. [ 6 ] IPython proporciona integración con algunas bibliotecas del conjunto SciPy , en particular matplotlib , que genera gráficos en línea al utilizarse con el cuaderno Jupyter . Las bibliotecas de Python pueden implementar ganchos específicos de IPython para personalizar la visualización de objetos enriquecidos. SymPy, por ejemplo, implementa la representación de expresiones matemáticas como LaTeX renderizado cuando se utiliza en el contexto de IPython, y los dataframes de Pandas utilizan una representación HTML. [ 7 ]
Otras características
IPython permite la interacción sin bloqueo con Tkinter , PyGTK , PyQt / PySide y wxPython (el intérprete de comandos estándar de Python solo permite la interacción con Tkinter). IPython puede gestionar interactivamente clústeres de computación paralela mediante devoluciones de llamada de estado asíncronas y/o MPI . IPython también puede utilizarse como reemplazo del intérprete de comandos del sistema. [ 8 ] Su comportamiento predeterminado es muy similar al de los intérpretes de comandos de Unix , pero permite la personalización y la flexibilidad de ejecutar código en un entorno Python en vivo.
Fin del soporte para Python 2
La serie IPython 5.x (Soporte a Largo Plazo) es la última versión de IPython que admite Python 2. El proyecto IPython se comprometió a no ofrecer soporte para Python 2 después de 2020 [ 9 ] al ser uno de los primeros proyectos en unirse a la Declaración de Python 3 ; la serie 6.x solo es compatible con Python 3 y versiones posteriores. Sin embargo, aún es posible ejecutar un kernel de IPython y un servidor Jupyter Notebook en diferentes versiones de Python, lo que permite a los usuarios acceder a Python 2 en versiones más recientes de Jupyter.
Proyecto Jupyter

En 2014, Fernando Pérez, creador de IPython, anunció un proyecto derivado de IPython llamado Project Jupyter . [ 10 ] IPython continuó existiendo como un intérprete de Python y un kernel para Jupyter, pero la interfaz de notebook y otras partes independientes del lenguaje de IPython se trasladaron bajo el nombre de Jupyter. [ 11 ] [ 12 ] Jupyter es independiente del lenguaje y su nombre hace referencia a los lenguajes de programación principales compatibles con Jupyter, que son Julia , Python y R. [ 13 ]
Jupyter Notebook (anteriormente IPython Notebook) es un entorno de computación interactivo basado en la web para crear, ejecutar y visualizar cuadernos Jupyter. Es similar a la interfaz de cuaderno de otros programas como Maple , Mathematica y SageMath , un estilo de interfaz de computación que se originó con Mathematica en la década de 1980. [ 14 ] Admite entornos de ejecución ( también conocidos como kernels) en docenas de lenguajes. Por defecto, Jupyter Notebook incluye el kernel IPython, pero existen más de 100 kernels de Jupyter a mayo de 2018.
En los medios
IPython ha sido mencionado en la prensa especializada en informática y otros medios de comunicación populares, [ 15 ] [ 14 ] y tiene presencia en conferencias científicas. [ 16 ] Para trabajos científicos y de ingeniería, a menudo se presenta como una herramienta complementaria de matplotlib . [ 17 ]
Becas y premios
A partir del 1 de enero de 2013, la Fundación Alfred P. Sloan anunció que apoyaría el desarrollo de IPython durante dos años. [ 18 ]
El 23 de marzo de 2013, Fernando Pérez recibió el premio de la Free Software Foundation al avance del software libre por IPython.
En agosto de 2013, Microsoft hizo una donación de 100.000 dólares para patrocinar el desarrollo continuo de IPython. [ 19 ]
En enero de 2014, ganó el premio Jolt Productivity Award [ 20 ] de Dr. Dobb's en la categoría de herramientas de codificación. En julio de 2015, el proyecto obtuvo una financiación de 6 millones de dólares de la Fundación Gordon y Betty Moore, la Fundación Alfred P. Sloan y el fideicomiso benéfico Leona M. y Harry B. Helmsley. [ 21 ]
En mayo de 2018, recibió el premio ACM Software System Award de 2017. [ 22 ] Es el equipo más grande que ha ganado el premio. [ 23 ]
Véase también
Referencias
- 1 2 "El cuaderno IPython: una retrospectiva histórica" . Blog de Fernando Pérez. 8 de enero de 2012.
- ↑ "9.15.0" . 26 de junio de 2026. Consultado el 26 de junio de 2026 .
- ↑ "Proyectos patrocinados por NumFOCUS" . NumFOCUS . Consultado el 25 de octubre de 2021 .
- ↑ Helen, Shen (2014). "Cuadernos interactivos: Compartiendo el código" . Nature . 515 (7525): 151– 152. Bibcode : 2014Natur.515..151S . doi : 10.1038/515151a . PMID 25373681 .
- ↑ "Uso de IPython para computación paralela - Documentación de IPython" .
- 1 2 "Pila SciPy" .
- ↑ "Impresión — Documentación de SymPy 1.1" . docs.sympy.org . Consultado el 11 de abril de 2018 .
- ↑ McKinney, Wes (2012). "Capítulo 3" . Python para el análisis de datos . ISBN 978-1-449-31979-3.
- ↑ "Lanzamiento de IPython 5.0 – Blog de Jupyter" . Blog de Jupyter . 8 de julio de 2016. Consultado el 11 de abril de 2018 .
- ↑ "Proyecto Jupyter // Presentación del orador" .
- ↑ "El Notebook, la consola Qt y otras piezas ahora forman parte de Jupyter" . GitHub . 17 de octubre de 2021.
- ↑ "The Big Split™" . 28 de agosto de 2017.
- ^ "Logotipo de Jupyter · jupyter/Diseño Wiki" . GitHub .
- 1 2 Somers, James. "El artículo científico está obsoleto" . The Atlantic . Consultado el 10 de abril de 2018 .
- ↑ Koziol, Conrad (12 de septiembre de 2005). "Introducción a IPython" . NewsForge. Archivado del original el 7 de junio de 2012. Recuperado el 14 de junio de 2012 .
- ↑ "Presentaciones de IPython" .
- ↑ Pérez, Fernando; Granger, Brian E. (2007). "IPython: Un sistema para computación científica interactiva" (PDF) . Computing in Science & Engineering . 9 (3): 21– 29. Bibcode : 2007CSE.....9c..21P . doi : 10.1109/MCSE.2007.53 . S2CID 16637923. Archivado del original (PDF) el 2 de junio de 2010. Recuperado el 30 de julio de 2015 .
- ↑ "Anuncio en la lista de correo de scipy" . Archivado del original el 5 de marzo de 2016. Consultado el 12 de diciembre de 2012 .
- ↑ "Anuncio de IPython" .
- ↑ "Artículo sobre el premio Jolt a la productividad en Dr. Dobb's" .
- ↑ "$6 millones para UC Berkeley y Cal Poly para expandir y mejorar el software de código abierto para computación científica y ciencia de datos" . Consultado el 13 de agosto de 2015 .
- ↑ "Noticias recientes sobre premios de sistemas de software" .
- ↑ "Jupyter recibe el premio ACM Software System Award" .
Enlaces externos
- shells de comandos
- Software matemático gratuito
- Software libre programado en Python
- Interfaz de portátil
- Herramientas de desarrollo de Python (lenguaje de programación)
- Software que utiliza la licencia BSD.
