Python Paket Dizini

Python Paket Dizini, PyPI (/ˌppiˈ/) olarak kısaltılır ve Peynir Dükkanı olarak da bilinir (Monty Python's Flying Circus skecine bir gönderme "Cheese Shop"),[2]:8[3]:742 Python için resmi bir üçüncü taraf yazılım deposudur.[4] Perl için CPAN deposuna ve R için CRAN deposuna benzer. PyPI, bir hayır kurumu olan Python Software Foundation tarafından işletilmektedir. Bazı paket yöneticileri, pip dahil, PyPI'yi paketler ve bağımlılıkları için varsayılan kaynak olarak kullanır.[5][6]

PyPI
SahipPython Software Foundation
URLpypi.org
Site türüYazılım deposu
Kuruluş tarihi2003 (21 yıl önce) (2003)[1]
Kullanılabilir dil(ler)Çok dilli
Programlama diliÇeşitli
Geçerli durumAktif

17 Ocak 2022 itibarıyla 350.000'den fazla Python paketine PyPI üzerinden erişilebilmektedir.[7]

Mayıs 2023'te 450.000'den fazla Python paketi mevcuttur.

PyPI öncelikle Python paketlerini sdists adı verilen arşivler (kaynak dağıtımlar) veya önceden derlenmiş "wheels (tekerlekler?)" şeklinde barındırır.[8]

Bir dizin olarak PyPI, kullanıcıların paketleri anahtar kelimeler veya filtreler ile özgür yazılım lisansı veya POSIX ile uyumluluk gibi meta verilerine göre aramasına olanak tanır.[9] PyPI'daki tek bir giriş, sadece bir paket ve meta verilerinin yanı sıra, paketin önceki sürümlerini, ön derlenmiş tekerleklerini (örneğin Windows'ta DLL'ler içeren) ve farklı işletim sistemleri ve Python sürümleri için farklı biçimleri saklayabilir.

Tarihçe değiştir

Python Dağıtım Yardımcı Programları (distutils) Python modülü ilk olarak Eylül 2000'de 1.6.1 sürümünde ve Ekim 2000'de 2.0 sürümünde, Şubat 1991'deki ilk python sürümünden dokuz yıl sonra, üçüncü taraf Python paketleri yükleme sürecini basitleştirmek amacıyla Python standart kütüphanesine eklendi.[10][11]

Ancak, distutils sadece Python kod paketlemek için araçlar sağladı. Metadata'yı toplayabiliyor ve dağıtabiliyordu ancak başka amaçlar için kullanmıyordu.[12] Python hala internet üzerindeki paketler için merkezi bir katalogdan yoksundu. Dizinler için meta verileri standartlaştırma önerisi olan PEP 241, Mart 2001'de sonuçlandırıldı.[13] python.org etki alanında barındırılan kapsamlı bir merkezi katalog oluşturma önerisi daha sonra Kasım 2002'de sonuçlandırıldı.[4][12]

16 Nisan 2018 tarihinde, tüm PyPI trafiği daha modern bir web sitesi platformu tarafından sunulmaya başlandı: Warehouse. Eski web sitesi o ayın sonunda kapatıldı.[14][15] Mevcut tüm paketler, geçmişleri korunarak yeni platforma taşındı.[16]

15 Nisan 2023 itibarıyla 445.000'den fazla Python paketi mevcuttur.

Mayıs 2023'te Python Yazılım Vakfı, Amerika Birleşik Devletleri Adalet Bakanlığı'nın üç PyPI katılımcısının kullanıcı verilerini celp ettiğini bildirdi.[17][18] Kuruluşun bir temsilcisi ayrıca, katkıda bulunanlar için gizlilik beklediklerini, ancak aynı zamanda yasalara ve mahkeme kararlarına da uyduklarını ve bu nedenle hükümetin talep ettiği verileri teslim ettiklerini açıkladı.[17]

Kaynakça değiştir

  1. ^ "Packaging History". Python Packaging Authority — PyPA documentation. 29 Ekim 2021 tarihinde kaynağından arşivlendi. 
  2. ^ Lutz, Mark (2006). Programming Python. 10 (3 bas.). O'Reilly Media, Inc. ISBN 9780596009250. 
  3. ^ Ramalho, Luciano (2015). Fluent Python. O'Reilly Media, Inc. ISBN 9781491946268. 
  4. ^ a b Hylton, Jeremy (24 Eylül 2003). "Python Package Index Tutorial". Jeremy Hylton. 21 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Nisan 2012. 
  5. ^ "Usage". pip 1.1.post1 documentation. The pip developers. 2 Mayıs 2012 tarihinde kaynağından arşivlendi. 
  6. ^ "PyPI mirrors". Python Package Index. Python Software Foundation. 3 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Nisan 2012. 
  7. ^ "PyPI - the Python Package Index". Python Package Index. Python Software Foundation. 12 Ağustos 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Eylül 2021. 
  8. ^ "PEP 427 -- The Wheel Binary Package Format 1.0". Python Software Foundation. 15 Şubat 2013. 27 Eylül 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2017. 
  9. ^ "Browse : Python Package Index". Python Software Foundation. 11 Ekim 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ağustos 2016. 
  10. ^ "Python 1.6.1". Python Software Foundation. 15 Haziran 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Nisan 2012. 
  11. ^ "What's New in Python 2.0". Python Software Foundation. 30 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ağustos 2016. 
  12. ^ a b "PEP 301 -- Package Index and Metadata for Distutils". Python Software Foundation. 24 Ekim 2002. 15 Haziran 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Haziran 2012. 
  13. ^ "PEP 241 -- Metadata for Python Software Packages". Python Software Foundation. 19 Ekim 2001. 16 Eylül 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Ağustos 2016. 
  14. ^ "Welcome to Warehouse's documentation!". 27 Ağustos 2016 tarihinde kaynağından arşivlendi. 
  15. ^ "Python Insider: New PyPI launched, legacy PyPI shutting down April 30". Python Software Foundation. 16 Nisan 2018. 23 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2018. 
  16. ^ "A new package index for Python". LWN.net. 11 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2018. 
  17. ^ a b Durbin, Ee (24 Mayıs 2023). "PyPI was subpoenaed - The Python Package Index". blog.pypi.org (İngilizce). 24 Mayıs 2023 tarihinde kaynağından arşivlendi. 
  18. ^ Rudra, Sourav (25 Mayıs 2023). "The Python Software Foundation Complies with PyPI Subpoenas to Share Some User Data". It's FOSS News (İngilizce). 7 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Eylül 2023.