The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Намечена большая чистка стандартной библиотеки Python"
Отправлено opennews, 23-Май-19 11:27 
Разработчики  проекта Python опубликовали (https://www.python.org/dev/peps/pep-0594/) предложение (PEP 594) по проведению значительной чистки стандартной библиотеки. К выносу из стандартной библиотеки  Python предлагаются как явно устаревшие и узкоспециализированные возможности, так и компоненты, в которых имеются архитектурные проблемы и которые не удаётся унифицировать для всех платформ.

Например, из стандартной библиотеки предложено исключить такие модули, как crypt (недоступность для  Windows и зависимость доступности алгоритмов хэширования от системных библиотек), cgi (не оптимальная архитектура, требуется запуск нового процесса на каждый запрос), imp (рекомендовано использовать importlib), pipes (рекомендовано использовать модуль subprocess), nis (рекомендовано использовать NSS, LDAP или Kerberos/GSSAPI), spwd (не рекомендовано напрямую работать с БД учётных записей). Для удаления также помечены модули binhex, uu, xdrlib,
    aifc,
    audioop,
    chunk,
    imghdr,
    ossaudiodev,
    sndhdr,
    sunau,
    asynchat,
    asyncore,
    cgitb,
    smtpd,
    nntplib, macpath,
    formatter,  msilib и parser.

В соответствии с предложенным планом в Python 3.8 вышеупомянутые модули планируется отметить устаревшими, в Python 3.8 начать выводить  предупреждение, а в Python 3.10 удалить их из репозиториев CPython.
Ожидается, что ветка Python 3.9 будет поддерживаться до 2026 года. Модуль parser планируется удалить в версии 3.9, так как он помечен устаревшим  ещё в выпуске Python 2.5, а модуль  macpath в ветке 3.8. После удаления из основного состава код будет вынесен в отдельный репозиторий legacylib  и его судьба будет зависеть от интереса представителей сообщества.  


Изначально для удаления также были предложены модули   ftplib, optparse, getopt, colorsys, fileinput, lib2to3 и wave, но их было решено пока оставить в составе стандартной библиотеки, так как они широко распространены и остаются актуальными, несмотря на наличие более совершенных альтернатив или привязки к специфичным возможностям операционных систем.


Напомним, что изначально проектом Python применяется подход "батарейки входят в комплект", при котором в стандартной библиотеке предлагается обширный набор функций для различных областей применения,  упоминается упрощение сопровождения проектов и отслеживания безопасности используемых в проектах модулей. Уязвимости в модулях нередко становятся источником уязвимостей в использующих их приложениях. В случае если функции входят в стандартную библиотеку достаточно контролировать состояние основного проекта. При расщеплении стандартной библиотеки разработчикам требуется использовать сторонние модули, уязвимости в каждом из которых необходимо контролировать отдельно. При высокой степени дробления и большом числе зависимостей возникает угроза атак через компрометацию инфраструктуры разработчиков модулей.


С другой стороны, каждый дополнительный модуль стандартной библиотеке требует ресурсов от команды разработчиков Python для сопровождения. В библиотеке накопилось большое число дублирующихся и излишних функций, исключив которые можно снизить издержки на сопровождение. По мере развития каталога PyPI (https://pypi.org/) и упрощения процесса установки и загрузки дополнительных пакетов, применение внешних модулей в настоящее стало столь же привычным как и встроенных функций.


Всё большие разработчиков используют более функциональные внешние замены стандартным модулям, например, применяют модуль lxml вместо  xml. Удаление заброшенных модулей из стандартной библиотеки позволит повысить популярность активно развиваемых сообществом альтернатив. Кроме того, сокращение стандартной библиотеки приведёт к уменьшению размера базовой поставки, что актуально при использовании Python на встраиваемых платформах с ограниченным размером хранилища.

URL: https://news.ycombinator.com/item?id=19985802
Новость: https://www.opennet.ru/opennews/art.shtml?num=50726

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру