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.