IPython - IPython
|
IPython -skal
| |
| Ursprungliga författare | Fernando Perez |
|---|---|
| Utvecklare | Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier |
| Initial release | 2001 |
| Stabil frisättning | |
| Förvar | |
| Skrivet i | Python , JavaScript , CSS , HTML |
| Operativ system | Plattformsoberoende |
| Typ | Skal |
| Licens | BSD |
| Hemsida |
ipython |
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
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
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.