Una pulizia maiò di a biblioteca standard di Python hè prevista

Sviluppatori di Prughjetti Python publicatu pruposta (PEP 594) per fà una pulizia maiò di a biblioteca standard. E cumpunenti è cumpunenti chjaramente obsoleti è altamente specializati chì anu prublemi architetturali è ùn ponu esse unificati per tutte e plataforme sò offerti per a rimuzione da a biblioteca standard di Python.

Per esempiu, hè prupostu di escludiri da a biblioteca standard cum'è moduli cum'è cripta (indisponibilità per Windows è dipendenza di a dispunibilità di algoritmi di hashing nantu à e biblioteche di sistema), cgi (micca architettura ottima, esige lanciazione di un novu prucessu per ogni dumanda), imp (consigliatu d'utilizà importlib), pipes (si ricumandemu d'utilizà u modulu di sottoprocessu), nis (si ricumandemu d'utilizà NSS, LDAP o Kerberos/GSSAPI), spwd (ùn hè micca cunsigliatu per travaglià direttamente cù a basa di dati di u contu). I moduli binhex, uu, xdrlib, sò ancu marcati per a rimozione.
aifc,
audioop,
pezzu
imghdr,
ossaudiodev,
sndhdr,
sunau
asynchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
formatter, msilib è parser.

U pianu prupostu hè di deprecà i moduli sopra in Python 3.8, emette un avvisu in Python 3.8, è sguassate da i repositori CPython in Python 3.10.
U modulu parser hè previstu per esse sguassatu in a versione 3.9, cum'è era deprecated in a versione Python 2.5, è u modulu macpath in a branche 3.8. Dopu à esse sguassatu da u codice principale, u codice serà spustatu in un repository legacylib separatu è u so destinu dependerà di l'interessu di i membri di a cumunità. U ramu di Python 3.9 hè previstu di esse supportatu finu à u 2026, chì furnisce assai tempu per i prughjetti per migrà à alternative esterne.

Inizialmente, i moduli ftplib, optparse, getopt, colorsys, fileinput, lib2to3 è wave sò stati pruposti ancu per a rimuzione, ma hè statu decisu di lascià cum'è parte di a libreria standard per avà, postu chì sò diffusi è fermanu pertinenti, malgradu a prisenza. di alternative più avanzate o associazioni à capacità specifiche di i sistemi operativi.

Ricurdativi chì u prugettu Python hà inizialmente pigliatu un approcciu di "batterie incluse", chì offre un riccu inseme di funzioni in a biblioteca standard per una varietà di applicazioni. Trà i vantaghji di questu approcciu hè a simplificazione di mantene i prughjetti di Python è di monitorà a sicurità di i moduli utilizati in i prughjetti. Vulnerabilità in i moduli spessu diventanu una fonte di vulnerabilità in l'applicazioni chì l'utilizanu. Se e funzioni sò incluse in a biblioteca standard, hè abbastanza per cuntrullà u statu di u prughjettu principale. Quandu si sparte a biblioteca standard, i sviluppatori sò tenuti à utilizà moduli di terzu, e vulnerabili in ognuna di e quali deve esse monitoratu separatamente. Cù un altu gradu di frammentazione è un gran numaru di dependenzii, ci hè una minaccia di attacchi per compromessi l'infrastruttura di sviluppatori di moduli.

Per d 'altra banda, ogni modulu supplementu in a biblioteca standard richiede risorse da u squadra di sviluppu di Python per mantene. A biblioteca hà accumulatu un gran numaru di funzioni duplicate è redundante, eliminendu chì ponu riduce i costi di mantenimentu. Cume u catalogu si sviluppa PyPI è simplificà u prucessu di stallazione è scaricamentu di pacchetti supplementari, l'usu di moduli esterni hè diventatu cum'è cumunu cum'è funzioni integrate.

Sempre più sviluppatori utilizanu rimpiazzamenti esterni più funziunali per i moduli standard, per esempiu, utilizendu u modulu lxml invece di xml. L'eliminazione di i moduli abbandunati da a biblioteca standard aumenterà a popularità di l'alternative attivamente sviluppate da a cumunità. Inoltre, a riduzzione di a libreria standard porta à una riduzzione di a dimensione di a distribuzione di basa, chì hè impurtante quandu si usa Python nantu à e plataforme incrustate cù una dimensione di almacenamiento limitata.

Source: opennet.ru

Add a comment