En stor rensning av Python-standardbiblioteket Àr planerad

Utvecklarna av Python-projektet har publicerat har föreslagit (PEP 594) att genomföra en betydande rensning av standardbiblioteket. BÄde uppenbart förÄldrade och smala funktioner samt komponenter med arkitektoniska problem som inte kan enas för alla plattformar föreslÄs tas bort frÄn Python-standardbiblioteket.

Till exempel föreslÄs det att moduler som crypt (inte tillgÀnglig för Windows och beroende av tillgÄng till hash-algoritmer i systembiblioteken), cgi (inte optimal arkitektur, krÀver att en ny process startas för varje begÀran), imp (det rekommenderas att anvÀnda importlib), pipes (det rekommenderas att anvÀnda subprocess-modulen), nis (det rekommenderas att anvÀnda NSS, LDAP eller Kerberos/GSSAPI), spwd (det rekommenderas inte att arbeta direkt med anvÀndardatabasen) tas bort frÄn standardbiblioteket. Moduler som binhex, uu, xdrlib,
aifc,
audioop,
chunk,
imghdr,
ossaudiodev,
sndhdr,
sunau,
asynchat,
asyncore,
cgitb,
smtpd,
nntplib, macpath,
formatter, msilib och parser.

I enlighet med den föreslagna planen kommer dessa moduler i Python 3.8 att markeras som förÄldrade, i Python 3.8 kommer en varning att börja visas, och i Python 3.10 kommer de att tas bort frÄn CPython-repositorierna.
Parser-modulen planeras att tas bort i version 3.9, dÄ den mÀrktes som förÄldrad redan i Python 2.5-utgÄvan, medan macpath i version 3.8. Efter att ha tagits bort frÄn huvudkoden kommer koden att flyttas till ett separat repository legacylib och dess öde kommer att bero pÄ intresset frÄn communityn. Det förvÀntas att Python 3.9-grenen kommer att stödjas fram till 2026, vilket ger tillrÀckligt med tid för att migrera projekt till externa alternativ.

Ursprungligen föreslogs ocksÄ modulerna ftplib, optparse, getopt, colorsys, fileinput, lib2to3 och wave för borttagning, men det beslutades att hÄlla dem kvar i standardbiblioteket, eftersom de Àr allmÀnt spridda och förblir relevanta, trots att det finns mer avancerade alternativ eller kopplingar till specifika funktioner i operativsystem.

Det bör pÄminnas om att Python-projektet frÄn början tillÀmpar en "batterier ingÄr"-metod, dÀr ett omfattande utbud av funktioner för olika anvÀndningsomrÄden erbjuds i standardbiblioteket. Fördelarna med denna metod inkluderar förenkling av underhÄllet av Python-projekt och sÀkerhetsövervakning av moduler som anvÀnds i projekten. SÄrbarheter i moduler blir ofta kÀllor till sÄrbarheter i de applikationer som anvÀnder dem. Om funktionerna ingÄr i standardbiblioteket behövs det bara kontrollera tillstÄndet för huvudprojektet. Vid uppdelning av standardbiblioteket mÄste utvecklarna anvÀnda tredjepartsmoduler, vars sÄrbarheter mÄste övervakas separat. Vid hög granulÀritet och ett stort antal beroenden uppstÄr risken för attacker genom kompromettering av infrastruktur för modulutvecklare.

Å andra sidan krĂ€ver varje ytterligare modul i standardbiblioteket resurser frĂ„n Python-utvecklarteamet för underhĂ„ll. Biblioteket har samlat ett stort antal duplicerade och onödiga funktioner, vars borttagning kan sĂ€nka kostnaderna för underhĂ„ll. I takt med utvecklingen av katalogen PyPI och förenklingen av processen för installation och hĂ€mtning av ytterligare paket, har anvĂ€ndningen av externa moduler blivit lika vanligt som inbyggda funktioner.

Allt fler utvecklare anvÀnder mer funktionella externa alternativ till standardmoduler, till exempel anvÀnder de modulen lxml istÀllet för xml. Borttagningen av övergivna moduler frÄn standardbiblioteket kommer att öka populariteten av alternativ som aktivt utvecklas av gemenskapen. Dessutom kommer en minskning av standardbiblioteket att leda till en minskning av storleken pÄ den grundlÀggande leveransen, vilket Àr relevant vid anvÀndning av Python pÄ inbÀddade plattformar med begrÀnsat lagringsutrymme.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster