![]() | |
![]() ![]() | |
Tipus | programari lliure, intèrpret d'ordres, shell i biblioteca Python ![]() |
---|---|
Versió inicial | 2001 ![]() |
Versió estable | |
Llicència | llicència BSD de 3 clàusules ![]() |
Característiques tècniques | |
Sistema operatiu | multiplataforma ![]() |
Escrit en | Python, JavaScript i C ![]() |
Format de fitxer de lectura | |
Format de fitxer d'escriptura | |
Biblioteca d'interfície d'usuari | Qt ![]() |
Equip | |
Desenvolupador(s) | Fernando Pérez ![]() |
Més informació | |
Lloc web | ipython.org ![]() |
Stack Exchange | Etiqueta ![]() |
Seguiment d'errors | Seguiment d'errors ![]() |
Free Software Directory | IPython ![]() |
| |
IPython (de l'anglès Interactive Python, Python Interactiu) és un intèrpret d'ordres interactiu que afegeix funcionalitats addicionals a la manera interactiva d'interactuar amb Python, com per exemple el ressaltat de línies i d'errors mitjançant colors, una sintaxi addicional per a l'intèrpret d'ordres i autocompleció mitjançant un tabulador de variables, mòduls i atributs, entre altres funcionalitats. És un component del paquet SciPy.
IPython és un intèrpret de comandes per al llenguatge de programació Python, on s'ha potenciat la component iterativa (d'aquí la lletra I). IPython és software lliure desenvolupat per múltiples programadors, destacant Fernando Pérez de la Universitat de Berkeley (California, EUA).[1]
IPython, tal com el coneixem avui, va sorgir dels tres projectes següents:
Fernando Pérez descriu la història d'IPython com:
"Quan vaig conèixer IPP i LazyPython vaig intentar unir els tres en un sistema unificat. Vaig pensar que això podria proporcionar un entorn de treball molt bonic, tant per la programació regular com per a la computació científica: funcions similars a les closques, numèrics IDL / Matlab, historial ràpid del tipus Mathematica i gran facilitat d'introspecció i ajuda. Crec que va funcionar raonablement bé, tot i que era molta més feina de la que tenia previst inicialment".[2]
IPython es basa en una arquitectura que subministra computació distribuïda i en paral·lel. IPython permet l'execució d'aplicacions en paral·lel, deixant a aquestes desenvolupar-se, executar-se, depurar-se i ser monitorades interactivament. L'arquitectura abstreu situacions en paral·lel, cosa que permet a IPython donar suport a múltiples tipus de computació en paral·lel. Entre aquests s'inclouen:
Amb el llançament d' IPython 4.0, les capacitats de paral·lelització varen passar a ser optatives sota la sortida d'un paquet de Python ipyparallel.[3]
Amb freqüència es basa en biblioteques de la “Scipy Stack" [4] com Numpy i Scipy. IPython proporciona integracions amb algunes biblioteques de “Scipy Stack”,[4] com per exemple matplotlib, produint gràfics en línia quan s'utilitza amb el Jupyter Notebook.
L'any 2014 Fernando Pérez anuncià el projecte ‘spin-off’ Projecte Jupyter [5]. En aquest projecte IPython serveix com a intèrpret o ‘shell' sota Jupyter però l'interfície i altres parts del llenguatge fou sobreescrites sota el nom de Jupyter.[6][7] El nom és un acrònim dels llenguatges Julia, Python i R, tots tres llenguatges interpretats amb suport a Jupyter.[8]
Jupyter Notebook és un entorn interactiu basat en web per crear, executar, i visualitzar codi interpretat amb IPython.
És similar a altres entorns a altres interfícies ‘notebook’ com les de Mapple, Mathematica o SageMath; un estil d'entorn originat als anys vuitanta.[9] Dona suport a entorns d'execució (kernels) en diversos llenguatges però per defecte s'utilitza IPython com a kernel.
A més, IPython inclou una versió en GNU/Linux per a ser executat en X i usant la biblioteca WX. En l'ús de biblioteques d'interfície gràfica d'usuari, l'IPython no permet el bloqueig en la interacció amb Tkinter, GTK+, Qt ni WX; solament permet la interacció amb Tkinter. L'IPython pot gestionar de forma interactiva l'ús en paral·lel de diversos clústers. També es pot utilitzar per a reemplaçar l'intèrpret d'ordres de sistema gràcies a la flexibilitat d'ús i la capacitat de modificar-lo que permet el seu arxiu de configuració, especialment en Windows. L'IPython recorda un intèrpret d'ordres Unix i, fins i tot, permet utilitzar ordres Bash durant el seu ús per a, per exemple, canviar de directori de treball.
IPython no només permet executar directament codi Python i depurar-lo, també, des del mateix intèrpret podrem executar qualsevol comanda del sistema operatiu o scripts escrits en altres llenguatges (Bash, Perl, Ruby, etc.), sense necessitat d'iniciar altres consoles.
El quadern estén l'enfocament basat en consoles a la informàtica interactiva en una direcció qualitativament nova, proporcionant una aplicació basada en web adequada per capturar tot el procés de càlcul: desenvolupar, documentar i executar codi, així com comunicar els resultats. IPython Notebook combina dos components:
Les versions IPython 5.x, anomenades Long Term Support (LTS) o suport a llarg termini, seran les últimes versions d'IPython amb suport per Python 2. El projecte d'IPython es va comprometre a no donar suport a Python 2 més enllà del 2020[11] sent un dels primers projectes a adscriure-se’n a la declaració de Python 3. Les versions més enllà de les 6.x són sols compatible amb Python 3 o superior.
L'IPython ha tingut repercussió en la premsa especialitzada de l'àmbit informàtic,[12] i se'n parla en conferències del món científic.[13] Se'l considera una eina per al treball científic[14] i freqüentment s'ha presentat conjuntament amb Matplotlib.[15]
L'1 de gener de 2013, l'Alfred P. Sloan Foundation va anunciar que donaria suport al desenvolupament d'IPython durant els següents dos anys.[16]
El 23 de març de 2013, Fernando Pérez va estar guardonat amb el premi Free Software Foundation Advancement of Free Software per IPython.
L'agost de 2013, Microsoft va fer una donació de 100.000 dòlars per patrocinar el desenvolupament continuat d'IPython.[17]
El gener de 2014, va guanyar el premi Jolt Productivity Award [18] del Dr. Dobb's en la categoria d'eines de codificació.
El juliol de 2015, el projecte va obtenir un finançament de 6 milions de dòlars de la Gordon and Betty Moore Foundation, Alfred P. Sloan Foundation i Leona M. i Harry B. Helmsley Charitable Trust.[19]
El maig de 2018, va ser guardonat amb el premi ACM Software System Award 2017.[20] L'equip d'IPython és l'equip amb més membres en haver guanyat el premi.[21]