Det er planlagt en stor rensing av det standard Python-biblioteket.

Utviklerne av Python-prosjektet en video som demonstrerer den tidlige prototypen. foreslår (PEP 594) å gjennomføre en betydelig opprydning av standardbiblioteket. Både åpenbart utdaterte og spesialiserte funksjoner, samt komponenter med arkitektoniske problemer som ikke lar seg forene for alle plattformer, foreslås fjernet fra standardbiblioteket Python.

For eksempel foreslås det å ekskludere moduler som crypt (utilgjengelig for Windows og avhengighet av tilgjengeligheten av hashing-algoritmer fra systembibliotekene), cgi (ikke optimal arkitektur, krever oppstart av ny prosess for hver forespørsel), imp (anbefales å bruke importlib), pipes (anbefales å bruke subprocess-modulen), nis (anbefales å bruke NSS, LDAP eller Kerberos/GSSAPI), spwd (anbefales ikke å jobbe direkte med kontodatabase). Også moduler som binhex, uu, xdrlib,
aifc,
audioop,
chunk,
imghdr,
ossaudiodev,
sndhdr,
sunau,
asynchat,
asyncore,
cgitb,
smtpd,
nntplib, macpath,
formatter, msilib og parser.

I henhold til den foreslåtte planen vil de nevnte modulene bli merket som utdaterte i Python 3.8, og i Python 3.8 begynne å gi advarsler, mens de i Python 3.10 vil bli fjernet fra CPython-repositoriene.
Modulen parser planlegges fjernet i versjon 3.9, da den er merket som utdatert siden utgivelsen av Python 2.5, mens modulen macpath er planlagt fjernet i versjon 3.8. Etter fjerning fra hovedbiblioteket vil koden bli flyttet til et eget legacylib-repositorium, og dens skjebne vil avhenge av interessen fra fellesskapet. Det forventes at Python 3.9-grenen vil bli støttet frem til 2026, noe som gir tilstrekkelig tid til å overføre prosjekter til eksterne alternativer.

Opprinnelig ble det også foreslått å fjerne modulene ftplib, optparse, getopt, colorsys, fileinput, lib2to3 og wave, men de ble besluttet å forbli i standardbiblioteket for nå, da de er vidt utbredte og fortsatt relevante, til tross for at det finnes mer avanserte alternativer eller spesifikke funksjoner knyttet til operativsystemer.

Det er viktig å huske at Python-prosjektet opprinnelig bruker tilnærmingen "batterier inkludert", der et omfattende sett med funksjoner tilbys i standardbiblioteket for forskjellige bruksområder. Fordelene med en slik tilnærming inkluderer forenkling av prosjektvedlikehold på Python og overvåking av sikkerheten til moduler som brukes i prosjektene. Sårbarheter i moduler blir ofte en kilde til sårbarheter i applikasjoner som bruker dem. Hvis funksjonene er inkludert i standardbiblioteket, er det tilstrekkelig å overvåke tilstanden til hovedprosjektet. Når standardbiblioteket deles opp, må utviklere bruke tredjepartsmoduler, hvor sårbarheter i hver av dem må overvåkes separat. Med høy grad av fragmentering og et stort antall avhengigheter oppstår trusselen om angrep gjennom kompromittering av utviklingsinfrastrukturen.

På den annen side krever hver ekstra modul i standardbiblioteket ressurser fra Python-utviklerteamet for vedlikehold. Det har samlet seg et stort antall dupliserte og unødvendige funksjoner i biblioteket, og ved å utrede dem kan man redusere vedlikeholdskostnadene. Etter hvert som katalogen utvikler seg PyPI og prosessen med installasjon og lasting av ekstra pakker forenkles, har bruken av eksterne moduler blitt like vanlig som innebygde funksjoner.

Fler og fler utviklere bruker mer funksjonelle eksterne alternativer til standardmoduler, for eksempel bruker de lxml-modulen i stedet for xml. Fjerning av foreldede moduler fra standardbiblioteket vil bidra til å øke populariteten til aktivt utviklede alternativer fra fellesskapet. I tillegg vil reduksjon av standardbiblioteket føre til en redusert størrelse på basisleveransen, noe som er relevant når man bruker Python på innebygde plattformer med begrenset lagringsplass.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster