Python liburutegi estandarraren garbiketa handi bat aurreikusi da

Python proiektuen garatzaileak argitaratuko proposamena (PEP 594) liburutegi estandarraren garbiketa handia egiteko. Arkitektura-arazoak dituzten eta plataforma guztietarako bateratu ezin diren gaitasun eta osagai argi zaharkituak eta oso espezializatuak eskaintzen dira Python liburutegi estandarretik kentzeko.

Adibidez, liburutegi estandarretik kanpo uztea proposatzen da, besteak beste, kripta (Windows-rako erabilgarritasuna eta sistema-liburutegietan hashing algoritmoen erabilgarritasunaren menpekotasuna), cgi (ez da arkitektura optimoa, eskaera bakoitzerako prozesu berri bat abian jartzea eskatzen du), imp (gomendatzen da importlib erabiltzea), pipes ( azpiprozesuaren modulua erabiltzea gomendatzen da), nis (NSS, LDAP edo Kerberos/GSSAPI erabiltzea gomendatzen da), spwd (ez da gomendatzen kontuaren datu-basearekin zuzenean lan egitea). Binhex, uu, xdrlib moduluak ere kentzeko markatuta daude.
aifc,
audioopzioa,
puska
imghdr,
ossaudiodev,
sndhdr,
sunau
asinkatua,
asinkorea,
cgitb,
smtpd
nntplib, macpath,
formateatzailea, msilib eta analizatzailea.

Proposatutako plana goiko moduluak Python 3.8-n zaharkitzea da, abisua ematea Python 3.8-n eta Python 3.10-ko CPython biltegietatik kentzea.
Analisi-modulua 3.9 bertsioan kentzea aurreikusten da, Python 2.5 bertsioan zaharkituta zegoenez, eta macpath modulua 3.8 adarrean. Kode nagusitik kendu ondoren, kodea legacylib biltegira eramango da eta bere patua komunitateko kideen interesen araberakoa izango da. Python 3.9 adarra 2026ra arte onartzen da, eta horrek denbora zabala emango die proiektuei kanpoko alternatibetara migratzeko.

Hasieran, ftplib, optparse, getopt, colorsys, fileinput, lib2to3 eta wave moduluak ere kentzeko proposatu ziren, baina oraingoz liburutegi estandarraren parte gisa uztea erabaki zen, oso hedatuta daudelako eta garrantzitsuak izaten jarraitzen dutelako, egon arren. sistema eragileen gaitasun zehatzekiko alternatiba edo lotura aurreratuagoak.

Gogoratu Python proiektuak hasieran "pilak barne" ikuspegia hartu zuela, liburutegi estandarrean funtzio multzo aberatsa eskainiz hainbat aplikaziotarako. Ikuspegi honen abantailen artean, Python proiektuak mantentzea eta proiektuetan erabiltzen diren moduluen segurtasuna kontrolatzea sinplifikatzea dago. Moduluetako ahultasunak sarritan ahultasun iturri bihurtzen dira haiek erabiltzen dituzten aplikazioetan. Funtzioak liburutegi estandarrean sartzen badira, nahikoa da proiektu nagusiaren egoera kontrolatzea. Liburutegi estandarra zatitzean, garatzaileek hirugarrenen moduluak erabili behar dituzte, eta horietako bakoitzaren ahultasunak banan-banan kontrolatu behar dira. Zatikatze-maila handiarekin eta mendekotasun-kopuru handiarekin, moduluen garatzaileen azpiegitura arriskuan jarrita erasoen mehatxua dago.

Bestalde, liburutegi estandarreko modulu gehigarri bakoitzak Python garapen-taldearen baliabideak behar ditu mantentzeko. Liburutegiak funtzio bikoiztu eta erredundante ugari pilatu ditu, mantentze-kostuak murriztu ditzaketenak ezabatuz. Katalogoa garatu ahala PyPI eta pakete gehigarriak instalatzeko eta deskargatzeko prozesua erraztuz, kanpoko moduluen erabilera integratutako funtzioak bezain ohikoa bihurtu da.

Gero eta garatzaile gehiagok erabiltzen dituzte kanpoko ordezkapen funtzionalagoak modulu estandarren, adibidez, xml-ren ordez lxml modulua erabiliz. Liburutegi estandarretik abandonatutako moduluak kentzeak komunitateak aktiboki garatutako alternatiben ospea areagotuko du. Horrez gain, liburutegi estandarra murrizteak oinarrizko banaketaren tamaina murriztea ekarriko du, eta hori garrantzitsua da Python biltegiratze tamaina mugatua duten plataforma txertatuetan erabiltzean.

Iturria: opennet.ru

Gehitu iruzkin berria