Mikil hreinsun á Python staðlaða bókasafninu er fyrirhuguð

Python verkefnahönnuðir birt tillögu (PEP 594) um að gera meiriháttar hreinsun á staðlaða bókasafninu. Bæði greinilega gamaldags og mjög sérhæfð hæfileiki og íhlutir sem eiga við byggingarvanda að etja og ekki er hægt að sameina fyrir alla vettvanga er boðið upp á til að fjarlægja úr Python staðlaða bókasafninu.

Til dæmis er lagt til að útiloka frá venjulegu bókasafni slíkar einingar eins og dulmál (ótiltækt fyrir Windows og háð framboði á kjötkássa reikniritum á kerfissöfnum), cgi (ekki ákjósanlegur arkitektúr, krefst þess að ræst sé nýtt ferli fyrir hverja beiðni), imp. (mælt er með að nota importlib), pipes (mælt er með að nota undirferliseininguna), nis (mælt er með að nota NSS, LDAP eða Kerberos/GSSAPI), spwd (ekki er mælt með því að vinna beint með reikningsgagnagrunninum). Einingarnar binhex, uu, xdrlib, eru einnig merktar til að fjarlægja.
aifc,
hljóðop,
klumpur
imghdr,
ossaudiodev,
sndhdr,
sunau
ósamstilltur,
ósamstilltur,
cgitb,
smtpd
nntplib, macpath,
formatter, msilib og parser.

Fyrirhuguð áætlun er að afnema ofangreindar einingar í Python 3.8, gefa út viðvörun í Python 3.8 og fjarlægja þær úr CPython geymslunum í Python 3.10.
Áætlað er að þáttaeiningin verði fjarlægð í útgáfu 3.9, þar sem hún var úrelt í Python 2.5 útgáfunni, og macpath einingin í 3.8 greininni. Eftir að hafa verið fjarlægður úr aðalkóðanum verður kóðinn færður í sérstaka legacylib geymslu og örlög hans munu ráðast af áhuga samfélagsmeðlima. Gert er ráð fyrir að Python 3.9 útibúið verði stutt til ársins 2026, sem mun gefa nægan tíma fyrir verkefni til að flytjast yfir í ytri valkosti.

Upphaflega var einnig lagt til að ftplib, optparse, getopt, colorsys, fileinput, lib2to3 og wave einingarnar yrðu fjarlægðar, en ákveðið var að skilja þær eftir sem hluta af staðlaða bókasafninu í bili, þar sem þær eru útbreiddar og halda áfram að eiga við, þrátt fyrir tilvist af fullkomnari valkostum eða bindingum við sérstakar getu stýrikerfa.

Mundu að Python verkefnið tók upphaflega „rafhlöður innifalið“ nálgun og bauð upp á mikið safn af aðgerðum í venjulegu bókasafni fyrir margs konar forrit. Meðal kosta þessarar aðferðar er einföldun á viðhaldi Python verkefna og eftirlit með öryggi eininga sem notaðar eru í verkefnum. Veikleikar í einingum verða oft uppspretta veikleika í forritum sem nota þær. Ef aðgerðirnar eru innifaldar í staðlaða bókasafninu er nóg að fylgjast með stöðu aðalverkefnisins. Þegar stöðluðu bókasafninu er skipt upp þurfa verktaki að nota einingar frá þriðja aðila, fylgjast þarf með veikleikum hvers og eins sérstaklega. Með mikilli sundrungu og miklum fjölda ósjálfstæðis er hætta á árásum með því að skerða innviði hönnuða einingar.

Aftur á móti krefst hver viðbótareining í staðlaða bókasafninu fjármagn frá Python þróunarteymi til að viðhalda. Bókasafnið hefur safnað upp miklum fjölda fjölföldunar og óþarfa aðgerða, sem útilokar það sem getur dregið úr viðhaldskostnaði. Eins og vörulistinn þróast PyPI og einfalda ferlið við að setja upp og hlaða niður viðbótarpakka, notkun ytri eininga er nú orðin jafn algeng og innbyggðar aðgerðir.

Fleiri og fleiri forritarar nota hagnýtari ytri skipti fyrir staðlaðar einingar, til dæmis með því að nota lxml eininguna í stað xml. Að fjarlægja yfirgefnar einingar úr staðlaða bókasafninu mun auka vinsældir valkosta sem eru virkir þróaðir af samfélaginu. Að auki mun fækkun staðlaða bókasafnsins leiða til minnkunar á stærð grunndreifingarinnar, sem er mikilvægt þegar Python er notað á innbyggðum kerfum með takmarkaða geymslustærð.

Heimild: opennet.ru

Bæta við athugasemd