IPython - IPython

IPython
IPython Logo.png
IPython-6.x-skärmdump-osx.png
IPython -skal
Ursprungliga författare Fernando Perez
Utvecklare Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier
Initial release 2001 ; 20 år sedan ( 2001 )
Stabil frisättning
7.26.0  Redigera detta på Wikidata / 1 augusti 2021 ; 2 månader sedan ( 1 augusti 2021 )
Förvar
Skrivet i Python , JavaScript , CSS , HTML
Operativ system Plattformsoberoende
Typ Skal
Licens BSD
Hemsida ipython .org Redigera detta på Wikidata

IPython (Interactive Python) är ett kommandoskal för interaktiv datoranvändning i flera programmeringsspråk, som ursprungligen utvecklats för Python -programmeringsspråket , som erbjuder introspektion , rich media , skalsyntax, flikavslutning och historik. IPython har följande funktioner:

  • Interaktiva skal (terminal och Qt -baserade).
  • Ett webbläsarbaserat notebook-gränssnitt med stöd för kod, text, matematiska uttryck, inline-plots och andra medier.
  • Stöd för interaktiv datavisualisering och användning av GUI -verktygssatser.
  • Flexibla, inbäddbara tolkar att ladda in i sina egna projekt.
  • Verktyg för parallell beräkning .

Parallell databehandling

Image
Arkitektonisk vy över IPythons parallella maskiner

IPython är baserat på en arkitektur som tillhandahåller parallell och distribuerad databehandling. IPython gör att parallella applikationer kan utvecklas, köras, felsökas och övervakas interaktivt, därav I (Interactive) i IPython. Denna arkitektur abstraherar parallellitet, vilket gör att IPython kan stödja många olika stilar av parallellism inklusive:

  • Enstaka program, multipel data ( SPMD ) parallellitet
  • Flera program, multipla data ( MPMD ) parallellitet
  • Meddelandeöverföring med MPI
  • Uppgiftsparallellism
  • Dataparallellism
  • Kombinationer av dessa tillvägagångssätt
  • Anpassade användardefinierade tillvägagångssätt

Med lanseringen av IPython 4.0 gjordes parallella beräkningsfunktioner valfria och släpptes under ipyparallel python -paketet. Och de flesta funktioner i ipyparallel täcks nu av mer mogna bibliotek som Dask .

IPython hämtar ofta från SciPy -stackbibliotek som NumPy och SciPy , ofta installerade tillsammans med en av många Scientific Python -distributioner. IPython tillhandahåller integration med vissa bibliotek i SciPy -stacken, särskilt matplotlib , som producerar inline -grafer när de används med Jupyter -notebook. Python -bibliotek kan implementera IPython -specifika krokar för att anpassa visning av rikt objekt. SymPy implementerar till exempel återgivning av matematiska uttryck som renderade LaTeX när det används i IPython -sammanhang, och Pandas datafram använder en HTML -representation.

Andra funktioner

IPython tillåter icke-blockerande interaktion med Tkinter , PyGTK , PyQt / PySide och wxPython (standard Python-skal tillåter endast interaktion med Tkinter). IPython kan interaktivt hantera parallella datorkluster med hjälp av asynkrona statusåteruppringningar och/eller MPI . IPython kan också användas som ett systemskalbyte. Dess standardbeteende liknar i stort sett Unix -skal , men det tillåter anpassning och flexibilitet för att köra kod i en levande Python -miljö.

Stöd för Python 2 slut

IPython 5.x (Long Time Support) -serien är den sista versionen av IPython som stöder Python 2. IPython -projektet lovade att inte stödja Python 2 efter 2020 genom att vara ett av de första projekten som gick med i Python 3 -uttalandet , 6.x serien är endast kompatibel med Python 3 och senare. Det är dock fortfarande möjligt att köra en IPython -kärna och en Jupyter Notebook -server på olika Python -versioner så att användare fortfarande kan komma åt Python 2 på en nyare version av Jupyter.

Projekt Jupyter

Image
Gamla IPython Notebook -gränssnitt

2014 tillkännagav Fernando Pérez ett spin-off-projekt från IPython som heter Project Jupyter . IPython fortsatte att existera som ett Python-skal och en kärna för Jupyter, men notebook- gränssnittet och andra språk-agnostiska delar av IPython flyttades under Jupyter-namnet. Jupyter är språket agnostic och dess namn är en referens till kärn programmeringsspråk som stöds av Jupyter, som är Julia , Python , och R .

Jupyter Notebook (tidigare IPython Notebooks) är en webbaserad interaktiv beräkningsmiljö för att skapa, köra och visualisera Jupyter notebooks. Det liknar notebook -gränssnittet för andra program som Maple , Mathematica och SageMath , en beräkningsmässig gränssnittsstil som har sitt ursprung i Mathematica på 1980 -talet. Den stöder exekveringsmiljöer (aka kärnor) på dussintals språk. Som standard levereras Jupyter Notebook med IPython -kärnan, men det finns över 100 Jupyter -kärnor från och med maj 2018.

I media

IPython har nämnts i den populära datorpressen och andra populära medier, och det har närvaro vid vetenskapliga konferenser. För vetenskapligt och ingenjörsarbete presenteras det ofta som ett kompletterande verktyg för matplotlib .

Bidrag och utmärkelser

Från och med 1 januari 2013 meddelade Alfred P. Sloan Foundation att den kommer att stödja IPython -utveckling i två år.

Den 23 mars 2013 tilldelades Fernando Perez utmärkelsen Free Software Foundation Advancement of Free Software för IPython.

I augusti 2013 donerade Microsoft 100 000 dollar för att sponsra IPythons fortsatta utveckling.

I januari 2014 vann den Jolt Productivity Award från Dr. Dobb's i kategorin kodningsverktyg. I juli 2015 vann projektet en finansiering på 6 miljoner dollar från Gordon och Betty Moore Foundation, Alfred P. Sloan Foundation och Leona M. och Harry B. Helmsley Charitable Trust.

I maj 2018 tilldelades det ACM Software System Award 2017. Det är det största laget som har vunnit priset.

Se även

Referenser

externa länkar