Python Project Developers
Օրինակ՝ առաջարկվում է ստանդարտ գրադարանից բացառել այնպիսի մոդուլներ, ինչպիսիք են crypt (Windows-ի համար անհասանելիություն և համակարգային գրադարաններից հեշավորման ալգորիթմների առկայությունից կախվածություն), cgi (ոչ օպտիմալ ճարտարապետություն, պահանջում է նոր գործընթաց սկսել յուրաքանչյուր հարցման համար), imp (խորհուրդ է տրվում օգտագործել importlib), խողովակներ (խորհուրդ է տրվում օգտագործել subprocess մոդուլը), nis (խորհուրդ է տրվում օգտագործել NSS, LDAP կամ Kerberos/GSSAPI), spwd (խորհուրդ չի տրվում ուղղակիորեն աշխատել հաշվի տվյալների բազայի հետ): Հեռացման համար նշված են նաև binhex, uu, xdrlib մոդուլները:
aifc,
աուդիոոպ,
կտոր
իմղդր,
Օսաուդիոդև,
սնդհդր,
սունաու
asynchat,
ասինկոր,
cgitb,
smtpd
nntplib, macpath,
ձևաչափիչ, msilib և վերլուծիչ:
Առաջարկվող պլանն այն է, որ վերը նշված մոդուլները չեղարկվեն Python 3.8-ում, նախազգուշացում թողարկվի Python 3.8-ում և հեռացնել դրանք Python 3.10-ի CPython պահեստներից:
Վերլուծող մոդուլը նախատեսվում է հեռացնել 3.9 տարբերակում, քանի որ այն հնացել էր Python 2.5 թողարկումում, իսկ macpath մոդուլը 3.8 ճյուղում։ Հիմնական ծածկագրից հեռացնելուց հետո կոդը կտեղափոխվի առանձին legacylib պահոց, և դրա ճակատագիրը կախված կլինի համայնքի անդամների շահերից: Ակնկալվում է, որ Python 3.9 մասնաճյուղը կաջակցվի մինչև 2026 թվականը, ինչը բավական ժամանակ կտա նախագծերին արտաքին այլընտրանքներ տեղափոխելու համար:
Սկզբում ftplib, optparse, getopt, colorys, fileinput, lib2to3 և wave մոդուլները նույնպես առաջարկվել են հեռացնելու համար, սակայն որոշվել է դրանք առայժմ թողնել որպես ստանդարտ գրադարանի մաս, քանի որ դրանք տարածված են և մնում են համապատասխան՝ չնայած առկայությանը։ ավելի առաջադեմ այլընտրանքների կամ օպերացիոն համակարգերի հատուկ հնարավորությունների հետ կապված կապեր:
Հիշեցնենք, որ Python նախագիծն ի սկզբանե կիրառեց «մարտկոցները ներառված» մոտեցումը, որն առաջարկում էր գործառույթների հարուստ շարք ստանդարտ գրադարանում տարբեր ծրագրերի համար: Այս մոտեցման առավելությունների թվում է Python նախագծերի պահպանման պարզեցումը և նախագծերում օգտագործվող մոդուլների անվտանգության մոնիտորինգը։ Մոդուլների խոցելիությունը հաճախ դառնում է խոցելիության աղբյուր այն հավելվածներում, որոնք օգտագործում են դրանք: Եթե գործառույթները ներառված են ստանդարտ գրադարանում, բավական է վերահսկել հիմնական նախագծի վիճակը: Ստանդարտ գրադարանը բաժանելիս մշակողները պարտավոր են օգտագործել երրորդ կողմի մոդուլներ, որոնցից յուրաքանչյուրի խոցելիությունը պետք է առանձին վերահսկվի: Բարձր աստիճանի մասնատվածությամբ և մեծ թվով կախվածություններով, կա հարձակումների վտանգ մոդուլի մշակողների ենթակառուցվածքը վտանգելու միջոցով:
Մյուս կողմից, ստանդարտ գրադարանի յուրաքանչյուր լրացուցիչ մոդուլ պահանջում է ռեսուրսներ Python-ի մշակման թիմից՝ պահպանման համար: Գրադարանը կուտակել է մեծ թվով կրկնօրինակող և ավելորդ գործառույթներ, որոնց վերացումը կարող է նվազեցնել պահպանման ծախսերը: Քանի որ կատալոգը զարգանում է
Ավելի ու ավելի շատ մշակողներ օգտագործում են ավելի ֆունկցիոնալ արտաքին փոխարինումներ ստանդարտ մոդուլների համար, օրինակ՝ xml-ի փոխարեն օգտագործելով lxml մոդուլը: Ստանդարտ գրադարանից լքված մոդուլների հեռացումը կբարձրացնի համայնքի կողմից ակտիվորեն մշակված այլընտրանքների ժողովրդականությունը: Բացի այդ, ստանդարտ գրադարանի կրճատումը կհանգեցնի բազային բաշխման չափի նվազմանը, ինչը կարևոր է Python-ն օգտագործելիս սահմանափակ պահեստային չափսերով ներկառուցված հարթակներում:
Source: opennet.ru