IPython - Introduzione
Project Jupyter è una suite di prodotti software utilizzati nell'elaborazione interattiva. IPython è stato originariamente sviluppato da Fernando Perez nel 2001 come interprete Python migliorato. Un'interfaccia basata sul web per il terminale IPython sotto forma di notebook IPython è stata introdotta nel 2011. Nel 2014, il progetto Jupyter è stato avviato come progetto spin-off di IPython.
I pacchetti nell'ambito del progetto Jupyter includono:
Jupyter notebook - Un'interfaccia basata sul web per gli ambienti di programmazione di Python, Julia, R e molti altri
QtConsole - Terminale basato su Qt per kernel Jupyter simile a IPython
nbviewer - Possibilità di condividere i taccuini Jupyter
JupyterLab - Moderna interfaccia integrata basata sul web per tutti i prodotti.
La distribuzione standard di Python include un file REPL (Read-Evaluate-Print Loop) ambiente sotto forma di shell Python con >>>richiesta. IPython (sta per Interactive Python) è un ambiente interattivo avanzato per Python con molte funzionalità rispetto alla shell Python standard.
Caratteristiche di IPython
IPython offre più funzionalità rispetto allo standard Python. Sono i seguenti:
Offre una potente shell Python interattiva.
Funge da kernel principale per notebook Jupyter e altri strumenti front-end di Project Jupyter.
Possiede capacità di introspezione dell'oggetto. L'introspezione è la capacità di controllare le proprietà di un oggetto durante il runtime.
Evidenziazione della sintassi.
Memorizza la cronologia delle interazioni.
Completamento con tabulazione di parole chiave, variabili e nomi di funzioni.
Sistema di comando magico utile per controllare l'ambiente Python e svolgere le attività del sistema operativo.
Possibilità di essere incorporato in altri programmi Python.
Fornisce accesso al debugger Python.
Storia e sviluppo
IPython è stato originariamente sviluppato da Fernando Perez nel 2001. La sua versione attuale è IPython7.0.1 che richiede la versione Python 3.4 o superiore. IPython 6.0 è stata la prima versione a supportare Python 3. Gli utenti che hanno Python 2.7 dovrebbero lavorare con la versione di IPython dalla 2.0 alla 5.7
Il concetto di notebook computazionali è iniziato nel decennio degli anni '80 quando sono stati rilasciati MATLAB e Mathematica. Questi frontend GUI alla shell interattiva avevano funzionalità come la formattazione del testo, l'aggiunta di grafici, tabelle e l'aggiunta di simboli matematici. Il notebook Sage è anche un notebook basato sul Web.
I creatori di IPython hanno iniziato a lavorare sull'interfaccia del notebook per la shell IPython nel 2005. IPython notebook ha presto aggiunto il supporto di altri linguaggi come R e Julia. È stato nel 2014 che Perez ha avviato il progetto Jupyter come progetto spin-off di IPython, poiché il progetto IPython stava diventando grande con prodotti come server notebook e console Qt aggiunti ad esso.
A partire da IPython 4.0, tutti i componenti aggiuntivi sono stati spostati in Project Jupyter e hanno aggiunto il supporto di altri linguaggi al notebook IPython. IPython continua a concentrarsi sul miglioramento della sua funzionalità di interprete avanzata. Fornisce inoltre il kernel principale al frontend del notebook Jupyter.