IPython
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.
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 | 3.1 ( 3 de abril de 2015) | |
Archivos legibles | ||
Jupyter notebook file | ||
Archivos editables | ||
Jupyter notebook file | ||
Enlaces | ||
Computación en paralelo Parallel computing
editarIPython 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
editarEl 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).
Proyecto Jupyter
editarEn 2014 Fernando Pérez anunció un proyecto alternativo a IPython llamado Jupyter.[1] 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.[2] Jupyter añadió soporte para Julia, R, Haskell y Ruby al notebook
Otras características
editarIPython 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
editarIPython ha sido mencionado en prensa del ámbito informático,[3] y en conferencias del mundo científico.[4] IPython es considerado como una herramienta para el trabajo científico, y frecuentemente ha sido presentado junto con Matplotlib[5]
Fin de la compatibilidad con Python 2
editarLa 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[6] 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.[7]
Proyecto Jupyter
editarEn 2014, Fernando Pérez anunció un proyecto derivado de IPython llamado Project Jupyter.[8] IPython continuó existiendo como un shell y kernel de Python para Jupyter, pero la interfaz del notebook y otras partes independientes del lenguaje de IPython se movieron bajo el nombre de 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.[9]
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- ↑ «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.
- ↑ https://youtube.com/devicesupport, 17 de abril de 2015, consultado el 26 de mayo de 2015.
- ↑ Conrad Koziol (September 12, 2005). "Introducing IPython". NewsForge.
- ↑ «About/Presentations - IPython». Archivado desde el original el 5 de febrero de 2010. Consultado el 26 de febrero de 2010.
- ↑ IPython: A System for Interactive Scientific Computing.
- ↑ «Release of IPython 5.0 – Jupyter Blog». Jupyter Blog. 8 de julio de 2016. Consultado el 11 de abril de 2018.
- ↑ Jake VanderPlas (2016). Python Data Science Handbook. O'Reilly Media. ISBN 978-1491912058.
- ↑ «Project Jupyter // Speaker Deck».
- ↑ «Jupyter Logo · jupyter/Design Wiki».
Enlaces de interés
editar- Sitio web de IPython
- Documentación de IPython
- Jeremy Jones (27, January 2005). «Enhanced Interactive Python with IPython». ONLamp.com (en inglés). Archivado desde el original el 23 de marzo de 2016. Consultado el 26 de febrero de 2010.
- Varias presentaciones de IPython y Python en conferencias científicas en the Scientific Python website.
- IPython introduction videos en showmedo