Zhvilluesit e projektit Python propozimi (PEP 594) për një pastrim të konsiderueshëm të bibliotekës standarde. Disa funksionalitete konsiderohen të vjetra dhe shumë të specializuara, për t'u përjashtuar nga biblioteka standarde Python, si dhe komponente që kanë probleme arkitektonike dhe nuk mund të unifikohen për të gjitha platformat.
Për shembull, nga biblioteka standarde propozohet përjashtimi i moduleve si crypt (mungesa për Windows dhe varësia e disponueshmërisë së algoritmeve të hash-it nga bibliotekat sistemike), cgi (arkitekturë e paoptimalizuar, kërkon ekzekutimin e një procesi të ri për çdo kërkesë), imp (e rekomanduar për përdorimin e importlib), pipes (e rekomanduar për përdorimin e modulit subprocess), nis (e rekomanduar për përdorimin e NSS, LDAP ose Kerberos/GSSAPI), spwd (nuk rekomandohet të punoni drejtpërdrejt me bazën e të dhënave të llogarive). Po ashtu, për t'u fshirë janë ndihmuar modulët 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 modulët e përmendur më sipër planifikohen të shenjohet si të vjetruar, në Python 3.8 do të fillojnë të japin paralajmërime dhe në Python 3.10 do të fshihen nga depozitoret e CPython.
Moduli parser planifikohet të fshihet në versionin 3.9, pasi është shenjuar si i vjetruar që nga lëshimi i Python 2.5, ndërsa moduli macpath në degën 3.8. Pas fshirjes nga përbërja kryesore, kodi do të transferohet në një depo të veçantë legacylib dhe fate e tij do të varet nga interesa e përfaqësuesve të komunitetit. Pritet që dega Python 3.9 do të mbetet në mbështetje deri në vitin 2026, çka do të ofrojë mjaft kohë për të migruar projektet në alternativa të jashtme.
Fillimisht për fshirje u propozuan gjithashtu modulët ftplib, optparse, getopt, colorsys, fileinput, lib2to3 dhe wave, por ata u vendos që të qëndrojnë në bibliotekën standarde, pasi janë të përhapura gjerësisht dhe mbeten aktuale, pavarësisht se janë të pranishëm alternativa më të përparuara ose janë të lidhura me funksionalitete specifike të sistemeve operative.
KujtojmĂ« se nĂ« fillim projekti Python zbatuan qasjen "bateritĂ« pĂ«rfshihen", ku nĂ« bibliotekĂ«n standarde ofrohet njĂ« grup i gjerĂ« funksionesh pĂ«r fusha tĂ« ndryshme aplikimi. NjĂ« nga avantazhet e kĂ«saj qasje Ă«shtĂ« thjeshtĂ«simi i mbĂ«shtetjes sĂ« projekteve nĂ« Python dhe monitorimi i sigurisĂ« sĂ« moduleve tĂ« pĂ«rdorura nĂ« projekte. Ăarjet nĂ« modula shpesh bĂ«hen burim problematikash nĂ« aplikacionet qĂ« i pĂ«rdorin ato. NĂ«se funksionet pĂ«rfshihen nĂ« bibliotekĂ«n standarde, mjafton tĂ« kontrollohet gjendja e projektit kryesor. Kur biblioteka standarde ndahet, zhvilluesit duhet tĂ« pĂ«rdorin module tĂ« jashtme, çarjet nĂ« secilĂ«n prej tĂ« cilave duhet tĂ« monitorohen veçmas. Me njĂ« shkallĂ« tĂ« lartĂ« fragmentimi dhe njĂ« numĂ«r tĂ« madh varĂ«sish, rreziku i sulmeve pĂ«rmes kompromentimit tĂ« infrastrukturĂ«s sĂ« zhvilluesve tĂ« moduleve rritet.
Në anën tjetër, çdo modul shtesë në bibliotekën standarde kërkon burime nga ekipi i zhvilluesve të Python për përmirësim. Në bibliotekë është akumuluar një numër i madh funksionesh të përsëritura dhe të tepërta, duke i përjashtuar ata, është e mundur të reduktohen kostot e mbështetjes. Me kalimin e kohës, katalogu dhe thjeshtimi i procesit të instalimit dhe shkarkimit të paketave të tjera, përdorimi i moduleve të jashtme është bërë po aq i zakonshëm sa funksionet e integruara.
Më shumë zhvillues po përdorin zëvendës të jashtëm më funksionalë për modulet standarde, për shembull, përdorin modul lxml në vend të xml. Fshirja e moduleve të braktisura nga biblioteka standarde do të rrisë popullaritetin e alternativave që aktivisht zhvillohen nga komuniteti. Për më tepër, reduktimi i bibliotekës standarde do të çojë në uljen e madhësisë së paketës bazë, çka është e rëndësishme për përdorimin e Python në platforma të ngulitura me hapësirë të kufizuar ruajtjeje.
Burimi: opennet.ru
