Suurel puhkuseperioodil on kavas pÔhjalik puhastus Python standardraamatukogus

Python projekti arendajad avalikustasid tehnilise puhtuse tagamiseks esitatakse ettepanek (PEP 594) standardteegis. Eemaldamiseks standardteegist Pythonist pakutakse nagu selgelt vananenud ja kitsalt spetsialiseeritud funktsioone, nii ka komponente, millel esinevad arhitektuursed probleemid, mida ei suuda kĂ”igi platvormide jaoks ĂŒhtlustada.

NĂ€iteks soovitatakse standardteegist eemaldada sellised moodulid nagu crypt (puuduv tugi Windowsi jaoks ja algoritmide sĂ”ltuvus sĂŒsteemiteekidest), cgi (alaarhitektuur, mis nĂ”uab iga pĂ€ringu jaoks uue protsessi kĂ€ivitamist), imp (soovitatakse kasutada importlib), pipes (soovitatakse kasutada subprocessi moodulit), nis (soovitatakse kasutada NSS-i, LDAP-i vĂ”i Kerberos/GSSAPI-d), spwd (ei soovitata otse töötada kasutajakontode andmebaasiga). Eemaldamiseks on samuti ette nĂ€htud moodulid binhex, uu, xdrlib,
aifc,
audioop,
chunk,
imghdr,
ossaudiodev,
sndhdr,
sunau,
asynchat,
asyncore,
cgitb,
smtpd,
nntplib, macpath,
formatter, msilib ja parser.

Ettepaneku kohaselt plaanitakse Python 3.8-s mÀrgata eespool nimetatud mooduleid vananenud, alates Python 3.8-st hakatakse andma hoiatusteateid ning Python 3.10-s eemaldatakse need CPythoni repolt.
Parseri moodul plaanitakse eemaldada versioonis 3.9, kuna see on vananenud mÀrgitud juba Python 2.5 vÀljaandmisel, ja macpath on 3.8 harus. Eemaldamise korral pÔhikoostisest viidatakse kood eraldi repole legacylib ja selle saatus sÔltub kogukonna huvidest. Oodatakse, et Python 3.9 haru toetatakse kuni 2026. aastani, mis annab piisavalt aega projektide migreerimiseks vÀlistele alternatiividele.

Alguses olid eemaldamiseks ette nĂ€htud ka moodulid ftplib, optparse, getopt, colorsys, fileinput, lib2to3 ja wave, kuid otsustati need vĂ€hemalt praegu jĂ€tta standardteegi koosseisu, kuna need on laialdaselt levinud ja jÀÀvad asjakohaseks, vaatamata tĂ€iendavate tĂ€iustatud alternatiivide vĂ”i spetsiifiliste operatsioonisĂŒsteemide funktsionaalsuse olemasolule.

Tulet meelde, et algselt kasutatakse Pythonis lĂ€henemist, kus „akud tulevad komplektis“, mille kĂ€igus pakutakse standardraamatukogus ulatuslikku funktsioonide komplekti erinevate rakenduste jaoks. Selle lĂ€henemise eelisteks on projektide hooldamise lihtsustamine Pythonis ning kasutatavate moodulite turvalisuse jĂ€lgimine. Moodulite haavatavused on tihti rakenduste haavatavuste allikaks. Kui funktsioonid sisalduvad standardraamatukogus, piisab pĂ”hiprojekti oleku jĂ€lgimisest. Standardraamatukogu jagamisel peavad arendajad kasutama kolmandate osapoolte mooduleid, mille igasuguste haavatavuste kontrollimine toimub eraldi. Suure fragmentatsiooni ja sĂ”ltuvuste arvu korral tekib oht rĂŒnnakuteks, mis tulenevad moodulite arendajate infrastruktuuri kompromiteerimisest.

Teisest kĂŒljest nĂ”uab iga tĂ€iendav moodul standardraamatukogus Python arendajate meeskonnalt ressursse hooldamiseks. Raamatukogus on kogunenud suur hulk dubleeritud ja liigseid funktsioone, mille vĂ€listamine vĂ”ib vĂ€hendada hoolduskulusid. Katalooge arendades PyPI ja tĂ€iendavate pakettide installimise ja laadimise protsessi lihtsustamisega on vĂ€liste moodulite kasutamine tĂ€napĂ€eval muutunud sama tavaliseks nagu ka sisseehitatud funktsioonide kasutamine.

Üha rohkem arendajaid kasutab standardsete moodulite asemel funktsionaalseid vĂ€liseid asendusi, nĂ€iteks kasutatakse moodulit lxml asemel xml. MahajĂ€etud moodulite eemaldamine standardraamatukogust suurendab aktiivselt arendatavate kogukondade alternatiivide populaarsust. Lisaks toob standardraamatukogu vĂ€hendamine kaasa baaspaketi suuruse vĂ€henemise, mis on oluline Pythonit kasutades piiratud salvestusruumiga sisseehitatud platvormidel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster