A cleanup utama perpustakaan standar Python rencanana

Pamekar Proyék Python diterbitkeun proposal (PEP 594) pikeun ngalakukeun cleanup utama perpustakaan baku. Duanana jelas luntur sarta pohara husus kamampuhan sareng komponenana nu gaduh masalah arsitéktur sarta teu bisa ngahiji pikeun sakabéh platform ditawarkeun pikeun nyoplokkeun tina perpustakaan standar Python.

Contona, diusulkeun ngaluarkeun tina perpustakaan standar modul kayaning crypt (unavailability pikeun Windows jeung gumantungna kasadiaan algoritma hashing on perpustakaan sistem), cgi (henteu optimal arsitektur, merlukeun launching prosés anyar pikeun tiap pamundut), imp. (Disarankeun make importlib), pipa (disarankeun make modul subprocess), nis (disarankeun make NSS, LDAP atanapi Kerberos / GSSAPI), spwd (teu dianjurkeun pikeun gawé langsung jeung database akun). Modul binhex, uu, xdrlib, ogé ditandaan pikeun dihapus.
aifc,
audioop,
sapotong
imghdr,
ossaudiodev,
sdhdr,
sunau
asynchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
formatter, msilib jeung parser.

Rencana anu diusulkeun nyaéta pikeun ngaleungitkeun modul di luhur dina Python 3.8, ngaluarkeun peringatan dina Python 3.8, sareng ngahapus aranjeunna tina repositori CPython dina Python 3.10.
modul parser ieu rencanana dihapus dina versi 3.9, sakumaha ieu deprecated dina Python 2.5 release, sarta modul macpath dina cabang 3.8. Saatos dikaluarkeun tina kodeu utama, kodeu bakal dipindahkeun ka gudang legacylib anu misah sareng nasibna bakal gumantung kana kapentingan anggota komunitas. Cabang Python 3.9 diperkirakeun dirojong dugi ka 2026, anu bakal nyayogikeun waktos anu cukup pikeun proyék-proyék migrasi ka alternatif éksternal.

Mimitina, modul ftplib, optparse, getopt, colorys, fileinput, lib2to3 sareng gelombang ogé diusulkeun pikeun dihapus, tapi diputuskeun pikeun ngantunkeunana salaku bagian tina perpustakaan standar pikeun ayeuna, sabab nyebar sareng tetep relevan, sanaos ayana. tina alternatif anu langkung maju atanapi beungkeutan kana kamampuan khusus sistem operasi.

Ngelingan yén proyék Python mimitina nyandak pendekatan "accu kaasup", nawarkeun hiji set euyeub fungsi dina perpustakaan baku pikeun rupa-rupa aplikasi. Diantara kaunggulan tina pendekatan ieu nyederhanakeun ngajaga proyék Python sareng ngawaskeun kaamanan modul anu dianggo dina proyék. Kerentanan dina modul sering janten sumber kerentanan dina aplikasi anu ngagunakeunana. Upami fungsina kalebet dina perpustakaan standar, éta cekap pikeun ngontrol kaayaan proyék utama. Nalika ngabagi perpustakaan standar, pamekar diwajibkeun nganggo modul pihak katilu, anu kerentanan dina masing-masing kedah diawaskeun nyalira. Kalayan tingkat fragméntasi anu luhur sareng sajumlah ageung katergantungan, aya ancaman serangan ngaliwatan kompromi infrastruktur pamekar modul.

Di sisi séjén, unggal modul tambahan dina perpustakaan baku merlukeun sumberdaya ti tim ngembangkeun Python pikeun ngajaga. Perpustakaan geus akumulasi angka nu gede ngarupakeun duplicating sarta fungsi kaleuleuwihan, ngaleungitkeun nu bisa ngurangan biaya pangropéa. Salaku katalog ngembang PyPI sareng nyederhanakeun prosés masang sareng ngaunduh bungkusan tambahan, pamakean modul éksternal ayeuna janten biasa sapertos fungsi anu diwangun.

Beuki loba pamekar ngagunakeun ngagantian éksternal leuwih fungsional pikeun modul baku, contona, ngagunakeun modul lxml tinimbang xml. Ngahapus modul anu ditinggalkeun tina perpustakaan standar bakal ningkatkeun popularitas alternatif anu aktip dikembangkeun ku masarakat. Sajaba ti éta, ngurangan perpustakaan baku bakal ngakibatkeun hiji réduksi dina ukuran sebaran basa, nu penting lamun ngagunakeun Python on platform embedded kalawan ukuran gudang kawates.

sumber: opennet.ru

Tambahkeun komentar