Është planifikuar një pastrim i madh i bibliotekës standarde Python

Zhvilluesit e projektit Python publikuan kanë paraqitur një propozim (PEP 594) për një pastrim të konsiderueshëm të bibliotekës standarde. Nga biblioteka standarde e Python propozohet të hiqen si mundësi të qarta të vjetruara dhe të specializuara, ashtu edhe komponentë që kanë probleme arkitekturore dhe të cilat nuk mund të unifikohen për të gjitha platformat.

Për shembull, nga biblioteka standarde propozohet të përjashtohen module si crypt (për shkak të mungesës në Windows dhe varësisë nga disponueshmëria e algoritmeve të hash-it nga bibliotekat sistemore), cgi (arkitekturë e papërshtatshme, kërkon fillimin e një procesi të ri për çdo kërkesë), imp (të përdoret importlib), pipes (të përdoret moduli subprocess), nis (të përdoret NSS, LDAP ose Kerberos/GSSAPI), spwd (nuk rekomandohet të punoni drejtpërdrejt me BD të llogarive). Për t'u fshirë gjithashtu janë shënuar modulet binhex, uu, xdrlib,
aifc,
audioop,
chunk,
imghdr,
ossaudiodev,
sndhdr,
sunau,
asynchat,
asyncore,
cgitb,
smtpd,
nntplib, macpath,
formatter, msilib dhe parser.

Sipas planit të propozuar, në Python 3.8 modulet e përmendura më sipër pritet të shënohen si të vjetruara, në Python 3.8 të fillohet të jepet një paralajmërim, dhe në Python 3.10 të hiqen nga repositories CPython.
Moduli parser pritet të hiqet në versionin 3.9, pasi ai ishte shënuar si i vjetruar që nga lëshimi i Python 2.5, dhe moduli macpath në degën 3.8. Pas fshirjes nga struktura kryesore, kodi do të transferohet në një repository të veçantë legacylib dhe fati i tij do të varet nga interesi i përfaqësuesve të komunitetit. Pritet që dega Python 3.9 të mbështetet deri në vitin 2026, duke ofruar kohë të mjaftueshme për të trasferuar projektet në alternativa të jashtme.

Fillimisht për t'u fshirë u propozuan gjithashtu modulet ftplib, optparse, getopt, colorsys, fileinput, lib2to3 dhe wave, por u vendos që për momentin të mbahen në përbërjen e bibliotekës standarde, pasi ato janë të përhapura gjerësisht dhe mbeten aktuale, pavarësisht pranisë së alternativave më të avancuara ose lidhjes me mundësi specifike të sistemeve operative.

Kujtojmë se fillimisht projekti Python përdor qasjen "bateritë përfshihen në paketë", ku në bibliotekën standarde ofrohet një gamë e gjerë funksionesh për fusha të ndryshme aplikimi. Ndër përfitimet e këtij qasjeje është thjeshtimi i mirëmbajtjes së projekteve në Python dhe ndjekjes së sigurisë së moduleve të përdorura në projekte. Do të dobësitë në modulet shpesh bëhen burim dobesish në aplikacionet që i përdorin ato. Në rast se funksionet janë pjesë e bibliotekës standarde, është mjaft të kontrollohet gjendja e projektit kryesor. Në rast se biblioteka standarde ndahet, zhvilluesit duhet të përdorin module të jashtme, dobesitë në secilin prej të cilëve është e nevojshme të kontrollohen veçmas. Me një shkallë të lartë ndarjeje dhe një numër të madh varësish, ekziston kërcënimi i sulmeve përmes kompromitimit të infrastrukturës së zhvilluesve të moduleve.

Nga ana tjetër, çdo modul shtesë në bibliotekën standarde kërkon burime nga ekipi i zhvilluesve Python për mirëmbajtje. Biblioteka ka akumuluar një numër të madh funksionesh të dyfishta dhe të tepërta, heqja e të cilave do të ulte kostot e mirëmbajtjes. Me zhvillimin e katalogut PyPI dhe thjeshtimin e procesit të instalimit dhe ngarkimit të pakove shtesë, përdorimi i moduleve të jashtme është bërë po aq i zakonshëm sa edhe funksionet e ndërtuara.

Një numër gjithnjë e më i madh i zhvilluesve po përdorin zëvendësime më funksionale për modulet standarde, për shembull, përdorin modul lxml në vend të xml. Heqja e moduleve të braktisura nga biblioteka standarde do të mundësonte rritjen e popullaritetit të alternativave që zhvillohen aktivisht nga komuniteti. Për më tepër, reduktimi i bibliotekës standarde do të çonte në një ulje të madhësisë së dërgesës bazë, e cila është e rëndësishme kur përdoret Python në platforma të integruara me hapësirë të kufizuar ruajtjeje.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster