Глиф Лефковиц озвучил идею отделения «батареек» Питона от ядра.
На прошлой неделе Глиф (Twisted, automat) опубликовал статью «Toward a “Kernel Python”», в которой изложил своё мнение относительно того, в каком направлении желательно двигаться CPython.

Статья эта в некоторой степени была навеена готовящимися изменениями по PEP-594. В ней Глиф не только соглашается с необходимостью убрать из стандартной библиотеки некоторые пакеты, но также предлагает идти дальше. А именно, вместо того, чтобы понемногу вычищать стандартную библиотеку, он предлагает рассмотреть возможность отделить её от ядра.

По мнению автора такой подход оправдан по нескольким причинам:

  • Разработчики CPython признаются, что у них не хватает сил на поддержку. Помимо признаний самих разработчиков, на это указывают 429 накопившихся на данный момент и ещё не рассмотренных задач;
  • Для многих частей стандартной библиотеки существуют аналоги (в том числе более продвинутые и поддерживаемые), доступные на PyPI;
  • Установка нужных библиотек, с появлением pip стала делом тривиальным. А это сводит к минимуму полезность распространения «батареек в комплекте»;
  • Распространение во всё новых и новых средах (фронты веб, мобильные, встраиваемые системы, консоли) обычно требует модифицированной среды исполнения (Brython, MicroPython и пр.) и адаптации (часто усечения, реже устранения) стандартной библиотеки;
  • Уже достаточно давно некоторые дистрибутивы сами вручную выделяют части стандартной библиотеки в отдельные пакеты (например, distutils в Ubuntu);
  • Создать несколько дистрибутивов Питона не должно составить особого труда. Например, можно распространять голое ядро, а можно ядро с пакетами, которые сейчас входят в стандартную библиотеку, но которые будут поддерживаться другими людьми, и которые можно будет при необходимости обновить в нужный момент;
  • Успешный пример философии Linux, где ядро строго ограничено и может расширяться/дополняться модулями, заслуживает внимания.

Глиф говорит, что иметь стандартную библиотеку может быть в некоторых случаях выгодно бизнесу, когда добавление зависимости в условный requirements.txt выливается в длиннющий технический/бюрократический процесс. Однако же, здесь стоит помнить, что «стандартность» библиотеки, то есть границы её — это вещь довольно условная.

Заканчивает Глиф свою статью призывом: «Кто желает написать новое PEP?»

И правда. Есть желающие?

Категории

Язык
Интерпретатор
Платформа

На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.