IPython

IPython

IPython Logo.png
IPython-6.x-screenshot-osx.png
Shell IPython con finestra di stampa matplotlib
Dati di base

sviluppatore Fernando Perez
Anno di pubblicazione 2001
Versione attuale  7.26.0
( 1 agosto 2021 )
sistema operativo multipiattaforma
linguaggio di programmazione Python , JavaScript , C
Licenza Licenza BSD a 3 clausole
di lingua tedesca
ipython.org

IPython è un interprete della riga di comando per lavorare in modo interattivo con il linguaggio di programmazione Python . Non è una semplice estensione della shell incorporata in Python (vedi uso interattivo di Python), ma una suite software per lo sviluppo e l'esecuzione di programmi Python. Funzioni come l' introspezione , il completamento della riga di comando , l' incorporamento di rich media e vari frontend (terminali, basati su Qt o basati su browser ) consentono di sviluppare applicazioni Python con un livello di praticità noto da software come Matlab o Mathematica . IPython può anche essere visto come un ambiente di sviluppo integrato . In effetti, IPython è un framework client-server che può essere utilizzato per calcoli ad alte prestazioni da computer paralleli .

origine

IPython è stato sviluppato nel 2001 da Fernando Pérez, proviene dal dominio dell'informatica scientifica , poiché conosceva un notebook di Mathematica e gli mancava in Python, ha iniziato a programmarne uno per Python.

L'integrazione di Matplotlib nella superficie del notebook lo rende un concorrente open source per il diffuso software numerico Matlab , motivo per cui la combinazione di IPython con Matplotlib viene spesso definita Pylab .

Architettura e taccuino

Image
L'architettura di IPython

Una caratteristica speciale di IPython è l'installazione della coda messaggi ØMQ (vedi Message Oriented Middleware ). L'architettura di IPython separa chiaramente il backend come unità di elaborazione , come l'interprete Python, dal frontend come livello di visualizzazione . Questa separazione consente a IPython di essere utilizzato ampiamente universalmente per diversi backend (spesso chiamati anche kernel ) e frontend. Con l'aiuto del server Web Python basato su eventi Tornado e WebSockets , un'interfaccia Web rappresenta un possibile front-end, che consente di utilizzare IPython in modo flessibile nel Web moderno ( Web 2.0 ).

IPython è orientato ai documenti . Un documento IPython è indicato come un taccuino , come è consueto in campo scientifico . Un notebook è un file JSON che contiene un elenco ordinato di celle di input e output che possono visualizzare codice, testo normale , output LaTeX , grafici e vari formati multimediali. In questo modo, un notebook IPython differisce fondamentalmente da un semplice script Python, che (di solito) contiene solo codice.

A partire dalla versione 4.0, il progetto è stato suddiviso nel suo insieme e ulteriormente modularizzato. D'ora in poi, IPython non è più venduto come un unico pacchetto monolitico, ma è ora limitato ai componenti principali collegati a Python. Tutti i moduli indipendenti dalla lingua (come il notebook, la Qtconsole e la coda dei messaggi), d'altra parte, sono stati affidati a un nuovo progetto chiamato Jupyter e possono quindi essere utilizzati e aggiornati indipendentemente da IPython in futuro.

link internet

Evidenze individuali

  1. cronologia delle versioni di ipython . (consultato il 12 agosto 2021).
  2. Il progetto open source ipython su Open Hub: pagina delle lingue . In: Open Hub . (consultato il 19 luglio 2018).
  3. ipython.org . (consultato il 20 luglio 2017).
  4. Fernando Perez: Il taccuino IPython: una retrospettiva storica. Estratto il 28 novembre 2019 .
  5. ↑ La versione IPython 4 completa la modularizzazione del progetto , rapporto su heise.de del 12 agosto 2015; Estratto il 20 agosto 2015.