Python стандарттык китепканасын ири тазалоо пландаштырылууда

Python долбоорун иштеп чыгуучулар жарыяланган сунуш (PEP 594) стандарттык китепкананы ири тазалоо үчүн. Архитектуралык көйгөйлөрү бар жана бардык платформалар үчүн бирдиктүү болушу мүмкүн болбогон так эскирген жана өтө адистештирилген мүмкүнчүлүктөр жана компоненттер Python стандарттык китепканасынан алып салуу үчүн сунушталат.

Мисалы, стандарттык китепканадан крипт (Windows үчүн жеткиликсиздик жана системалык китепканаларда хэширлөө алгоритмдеринин болушунан көз карандылык), cgi (оптималдуу архитектура эмес, ар бир суроо үчүн жаңы процессти ишке киргизүүнү талап кылат), имп сыяктуу модулдарды алып салуу сунушталууда. (importlib колдонуу сунушталат), түтүктөр (субпроцесс модулун колдонуу сунушталат), nis (NSS, LDAP же Kerberos/GSSAPI колдонуу сунушталат), spwd (эсептин маалымат базасы менен түз иштөө сунушталбайт). Binhex, uu, xdrlib модулдары да алып салуу үчүн белгиленген.
aifc,
аудиооп,
кесек
imghdr,
ossaudiodev,
sndhdr,
sunau
асинчат,
асинкор,
cgitb,
smtpd
nntplib, macpath,
форматтоочу, mslib жана талдоочу.

Сунушталган план 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 жана толкун модулдары да алып салуу үчүн сунушталган, бирок аларды стандарттуу китепкананын бир бөлүгү катары калтыруу чечими кабыл алынган, анткени алар кеңири таралган жана бар болгонуна карабастан актуалдуу бойдон калууда. өнүккөн альтернативалардын же операциялык системалардын өзгөчө мүмкүнчүлүктөрүнө байланыштыруунун.

Эске салсак, Python долбоору алгач ар кандай тиркемелер үчүн стандарттык китепканада функциялардын бай топтомун сунуштаган “батареялар камтылган” мамилени колго алган. Бул ыкманын артыкчылыктарынын арасында Python долбоорлорун колдоону жөнөкөйлөштүрүү жана долбоорлордо колдонулган модулдардын коопсуздугун көзөмөлдөө болуп саналат. Модулдардагы алсыздыктар көбүнчө аларды колдонгон тиркемелердеги алсыздыктардын булагы болуп калат. Эгерде функциялар стандарттуу китепканага киргизилсе, анда негизги долбоордун абалын көзөмөлдөө жетиштүү. Стандарттык китепкананы бөлүп жатканда, иштеп чыгуучулар үчүнчү тараптын модулдарын колдонууга милдеттүү, алардын ар бириндеги алсыздыктар өзүнчө көзөмөлдөнүшү керек. Фрагментациянын жогорку даражасы жана көп сандагы көз карандылык менен модулду иштеп чыгуучулардын инфраструктурасын бузуу аркылуу чабуул коюу коркунучу бар.

Башка жагынан алганда, стандарттык китепкананын ар бир кошумча модулу колдоо үчүн Python иштеп чыгуу тобунан ресурстарды талап кылат. Китепканада көп сандагы кайталануучу жана ашыкча функциялар топтолду, аларды жоюу тейлөөгө кеткен чыгымдарды азайтышы мүмкүн. Каталог өнүккөн сайын P&IP жана кошумча пакеттерди орнотуу жана жүктөө процессин жөнөкөйлөштүрүү, тышкы модулдарды колдонуу азыр орнотулган функциялар сыяктуу эле кеңири таралган.

Барган сайын көбүрөөк иштеп чыгуучулар стандарттык модулдар үчүн көбүрөөк функционалдык тышкы алмаштырууларды колдонуп жатышат, мисалы, xml ордуна lxml модулун колдонушат. Калган модулдарды стандарттуу китепканадан алып салуу коомчулук тарабынан активдүү иштелип чыккан альтернативалардын популярдуулугун жогорулатат. Мындан тышкары, стандарттык китепкананы кыскартуу базалык бөлүштүрүүнүн көлөмүн кыскартууга алып келет, бул Pythonду сактоо көлөмү чектелген камтылган платформаларда колдонууда маанилүү.

Source: opennet.ru

Комментарий кошуу