SciPy, широко используемая библиотека Python с открытым исходным кодом, используемая для научных и технических вычислений, достигла рубежа выпуска версии 1.0. Эта зрелость завершается моделью управления и назначением Паули Виртанена в качестве ее BDFL.
Анонсируя SciPy 1.0.0, Ральф Гоммерс реагирует на удивление многих питонистов тем, что SciPy, первый релиз которого состоялся в 2001 году, только сейчас достигает статуса стабильного проекта. Он пишет:
Номер версии должен отражать зрелость проекта, а SciPy была зрелой и стабильной библиотекой, которая уже давно активно используется в производственных условиях. С этой точки зрения номер версии 1.0 давно назрел.
Многие из нас немного перфекционисты, и поэтому неохотно называют что-то «1.0», потому что это может означать, что оно «закончено» или «мы на 100% довольны этим». Это нормально для многих проектов с открытым исходным кодом, однако это не делает его правильным. Мы признаем себе, что это не идеально, и остались некоторые пыльные углы (это, вероятно, всегда будет так). Несмотря на это, SciPy чрезвычайно полезен для своих пользователей, в среднем имеет высококачественный код и документацию, а также дает гарантии стабильности и обратной совместимости, которые подразумевает метка 1.0.
SciPy строится на объекте массива NumPy и является частью стека NumPy, который включает в себя такие инструменты, как Matplotlib, pandas и SymPy. Один из его первоначальных авторов, Трэвис Олифант, который также создал NumPy, прокомментировал выпуск 1.0 следующим образом:
Этот релиз представляет собой мечту многих, которую терпеливо преследовала стойкая группа пионеров в течение почти 2 десятилетий. За это время усилия многих сотен людей были широкими и последовательными. От первоначальных обсуждений до усилий по кодированию и упаковке, от усилий по документированию до обширных конференций и создания сообщества, усилия SciPy были глобальным явлением, в котором было привилегией участвовать.
Активное участие Олифанта в SciPy пришлось прекратить примерно в 2010 году, а в 2011 году разработка перешла на GitHub. В том же году была добавлена поддержка Python 3.
Создатель IPython Фернандо Перес оглянулся на происхождение SciPy, комментируя его широкое использование и влияние:
Существование зарождающейся библиотеки Scipy и невероятное-хотя и крошечное по сегодняшним меркам-сообщество, окружающее ее, — вот что привлекло меня в научный мир Python, когда я еще был аспирантом-физиком в 2001 году. Сегодня я испытываю благоговейный трепет, когда вижу, как эти инструменты управляют всем-от школьного образования до исследований, которые привели к Нобелевской премии по физике в 2017 году.
Не обманывайтесь цифрой 1.0: этот проект является зрелым краеугольным камнем современной научной вычислительной экосистемы. Я благодарен многим, кто сделал это возможным, и надеюсь, что смогу снова внести свой вклад в это в будущем. Мои искренние поздравления всей команде!
Основные моменты выпуска включают технические прорывы — колеса Windows впервые доступны на PyPI, а непрерывная интеграция была настроена на Windows и OS X в дополнение к Linux.
Статус версии 1.0 также обусловлен недавним достижением организационных целей структуры управления, кодекса поведения и дорожной карты. Формальная структура, изложенная в документации по управлению проектом SciPy, предусматривает, что проект будет иметь руководящий комитет, состоящий из Участников Проекта, которые внесли существенные по качеству и количеству взносы и поддерживались в течение, по крайней мере, одного года, и BDFL (Доброжелательный Диктатор на всю жизнь), в настоящее время Паули Виртанен, который имеет полномочия принимать все окончательные решения.
Комментируя достижение статуса версии 1.0, должным образом назначенного BDFL, Паули Виртанен говорит::
Честно говоря, мы могли бы выпустить SciPy 1.0 давным-давно, так что я рад, что мы наконец-то сделали это сейчас. Проект имеет долгую историю, и за эти годы он созрел также как программный проект. Я считаю, что он хорошо доказал свою заслугу, гарантировав номер версии, начинающийся с unity.
С момента своего зачатия более 15 лет назад SciPy в значительной степени был написан учеными и для них, чтобы предоставить набор основных инструментов, которые им нужны. Со временем круг людей, активно участвующих в его развитии, претерпел некоторую ротацию, и мы эволюционировали в сторону несколько более системного подхода к развитию. Несмотря на это, этот основной импульс остался прежним, и я думаю, что он также продолжит продвигать проект вперед в будущем. Все это хорошо, так как вскоре после 1.0 наступает 1.1.