IPython - IPython

IPython
IPython Logo.png
Mac OS'de IPython 6.x'in ekran görüntüsü, numpy kullanarak fourrier dönüşümünün hesaplanmasını gösterir.
IPython Kabuğu
Orijinal yazar (lar)Fernando Perez[1]
Geliştirici (ler)Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier
İlk sürüm2001; 19 yıl önce (2001)[1]
Kararlı sürüm
7.19.0 / 31 Ekim 2020; 26 gün önce (2020-10-31)[2]
Depo Bunu Vikiveri'de düzenleyin
YazılmışPython, JavaScript, CSS, HTML
İşletim sistemiÇapraz platform
TürKabuk
LisansBSD
İnternet sitesiipython.org Bunu Vikiveri'de düzenleyin

IPython (Etkileşimli Python) bir komut kabuğu çoklu programlama dillerinde etkileşimli bilgi işlem için, başlangıçta Python programlama dili bu teklifler iç gözlem, zengin medya kabuk sözdizimi sekme tamamlama ve tarih. IPython aşağıdaki özellikleri sağlar:

  • Etkileşimli mermiler (terminal ve Qt tabanlı).
  • Tarayıcı tabanlı dizüstü bilgisayar arayüzü kod, metin, matematiksel ifadeler, satır içi grafikler ve diğer ortam desteği ile.
  • Etkileşimli veri görselleştirme ve GUI araç setlerinin kullanımı için destek.
  • Kendi projelerine yüklenebilecek esnek, yerleştirilebilir tercümanlar.
  • Araçlar paralel hesaplama.

Paralel hesaplama

IPython'un paralel makinelerinin Mimari Görünümü

IPython, paralel ve dağıtılmış bilgi işlem sağlayan bir mimariye dayanmaktadır. IPython, paralel uygulamaların etkileşimli olarak geliştirilmesine, yürütülmesine, hata ayıklanmasına ve izlenmesine, dolayısıyla IPython'da I (Etkileşimli) yapılmasına olanak tanır.[3] Bu mimari paralelliği özetler ve IPython'un birçok farklı paralellik stilini desteklemesini sağlar.[4] dahil olmak üzere:

IPython 4.0'ın piyasaya sürülmesiyle, paralel hesaplama yetenekleri isteğe bağlı hale getirildi ve ipyparallel python paketi. Ve ipyparallel'in yeteneklerinin çoğu artık daha olgun kitaplıklar tarafından kapsanmaktadır. Dask.

IPython sık sık SciPy yığınından yararlanır[5] gibi kütüphaneler Dizi ve SciPy, genellikle birçok Scientific Python dağıtımından biriyle birlikte kurulur.[5] IPython, bazı kitaplıklarla entegrasyon sağlar. SciPy özellikle yığın matplotlib, Jupyter dizüstü bilgisayar ile kullanıldığında satır içi grafikler üretir. Python kitaplıkları, zengin nesne görüntüsünü özelleştirmek için IPython'a özgü kancalar uygulayabilir. SymPy örneğin, matematiksel ifadelerin işlendiği gibi oluşturulmasını uygular Lateks IPython bağlamında kullanıldığında ve Pandalar dataframe bir HTML temsili kullanır.[6]

Diğer özellikler

IPython, ile engellemesiz etkileşime izin verir Tkinter, PyGTK, PyQt /PySide ve wxPython (standart Python kabuğu yalnızca Tkinter ile etkileşime izin verir). IPython etkileşimli olarak paralel yönetebilir bilgi işlem kümeleri Eşzamansız durum geri aramalarını kullanma ve / veya MPI. IPython ayrıca bir sistem kabuğu değişimi olarak da kullanılabilir.[7] Varsayılan davranışı büyük ölçüde şuna benzer: Unix kabukları, ancak özelleştirme ve canlı bir Python ortamında kod çalıştırma esnekliğine izin verir. IPython'u kabuk değişimi olarak kullanmak daha az yaygındır ve artık IPython özelliğinin çoğunu daha iyi kabuk entegrasyonları ile sağlayan Xonsh kullanılması önerilir.

Python 2 desteğinin sonu

IPython 5.x (Uzun Süreli Destek) serisi, Python 2'yi destekleyen IPython'un son sürümüdür. IPython projesi 2020'nin ötesinde Python 2'yi desteklemeyeceğini taahhüt etti[8] katılan ilk projelerden biri olarak Python 3 İfadesi 6.x serisi yalnızca Python 3 ve üstü ile uyumludur. Yine de bir IPython çekirdeği ve farklı Python sürümlerinde bir Jupyter Notebook sunucusu çalıştırmak, kullanıcıların Jupyter'in daha yeni sürümünde Python 2'ye erişmeye devam etmelerine izin vermek mümkün.

Jupyter Projesi

Eski IPython Notebook arayüzü

2014 yılında Fernando Pérez IPython'dan bir yan proje duyurdu Jupyter Projesi.[9] IPython, Jupyter için bir Python kabuğu ve çekirdeği olarak var olmaya devam etti, ancak not defteri arabirimi ve IPython'un dilden bağımsız diğer bölümleri Jupyter adı altına taşındı.[10][11] Jupyter, dilden bağımsızdır ve adı, Jupyter tarafından desteklenen temel programlama dillerine bir referanstır. Julia, Python, ve R.[12]

Jüpiter Not defteri (eski adıyla IPython Notebooks) bir web tabanlı etkileşimli Jupyter not defterlerini oluşturmak, yürütmek ve görselleştirmek için hesaplama ortamı. Diğer programların dizüstü bilgisayar arayüzüne benzer. Akçaağaç, Mathematica, ve SageMath, 1980'lerde Mathematica ile ortaya çıkan hesaplamalı bir arayüz stili.[13] Düzinelerce dilde yürütme ortamlarını (çekirdek olarak da bilinir) destekler. Varsayılan olarak Jupyter Notebook, IPython çekirdeği ile birlikte gelir, ancak Mayıs 2018 itibarıyla 100'den fazla Jupyter çekirdeği bulunmaktadır.

Medyada

IPython, popüler bilgi işlem basınında ve diğer popüler medyada bahsedilmiştir,[14][13] ve bilimsel konferanslarda varlığı var.[15] Bilimsel ve mühendislik çalışmaları için, genellikle aşağıdakilere eşlik eden bir araç olarak sunulur matplotlib.[16]

Hibeler ve ödüller

1 Ocak 2013 tarihinden itibaren Alfred P. Sloan Vakfı IPython geliştirmeyi iki yıl destekleyeceğini duyurdu.[17]

23 Mart 2013 tarihinde, Fernando Perez Özgür Yazılım Vakfı ödülüne layık görüldü Özgür Yazılımın İlerlemesi Ödülü IPython için.

Ağustos 2013'te, Microsoft IPython'un devam eden gelişimine sponsor olmak için 100.000 $ bağış yaptı.[18]

Ocak 2014'te, Jolt Verimlilik Ödülü[19] itibaren Dr. Dobb's kodlama araçları kategorisinde. Temmuz 2015'te proje, Gordon ve Betty Moore Vakfı, Alfred P. Sloan Vakfı ve Leona M. ve Harry B. Helmsley Charitable Trust'tan 6 milyon dolarlık bir fon kazandı.[20]

Mayıs 2018'de 2017 ACM Yazılım Sistemi Ödülü'ne layık görüldü.[21] Ödülü kazanan en büyük takımdır.[22]

Ayrıca bakınız

Referanslar

  1. ^ a b "IPython dizüstü bilgisayar: geçmişe dönük bir geriye dönük". Fernando Perez Blog. 8 Ocak 2012.
  2. ^ "ipython sürüm geçmişi". Python Paket Dizini. Alındı 5 Kasım 2020.
  3. ^ Helen, Shen (2014). "Etkileşimli not defterleri: Kodu paylaşma". Doğa. 515 (7525): 151–152. doi:10.1038 / 515151a. PMID  25373681.
  4. ^ "Paralel bilgi işlem için IPython'u kullanma - IPython dokümanları".
  5. ^ a b "SciPy Stack".
  6. ^ "Yazdırma - SymPy 1.1 belgeleri". docs.sympy.org. Alındı 11 Nisan 2018.
  7. ^ McKinney Wes (2012). "Bölüm 3". Veri Analizi için Python. ISBN  978-1-449-31979-3.
  8. ^ "IPython 5.0 Sürümü - Jupyter Blog". Jupyter Blogu. 8 Temmuz 2016. Alındı 11 Nisan 2018.
  9. ^ "Jupyter Projesi // Konuşmacı Seti".
  10. ^ "Notebook, Qt konsolu ve diğer bazı parçalar artık Jupyter'in parçaları".
  11. ^ "Big Split ™".
  12. ^ https://github.com/jupyter/design/wiki/Jupyter-Logo
  13. ^ a b Somers, James. "Bilimsel Kağıt Eski". Atlantik Okyanusu. Alındı 10 Nisan 2018.
  14. ^ Koziol, Conrad (12 Eylül 2005). "IPython'a Giriş". NewsForge.
  15. ^ "IPython Sunumları".
  16. ^ Pérez, Fernando; Granger, Brian E. (2007). "IPython: Etkileşimli Bilimsel Hesaplama İçin Bir Sistem" (PDF). Bilim ve Mühendislikte Hesaplama. 9 (3): 21–29. doi:10.1109 / MCSE.2007.53. Arşivlenen orijinal (PDF) 2 Haziran 2010'da. Alındı 30 Temmuz 2015.
  17. ^ "Kısa posta listesindeki duyuru".
  18. ^ "IPython Duyurusu".
  19. ^ "Dr. Dobb's Jolt Verimlilik Ödülü".
  20. ^ "UC Berkeley ve Cal Poly'ye, bilimsel bilgi işlem ve veri bilimi için açık kaynaklı yazılımı genişletmek ve geliştirmek için 6 milyon dolar". Alındı 13 Ağustos 2015.
  21. ^ "Güncel Yazılım Sistemi Ödülü Haberleri".
  22. ^ "Jupyter, ACM Yazılım Sistemi Ödülünü aldı".

Dış bağlantılar