Yo planifye yon gwo netwayaj nan bibliyotèk estanda Python

Devlopè pwojè Python pibliye pwopozisyon (PEP 594) pou fè yon gwo netwayaj nan bibliyotèk estanda a. Tou de kapasite klèman demode ak trè espesyalize ak konpozan ki gen pwoblèm achitekti epi ki pa ka inifye pou tout platfòm yo ofri pou retire nan bibliyotèk la estanda Python.

Pou egzanp, li pwopoze yo eskli nan bibliyotèk la estanda modil tankou kripte (indisponibilite pou Windows ak depandans nan disponiblite a nan algoritm hashing sou bibliyotèk sistèm), cgi (pa achitekti optimal, mande pou lanse yon nouvo pwosesis pou chak demann), imp (rekòmande pou itilize importlib), tiyo (li rekòmande pou itilize modil sou-pwosesis la), nis (li rekòmande pou itilize NSS, LDAP oswa Kerberos/GSSAPI), spwd (li pa rekòmande pou travay dirèkteman ak baz done kont la). Modil binhex, uu, xdrlib yo make tou pou retire.
aifc,
odyoop,
moso
imghdr,
ossaudiodev,
sndhdr,
sunau
asenchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
fòmatè, msilib ak analizeur.

Plan yo pwopoze a se depreche modil ki anwo yo nan Python 3.8, bay yon avètisman nan Python 3.8, epi retire yo nan depo CPython yo nan Python 3.10.
Modil parser la te planifye pou retire nan vèsyon 3.9, jan li te obsolète nan lage Python 2.5, ak modil macpath nan branch 3.8 la. Apre yo fin retire kòd prensipal la, y ap deplase kòd la nan yon depo legacylib apa epi sò li pral depann de enterè manm kominote a. Yo prevwa ke branch Python 3.9 la ap sipòte jiska 2026, sa ki pral bay ase tan pou pwojè yo imigre nan altènativ ekstèn.

Okòmansman, yo te pwopoze tou pou retire modil ftplib, optparse, getopt, colorsys, fileinput, lib2to3 ak vag, men li te deside kite yo kòm yon pati nan bibliyotèk estanda pou kounye a, paske yo gaye toupatou epi yo rete enpòtan, malgre prezans. nan altènativ ki pi avanse oswa obligatwa nan kapasite espesifik nan sistèm opere.

Sonje byen, pwojè Python okòmansman te pran yon apwòch "pil enkli", ki ofri yon seri fonksyon rich nan bibliyotèk estanda a pou yon varyete aplikasyon. Pami avantaj ki genyen nan apwòch sa a se senplifikasyon nan kenbe pwojè Python ak kontwole sekirite a nan modil yo itilize nan pwojè yo. Vilnerabilite nan modil yo souvan vin yon sous frajilite nan aplikasyon ki sèvi ak yo. Si fonksyon yo enkli nan bibliyotèk la estanda, li se ase kontwole eta a nan pwojè prensipal la. Lè divize bibliyotèk estanda a, devlopè yo oblije sèvi ak modil twazyèm pati, frajilite yo nan chak nan yo dwe kontwole separeman. Avèk yon wo degre de fwagmantasyon ak yon gwo kantite depandans, gen yon menas atak nan konpwomèt enfrastrikti devlopè modil yo.

Nan lòt men an, chak modil adisyonèl nan bibliyotèk estanda a mande resous nan ekip devlopman Python pou kenbe. Bibliyotèk la akimile yon gwo kantite kopi ak fonksyon redondants, elimine ki ka diminye depans antretyen yo. Kòm katalòg la devlope P&PI ak senplifye pwosesis la nan enstale ak telechaje pakè adisyonèl, itilize nan modil ekstèn kounye a vin komen kòm fonksyon entegre.

Plis ak plis devlopè ap itilize ranplasman ekstèn ki pi fonksyonèl pou modil estanda, pou egzanp, lè l sèvi avèk modil lxml olye pou yo xml. Retire modil abandone yo nan bibliyotèk estanda a pral ogmante popilarite altènativ yo devlope aktivman pa kominote a. Anplis de sa, diminye bibliyotèk estanda a pral mennen nan yon rediksyon nan gwosè distribisyon baz la, ki enpòtan lè w ap itilize Python sou platfòm entegre ak gwosè depo limite.

Sous: opennet.ru

Add nouvo kòmantè