Hija ppjanata tindifa kbira tal-librerija standard Python

Żviluppaturi tal-Proġetti Python ippubblikat proposta (PEP 594) biex isir tindif kbir tal-librerija standard. Kemm kapaċitajiet u komponenti li huma skaduti b'mod ċar kif ukoll speċjalizzati ħafna li għandhom problemi arkitettoniċi u li ma jistgħux jiġu unifikati għall-pjattaformi kollha huma offruti għat-tneħħija mil-librerija standard Python.

Pereżempju, huwa propost li jiġu esklużi mil-librerija standard moduli bħal kripta (indisponibbiltà għall-Windows u dipendenza tad-disponibbiltà ta' algoritmi ta' hashing fuq libreriji tas-sistema), cgi (mhux arkitettura ottimali, teħtieġ it-tnedija ta' proċess ġdid għal kull talba), imp (Rakkomandat li tuża importlib), pajpijiet (huwa rakkomandat li tuża l-modulu subprocess), nis (huwa rakkomandat li tuża NSS, LDAP jew Kerberos/GSSAPI), spwd (mhux rakkomandat li taħdem direttament mad-database tal-kont). Il-moduli binhex, uu, xdrlib, huma wkoll immarkati għat-tneħħija.
aifc,
audioop,
biċċa
imghdr,
ossaudiodev,
sndhdr,
sunau
asynchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
formatter, msilib u parser.

Il-pjan propost huwa li jitneħħew il-moduli ta 'hawn fuq f'Python 3.8, toħroġ twissija f'Python 3.8, u tneħħihom mir-repożitorji CPython f'Python 3.10.
Il-modulu parser huwa ppjanat li jitneħħa fil-verżjoni 3.9, peress li kien deprecated fir-rilaxx Python 2.5, u l-modulu macpath fil-fergħa 3.8. Wara li jitneħħa mill-kodiċi prinċipali, il-kodiċi se jiġi mċaqlaq għal repożitorju separat tal-legacylib u d-destin tiegħu jiddependi fuq l-interess tal-membri tal-komunità. Il-fergħa Python 3.9 hija mistennija li tkun appoġġata sal-2026, li se tipprovdi biżżejjed żmien għall-proġetti biex jemigraw lejn alternattivi esterni.

Inizjalment, il-moduli ftplib, optparse, getopt, colorsys, fileinput, lib2to3 u wave ġew proposti wkoll għat-tneħħija, iżda ġie deċiż li jitħallew bħala parti mil-librerija standard għalissa, peress li huma mifruxa u jibqgħu rilevanti, minkejja l-preżenza ta' alternattivi aktar avvanzati jew rbit għal kapaċitajiet speċifiċi ta' sistemi operattivi.

Ifakkar li l-proġett Python inizjalment ħa approċċ ta '"batteriji inklużi", li joffri sett għani ta' funzjonijiet fil-librerija standard għal varjetà ta 'applikazzjonijiet. Fost il-vantaġġi ta 'dan l-approċċ hemm is-simplifikazzjoni taż-żamma ta' proġetti Python u l-monitoraġġ tas-sigurtà tal-moduli użati fil-proġetti. Vulnerabbiltajiet fil-moduli ħafna drabi jsiru sors ta 'vulnerabbiltajiet fl-applikazzjonijiet li jużawhom. Jekk il-funzjonijiet huma inklużi fil-librerija standard, huwa biżżejjed li tikkontrolla l-istat tal-proġett prinċipali. Meta tinqasam il-librerija standard, l-iżviluppaturi huma meħtieġa jużaw moduli ta 'partijiet terzi, li l-vulnerabbiltajiet f'kull waħda minnhom għandhom jiġu mmonitorjati separatament. Bi grad għoli ta 'frammentazzjoni u numru kbir ta' dipendenzi, hemm theddida ta 'attakki billi tiġi kompromessa l-infrastruttura tal-iżviluppaturi tal-moduli.

Min-naħa l-oħra, kull modulu addizzjonali fil-librerija standard jeħtieġ riżorsi mit-tim ta 'żvilupp Python biex jinżamm. Il-librerija akkumulat numru kbir ta ' duplikazzjoni u funzjonijiet żejda, li jeliminaw li jistgħu jnaqqsu l-ispejjeż tal-manutenzjoni. Hekk kif il-katalgu jiżviluppa PyPI u jissimplifika l-proċess ta 'installazzjoni u tniżżil ta' pakketti addizzjonali, l-użu ta 'moduli esterni issa sar komuni daqs funzjonijiet integrati.

Aktar u aktar żviluppaturi qed jużaw sostituzzjonijiet esterni aktar funzjonali għal moduli standard, pereżempju, jużaw il-modulu lxml minflok xml. It-tneħħija ta 'moduli abbandunati mil-librerija standard se żżid il-popolarità ta' alternattivi żviluppati b'mod attiv mill-komunità. Barra minn hekk, it-tnaqqis tal-librerija standard se jwassal għal tnaqqis fid-daqs tad-distribuzzjoni bażi, li huwa importanti meta tuża Python fuq pjattaformi inkorporati b'daqs limitat ta 'ħażna.

Sors: opennet.ru

Żid kumment