In grutte skjinmeitsjen fan 'e Python-standertbibleteek is pland

Python projektûntwikkelders publisearre foarstel (PEP 594) om in grutte skjinmeitsjen fan 'e standertbibleteek te dwaan. Sawol dúdlik ferâldere en heul spesjalisearre mooglikheden en komponinten dy't arsjitektoanyske problemen hawwe en net kinne wurde ferienige foar alle platfoarms wurde oanbean foar ferwidering fan 'e Python-standertbibleteek.

Bygelyks wurdt foarsteld om sokke modules út te sluten fan 'e standertbibleteek as krypt (net beskikber foar Windows en ôfhinklikens fan' e beskikberens fan hashingalgoritmen op systeembiblioteken), cgi (net optimale arsjitektuer, fereasket it starten fan in nij proses foar elke oanfraach), imp (oanrikkemandearre om importlib te brûken), pipes (it is oan te rieden om de subprosesmodule te brûken), nis (it is oan te rieden om NSS, LDAP of Kerberos / GSSAPI te brûken), spwd (it is net oan te rieden om direkt mei de akkountdatabase te wurkjen). De modules binhex, uu, xdrlib, binne ek markearre foar ferwidering.
aifc,
audioop,
brok
imghdr,
ossaudiodev,
sndhdr,
sunau
asynchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
formatter, msilib en parser.

It foarstelde plan is om de boppesteande modules yn Python 3.8 ôf te skriuwen, in warskôging út te jaan yn Python 3.8, en se te ferwiderjen fan 'e CPython-repositories yn Python 3.10.
De parsermodule is pland om te ferwiderjen yn ferzje 3.9, sa't it waard ôfkard yn 'e Python 2.5-útjefte, en de macpath-module yn' e 3.8-ôfdieling. Nei't se fuortsmiten binne fan 'e haadkoade, sil de koade wurde ferpleatst nei in apart legacylib repository en har lot sil ôfhingje fan it belang fan leden fan' e mienskip. De Python 3.9-tûke wurdt ferwachte dat se oant 2026 wurde stipe, wat genôch tiid sil leverje foar projekten om te migrearjen nei eksterne alternativen.

Yn earste ynstânsje waarden de modules ftplib, optparse, getopt, colorsys, fileinput, lib2to3 en wave ek foarsteld foar ferwidering, mar it waard besletten om se foarearst as ûnderdiel fan 'e standertbibleteek te litten, om't se wiidferspraat binne en relevant bliuwe, nettsjinsteande de oanwêzigens fan mear avansearre alternativen of bindingen oan spesifike mooglikheden fan bestjoeringssystemen.

Tink derom dat it Python-projekt yn earste ynstânsje in "batterijen ynbegrepen" oanpak naam, en biedt in rike set fan funksjes yn 'e standertbibleteek foar in ferskaat oan applikaasjes. Under de foardielen fan dizze oanpak is de ferienfâldiging fan it behâld fan Python-projekten en it kontrolearjen fan de feiligens fan modules dy't brûkt wurde yn projekten. Kwetsberheden yn modules wurde faak in boarne fan kwetsberens yn applikaasjes dy't se brûke. As de funksjes opnommen binne yn 'e standertbibleteek, is it genôch om de steat fan it haadprojekt te kontrolearjen. By it splitsen fan 'e standertbibleteek binne ûntwikkelders ferplichte modules fan tredden te brûken, wêrfan de kwetsberens yn elk apart moatte wurde kontrolearre. Mei in hege graad fan fragmintaasje en in grut oantal ôfhinklikens is d'r in bedriging fan oanfallen troch kompromittearjen fan de ynfrastruktuer fan module-ûntwikkelders.

Oan 'e oare kant fereasket elke ekstra module yn' e standertbibleteek boarnen fan it Python-ûntwikkelteam om te ûnderhâlden. De biblioteek hat sammele in grut oantal duplicate en oerstallige funksjes, elimineren dat kin ferminderjen ûnderhâld kosten. As de katalogus ûntwikkelet PyPI en it ferienfâldigjen fan it proses fan it ynstallearjen en downloaden fan ekstra pakketten, is it gebrûk fan eksterne modules no sa gewoan wurden as ynboude funksjes.

Hieltyd mear ûntwikkelders brûke mear funksjonele eksterne ferfangings foar standertmodules, bygelyks mei it lxml-module ynstee fan xml. It fuortsmiten fan ferlitten modules út de standert bibleteek sil tanimme de populariteit fan alternativen aktyf ûntwikkele troch de mienskip. Dêrnjonken sil it ferminderjen fan 'e standertbibleteek liede ta in fermindering fan' e grutte fan 'e basisferdieling, wat wichtich is by it brûken fan Python op ynbêde platfoarms mei beheinde opslachgrutte.

Boarne: opennet.ru

Add a comment