Grava purigado de la Python-norma biblioteko estas planita

Python Projektaj Programistoj eldonita propono (PEP 594) fari gravan purigadon de la norma biblioteko. Kaj klare malmodernaj kaj tre specialigitaj kapabloj kaj komponentoj kiuj havas arkitekturajn problemojn kaj ne povas esti unuigitaj por ĉiuj platformoj estas ofertitaj por forigo de la Python-norma biblioteko.

Ekzemple, estas proponite ekskludi el la norma biblioteko tiajn modulojn kiel kripto (malhavebleco por Vindozo kaj dependeco de la havebleco de haŝalgoritmoj sur sistembibliotekoj), cgi (ne optimuma arkitekturo, postulas lanĉi novan procezon por ĉiu peto), imp (rekomendite uzi importlib), pipes ( rekomendas uzi la subprocezan modulon), nis (rekomendas uzi NSS, LDAP aŭ Kerberos/GSSAPI), spwd (ne rekomendas labori rekte kun la konta datumbazo). La moduloj binhex, uu, xdrlib, ankaŭ estas markitaj por forigo.
aifc,
audioop,
peceto
imghdr,
ossaudiodev,
sndhdr,
sunau
asinkato,
malsinkoro,
cgitb,
smtpd
nntplib, macpath,
formatilo, msilib kaj analizilo.

La proponita plano estas malrekomendi la suprajn modulojn en Python 3.8, eligi averton en Python 3.8, kaj forigi ilin el la CPython-deponejoj en Python 3.10.
La analizanto-modulo estas planita esti forigita en versio 3.9, ĉar ĝi estis malrekomendita en la eldono de Python 2.5, kaj la macpath-modulo en la branĉo 3.8. Post esti forigita de la ĉefa kodo, la kodo estos movita al aparta legacylib-deponejo kaj ĝia sorto dependos de la intereso de komunumanoj. La branĉo Python 3.9 estas atendita esti subtenata ĝis 2026, kio provizos sufiĉan tempon por ke projektoj migris al eksteraj alternativoj.

Komence, la ftplib, optparse, getopt, colorsys, fileinput, lib2to3 kaj wave-moduloj ankaŭ estis proponitaj por forigo, sed estis decidite lasi ilin kiel parton de la norma biblioteko nuntempe, ĉar ili estas disvastigitaj kaj restas trafaj, malgraŭ la ĉeesto. de pli altnivelaj alternativoj aŭ ligoj al specifaj kapabloj de operaciumoj.

Memoru, ke la Python-projekto komence prenis aliron de "baterioj inkluzivitaj", ofertante riĉan aron da funkcioj en la norma biblioteko por diversaj aplikoj. Inter la avantaĝoj de ĉi tiu aliro estas la simpligo de konservado de Python-projektoj kaj monitorado de la sekureco de moduloj uzataj en projektoj. Vundeblecoj en moduloj ofte iĝas fonto de vundeblecoj en aplikoj kiuj uzas ilin. Se la funkcioj estas inkluzivitaj en la norma biblioteko, sufiĉas kontroli la staton de la ĉefa projekto. Disigante la norman bibliotekon, programistoj devas uzi triajn modulojn, la vundeblecoj en ĉiu el kiuj devas esti monitoritaj aparte. Kun alta grado de fragmentiĝo kaj granda nombro da dependecoj, estas minaco de atakoj pro kompromiso de la infrastrukturo de modulaj programistoj.

Aliflanke, ĉiu plia modulo en la norma biblioteko postulas rimedojn de la disvolva teamo de Python por konservi. La biblioteko amasigis grandan nombron da duobligaj kaj redundaj funkcioj, forigante kiuj povas redukti prizorgajn kostojn. Dum la katalogo evoluas PyPI kaj simpligante la procezon de instalado kaj elŝuto de pliaj pakaĵoj, la uzo de eksteraj moduloj nun fariĝis tiel ofta kiel enkonstruitaj funkcioj.

Pli kaj pli da programistoj uzas pli funkciajn eksterajn anstataŭaĵojn por normaj moduloj, ekzemple, uzante la lxml-modulon anstataŭ xml. Forigi forlasitajn modulojn de la norma biblioteko pliigos la popularecon de alternativoj aktive evoluigitaj de la komunumo. Krome, redukti la norman bibliotekon kondukos al redukto de la grandeco de la baza distribuo, kio estas grava kiam oni uzas Python sur enigitaj platformoj kun limigita stokado.

fonto: opennet.ru

Aldoni komenton