IPython - IPython

IPython
IPython Logo.png
IPython-6.x-screenshot-osx.png
IPython Shell
Autori originali Fernando Perez
Dezvoltatori Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier
Eliberarea inițială 2001 ; acum 20 de ani ( 2001 )
Versiune stabila
7.26.0  Editați acest lucru pe Wikidata / 1 august 2021 ; 2 luni în urmă ( 1 august 2021 )
Repertoriu
Scris in Python , JavaScript , CSS , HTML
Sistem de operare Cross-platform
Tip Coajă
Licență BSD
Site-ul web ipython .org Editați acest lucru pe Wikidata

IPython (Interactive Python) este un shell de comandă pentru calcul interactiv în mai multe limbaje de programare, dezvoltat inițial pentru limbajul de programare Python , care oferă introspecție , conținut media îmbogățit , sintaxă shell, completarea tab-urilor și istoric. IPython oferă următoarele caracteristici:

  • Cochilii interactive (terminale și bazate pe Qt ).
  • O interfață de notebook bazată pe browser cu suport pentru cod, text, expresii matematice, comploturi în linie și alte suporturi media.
  • Suport pentru vizualizarea interactivă a datelor și utilizarea seturilor de instrumente GUI.
  • Interpreți flexibili, încorporabili pentru încărcare în propriile proiecte.
  • Instrumente pentru calcul paralel .

Calcul paralel

Image
Vedere arhitecturală a mașinilor paralele ale IPython

IPython se bazează pe o arhitectură care oferă calcul paralel și distribuit. IPython permite ca aplicațiile paralele să fie dezvoltate, executate, depanate și monitorizate interactiv, de unde I (Interactiv) în IPython. Această arhitectură abstractizează paralelismul, permițând IPython să susțină mai multe stiluri diferite de paralelism, inclusiv:

Odată cu lansarea IPython 4.0, capabilitățile de calcul paralel au fost făcute opționale și lansate sub pachetul ipyparallel python. Și majoritatea capabilităților ipyparallel sunt acum acoperite de biblioteci mai mature, cum ar fi Dask .

IPython extrage frecvent din bibliotecile de stive SciPy precum NumPy și SciPy , instalate adesea alături de una dintre numeroasele distribuții Scientific Python. IPython oferă integrarea cu unele biblioteci ale stivei SciPy , în special matplotlib , producând grafice în linie atunci când sunt utilizate cu notebook-ul Jupyter. Bibliotecile Python pot implementa cârlige specifice IPython pentru a personaliza afișarea obiectelor bogate. SymPy, de exemplu, implementează redarea expresiilor matematice așa cum este redată LaTeX atunci când este utilizată în contextul IPython, iar cadrul de date Pandas utilizează o reprezentare HTML.

Alte caracteristici

IPython permite interacțiunea fără blocare cu Tkinter , PyGTK , PyQt / PySide și wxPython (shell-ul standard Python permite doar interacțiunea cu Tkinter). IPython poate gestiona interactiv clustere de calcul paralele utilizând apeluri de apel de stare asincrone și / sau MPI . IPython poate fi, de asemenea, utilizat ca înlocuitor al sistemului shell. Comportamentul său implicit este în mare măsură similar cu shell-urile Unix , dar permite personalizarea și flexibilitatea executării codului într-un mediu Python live.

Sfârșitul suportului Python 2

Seria IPython 5.x (Long Time Support) este ultima versiune a IPython care acceptă Python 2. Proiectul IPython s-a angajat să nu sprijine Python 2 după 2020, fiind unul dintre primele proiecte care s-au alăturat declarației Python 3 , 6.x seria este compatibilă numai cu Python 3 și versiunile ulterioare. Este totuși posibil să rulați un kernel IPython și un server Notebook Jupyter pe diferite versiuni Python permițând utilizatorilor să acceseze în continuare Python 2 pe versiunea mai nouă a Jupyter.

Proiectul Jupyter

Image
Interfață veche IPython Notebook

În 2014, Fernando Pérez a anunțat un proiect spin-off de la IPython numit Project Jupyter . IPython a continuat să existe ca un shell Python și un nucleu pentru Jupyter, dar interfața notebook-ului și alte părți lingvistice ale IPython au fost mutate sub numele Jupyter. Jupyter este limba agnostic și numele său este o referire la limbajele de programare de bază susținute de Jupyter, care sunt Julia , Python , și R .

Jupyter Notebook (anterior IPython Notebooks) este un mediu de calcul interactiv bazat pe web pentru crearea, executarea și vizualizarea notebook-urilor Jupyter. Este similar cu interfața notebook-ului altor programe, cum ar fi Maple , Mathematica și SageMath , un stil de interfață de calcul care a apărut cu Mathematica în anii 1980. Acceptă medii de execuție (aka nuclee) în zeci de limbi. În mod implicit, Jupyter Notebook este livrat împreună cu nucleul IPython, dar există mai mult de 100 de nuclee Jupyter începând din mai 2018.

În media

IPython a fost menționat în presa informatică populară și în alte mass-media populare și are o prezență la conferințe științifice. Pentru lucrări științifice și inginerești, este adesea prezentat ca un instrument însoțitor pentru matplotlib .

Subvenții și premii

Începând cu 1 ianuarie 2013, Fundația Alfred P. Sloan a anunțat că va sprijini dezvoltarea IPython timp de doi ani.

La 23 martie 2013, Fernando Perez a fost distins cu premiul Free Software Foundation Advancement of Free Software pentru IPython.

În august 2013, Microsoft a făcut o donație de 100.000 de dolari pentru a sponsoriza dezvoltarea continuă a IPython.

În ianuarie 2014, a câștigat Jolt Productivity Award de la Dr. Dobb's la categoria instrumente de codare. În iulie 2015, proiectul a câștigat o finanțare de 6 milioane de dolari de la Fundația Gordon și Betty Moore, Fundația Alfred P. Sloan și Leona M. și Harry B. Helmsley Charitable Trust.

În mai 2018, a primit premiul ACM Software System Award 2017. Este cea mai mare echipă care a câștigat premiul.

Vezi si

Referințe

linkuri externe