Python standart kitabxanasının əsaslı şəkildə təmizlənməsi planlaşdırılır

Python Layihə Yaradıcıları nəşr olundu Təklif (Pep 594) standart kitabxananın əsas təmizlənməsi üçün. Həm memarlıq problemləri olan, həm də memarlıq problemləri olan və bütün platformalar üçün memarlıq problemləri olan və vahid ola bilməz, həm də Python Standard Kitabxanasından çıxarılması üçün təklif olunur.

Məsələn, kriptika kimi standart kitabxana modullarından (pəncərələr üçün mövcud deyil və hashing alqoritmlərinin mövcud olması sistem kitabxanalarından asılı olmayaraq), CGI (optimal memarlıq, hər bir istək üçün yeni bir prosesin başlaması tələb olunur), Imp (İdxal kiblərindən istifadə etmək tövsiyə olunur), borular (subprocess modulundan istifadə etmək tövsiyə olunur), NSS (NSS, LDAP və ya Kerberos / GSSAPI istifadə etmək tövsiyə olunur), SPWD (Hesab verilənlər bazası ilə birbaşa işləmək tövsiyə edilmir) ). Modullar Binhex, UU, XDRİLİB, çıxarılması üçün də qeyd olunur.
AIFC,
audioop,
yığın
imgndr,
OsAsıdioiodev,
sndhdr,
sunaey
asynchat,
asyncore,
cgitb,
smtpd
nntplib, macpath,
Formatter, Msilib və Parser.

Təklif olunan plan yuxarıda göstərilən modulları Python 3.8-də ləğv etmək, Python 3.8-də xəbərdarlıq etmək və Python 3.10-da CPYthon depolarından çıxartmaqdır.
Parser modulunun 3.9-cu versiyada, Python 2.5 buraxılışında və 3.8 filialında Macpath modulunda versiyada versiyada çıxarılması planlaşdırılır. Əsas koddan çıxarıldıqdan sonra kod ayrı bir Legacylib depozitinə köçürüləcək və onun taleyi icma üzvlərinin marağından asılı olacaqdır. Python 3.9 filialının 2026-cı ilə qədər dəstəklənəcəyi gözlənilir ki, bu da layihələrin xarici alternativlərə köç etməsi üçün kifayət qədər vaxt təmin edəcəkdir.

Əvvəlcə FTPLIB, Optpsarse, Getptt, Rollys, Fileinput, Lib2TO3 və dalğa modulları da çıxarılması üçün də təklif edildi, lakin mövcud olduqları üçün onları standart kitabxananın bir hissəsi kimi tərk etmək qərara alındı, çünki onlar hansısa qədər geniş və əlaqəlidirlər əməliyyat sistemlərinin xüsusi imkanlarına daha inkişaf etmiş alternativ və ya bağlamalar.

Xatırladaq ki, Python layihəsi əvvəlcə müxtəlif tətbiqlər üçün standart kitabxanada zəngin bir funksiyanı təklif edən "Batareyalar daxil" yanaşmanı apardı. Bu yanaşmanın üstünlükləri arasında Python layihələrinin qorunmasının və layihələrdə istifadə olunan modulların təhlükəsizliyini izləmək üçün sadələşdirilməsidir. Modullarda zəifliklər tez-tez istifadə olunan tətbiqlərdə zəiflik mənbəyinə çevrilir. Funksiyalar standart kitabxanaya daxil edilərsə, əsas layihənin vəziyyətinə nəzarət etmək kifayətdir. Standart kitabxananı parçaladıqda, inkişaf etdiricilərdən üçüncü tərəf modullarından istifadə etmələri tələb olunur, hər birində olan zəifliklər ayrıca izlənilməlidir. Yüksək dərəcədə parçalanma və çox sayda asılılıq olan, modul inkişaf etdiricilərinin infrastrukturuna güzəştə getmək yolu ilə hücum təhlükəsi var.

Digər tərəfdən, standart kitabxanada hər bir əlavə modul, Python İnkişaf Qrupunun saxlanması üçün ehtiyat tələb edir. Kitabxana, texniki xidmət xərclərini azalda bilən çox sayda təkrarlama və lazımsız funksiyalar topladı. Kataloq inkişaf etdikcə PyPI Əlavə paketlərin quraşdırılması və yüklənməsi prosesini sadələşdirmək, xarici modulların istifadəsi artıq daxili funksiyalar qədər ümumi olur.

Daha çox inkişaf edənlər, məsələn, XML əvəzinə LXML modulundan istifadə edərək standart modullar üçün daha çox funksional xarici əvəzlərdən istifadə edirlər. Standart kitabxanadan tərk edilmiş modulların çıxarılması cəmiyyət tərəfindən fəal şəkildə hazırlanan alternativlərin populyarlığını artıracaqdır. Bundan əlavə, standart kitabxananın azaldılması baza paylanmasının ölçüsünün azalmasına səbəb olacaqdır, bu da məhdud saxlama ölçüsü olan platformalarda pthon istifadə edərkən vacib olan vacibdir.

Mənbə: opennet.ru

Добавить комментарий