Тозакунии асосии китобхонаи стандартии Python ба нақша гирифта шудааст

Таҳиягарони лоиҳаи Python нашр кардааст пешниҳод (PEP 594) барои тоза кардани китобхонаи стандартӣ. Ҳам қобилиятҳо ва ҷузъҳои баръало кӯҳнашуда ва хеле махсусгардонидашуда, ки мушкилоти меъморӣ доранд ва барои ҳама платформаҳо муттаҳид карда намешаванд, барои хориҷ кардан аз китобхонаи стандартии Python пешниҳод карда мешаванд.

Масалан, пешниҳод карда мешавад, ки аз китобхонаи стандартӣ чунин модулҳо хориҷ карда шаванд, ба монанди крипт (дастрасӣ дар Windows ва вобастагии мавҷудияти алгоритмҳои хэш аз китобхонаҳои система), cgi (меъмории оптималӣ нест, барои ҳар як дархост оғоз кардани раванди навро талаб мекунад), imp. (истифодаи importlib тавсия дода мешавад), қубурҳо (истифодаи модули зерпроцесс тавсия дода мешавад), nis (истифодаи NSS, LDAP ё Kerberos/GSSAPI тавсия дода мешавад), spwd (кор кардан бо пойгоҳи додаҳои ҳисоб тавсия дода намешавад). Модулҳои binhex, uu, xdrlib низ барои нест кардан ишора шудаанд.
aifc,
аудиооп,
пора
imghdr,
оссаудиодев,
sndhdr,
суна
асинчат,
асинкор,
cgitb,
smtpd
nntplib, macpath,
форматкунанда, msilib ва таҳлилгар.

Нақшаи пешниҳодшуда аз бекор кардани модулҳои дар боло зикршуда дар Python 3.8, додани огоҳӣ дар Python 3.8 ва хориҷ кардани онҳо аз анбори CPython дар Python 3.10 мебошад.
Ба нақша гирифта шудааст, ки модули таҳлилгар дар версияи 3.9 хориҷ карда шавад, зеро он дар нашри Python 2.5 ва модули macpath дар филиали 3.8 бекор карда шудааст. Пас аз хориҷ шудан аз коди асосӣ, код ба анбори алоҳидаи legacylib интиқол дода мешавад ва сарнавишти он аз манфиати аъзоёни ҷомеа вобаста хоҳад буд. Интизор меравад, ки филиали Python 3.9 то соли 2026 дастгирӣ карда шавад, ки барои интиқоли лоиҳаҳо ба алтернативаҳои беруна вақти кофӣ фароҳам меорад.

Дар аввал модулҳои ftplib, optparse, getopt, colorys, fileinput, lib2to3 ва мавҷ низ барои ҳазф пешниҳод шуда буданд, аммо тасмим гирифта шуд, ки онҳо дар ҳоли ҳозир ҳамчун як ҷузъи китобхонаи стандартӣ гузошта шаванд, зеро онҳо сарфи назар аз мавҷудияти васеъ паҳн шудаанд ва мувофиқ боқӣ мемонанд. алтернативаҳои пешрафта ё пайвастшавӣ ба қобилиятҳои мушаххаси системаҳои оператсионӣ.

Ёдовар мешавем, ки лоиҳаи Python дар аввал равиши “батареяҳоро дар бар мегирад” ва маҷмӯи ғании функсияҳоро дар китобхонаи стандартӣ барои барномаҳои гуногун пешниҳод мекард. Дар байни бартариҳои ин равиш соддагардонии нигоҳдории лоиҳаҳои Python ва мониторинги амнияти модулҳои дар лоиҳаҳо истифодашаванда мебошад. Осебпазирӣ дар модулҳо аксар вақт манбаи осебпазирии барномаҳое мешаванд, ки онҳоро истифода мебаранд. Агар функсияҳо ба китобхонаи стандартӣ дохил карда шаванд, барои назорат кардани ҳолати лоиҳаи асосӣ кофӣ аст. Ҳангоми тақсим кардани китобхонаи стандартӣ, таҳиягарон талаб мекунанд, ки модулҳои тарафи сеюмро истифода баранд, ки осебпазирии ҳар яки онҳо бояд алоҳида назорат карда шаванд. Бо дараҷаи баланди тақсимшавӣ ва шумораи зиёди вобастагӣ, хатари ҳамлаҳо тавассути вайрон кардани инфрасохтори таҳиягарони модул вуҷуд дорад.

Аз тарафи дигар, ҳар як модули иловагӣ дар китобхонаи стандартӣ барои нигоҳдорӣ аз дастаи таҳияи Python захираҳоро талаб мекунад. Дар китобхона шумораи зиёди функсияҳои такрорӣ ва зиёдатӣ ҷамъ оварда шудаанд, ки бартараф кардани онҳо метавонад хароҷоти нигоҳубинро кам кунад. Тавре ки каталог инкишоф меёбад PyPI ва содда кардани раванди насб ва зеркашии бастаҳои иловагӣ, истифодаи модулҳои беруна ҳоло ҳамчун функсияҳои дарунсохт маъмул шудааст.

Бештар ва бештари таҳиягарон ивазкуниҳои берунии функсионалии модулҳои стандартиро истифода мебаранд, масалан, ба ҷои xml модули lxml. Хориҷ кардани модулҳои партофташуда аз китобхонаи стандартӣ маъруфияти алтернативаҳои аз ҷониби ҷомеа фаъолона таҳияшударо зиёд мекунад. Илова бар ин, кам кардани китобхонаи стандартӣ ба кам шудани андозаи тақсимоти базавӣ оварда мерасонад, ки ҳангоми истифодаи Python дар платформаҳои воридшуда бо андозаи маҳдуди нигоҳдорӣ муҳим аст.

Манбаъ: opennet.ru

Илова Эзоҳ