Источник: Thomas Heller Steps Down as ctypes Maintainer
Сообщество разработчиков Python горячо благодарит Томаса Хеллера, который долгое время поддерживает пакет ctypes. Ранее в этом месяце Томас заявил о своём уходе из проекта CPython, который, начиная c Python 2.5, является родительским домом для его библиотеки ctypes.
У меня случился шанс поговорить с Томасом и он рассказал мне о своей истории, связанной с Python, а также его проектами ctypes и py2exe.
Python
В 1999 году Томас искал источники для изучения языка Python и случайно приобрёл книгу Марка Лутца Programming Python. И сразу же он был очарован этим языком. В тот момент он занимался заменой Scheme как языка расширений к большой программе, которую он написал на C для ОС Windows.
Что касается его становления как члена команды разработчиков, его первым вкладом в CPython(а также в open source) был небольшой патч к distutils, относящийся только к Windows. Интерес Томаса к distutils в конечном счёте привёл его к разработке команды bdist_wininst, которая позволяет создать установочный пакет Windows, устанавливаемый в систему одним кликом мыши. Начиная с того момента Грег Уорд пригласил его в группу python-dev, где он в итоге получил доступ на внесение изменений в репозиторий.
py2exe
Как и у многих разработчиков для Windows, у Томаса существовала необходимость развёртывания готового к использованию Python-приложения как одного исполняемого файла. Ранее решения этой проблемы появились благодаря известным Python-разработчикам - Фредерику Ланду(squeeze) и Кристиану Тисмеру( sqfreeze), и Томас предложил несколько патчей Гордону МакМилану в его проект Installer, которые были приняты.
Его интерес к distutils привёл Томаса к мысли адаптировать Installer в качестве расширения к этой библиотеке. Однако, он дошёл до того, что целиком переписал Installer с целью воспользоваться существующим фреймворком distutils. В конце концов он выбрал простое, но ёмкое, имя для проекта - py2exe.
ctypes
Идея создания ctypes пришла из-за необходимости улучшения функциональности модуля pywin32. Также работа Томаса со Scheme требовала интерфейса к Windows API подобно тому, что требовался в его работе с Python, таким образом он хотел сохранить жизнь проекту.
ctypes увидел свой первый общедоступный релиз в 2003 году после того, как Томас получил многочисленные просьбы опубликовать проект. Дата релиза была приурочена к выходу Python 2.3. Томас рассказал, что ctypes был его небольшим личным проектом на его Starship странице, который затем вырос в широко используемую библиотеку в мгновение ока.
Первоначально он начал проект на Windows, но быстро услышал призыв об адаптации пакета для Linux, завершить которую ему помогло сообщество. С помощью Linux-порта Томас пришёл к мысли о подключении библиотеки libffi к своему проекту. Эту же библиотеку он также начал использовать на Windows для замены своей низкоуровневой реализации.
2006 год примечателен релизом версии 1.0 ctypes, который был связан c принятием ctypes в качестве модуля стандартной библиотеки языка Python 2.5. После нескольких лет тяжёлого труда и многочисленных релизов каждый год, ctypes стал сейчас неотъемлемой частью Python и доступен по умолчанию для обширной аудитории.
Потребовалось большое количество усилий разных людей для доведения ctypes до такого состояния, в котором она находится в настоящий момент. Томас хочет поблагодарить каждого участника, особенно Робина Бейкера. Робин был определяющим человеком на ранних фазах разработки проекта и помог как знаниями, так и своим воодушевлением.
Новый ctypes-мейнтейнер
После многих лет тяжёлой работы Томас уходит, а нам ненавистна мысль видеть проект приходящим в состояние стагнации. Если у Вас есть опыт программирования на языке C и время для помощи проекту Python, сообщество было бы весьма признательно за Ваши усилия. Дополнительную информацию можно найти на странице для новых разработчиков, а также в системе отслеживания ошибок.
Комментариев нет:
Отправить комментарий