Python Wheels vs Eggs (и как решения, основанные на данных, должны стать нормой в среде с открытым исходным кодом)

Python Wheels vs Eggs (и как решения, основанные на данных, должны стать нормой в среде с открытым исходным кодом)

9 мая 2022 г.

Мир разработки программного обеспечения постоянно развивается, и время от времени вы попадаете в момент, когда путь разветвляется перед вами. Как у разработчиков, у нас есть выбор, какой путь выбрать, но каждый из них имеет определенные последствия, влияющие на эффективность и влияние кода в будущем.


В настоящее время мы переживаем один из таких моментов, когда речь идет о яйцах Python. Недавний твит от Дастина Ингрэма показал, что в декабре 2021 года на яйца приходилось менее 1% встроенных загрузок дистрибутива.



Эти данные вызвали оживленные дебаты о том, следует ли отказаться от яиц Python. В этом разговоре мы можем многому научиться в сообществе открытого исходного кода, и поэтому мы решили изучить уроки в этом посте.


Колеса Python против яиц


Формат .egg для пакетов Python был впервые представлен в 2004 году и с тех пор большую часть времени служил важной цели. Однако, когда в 2012 году был представлен Python Wheels, стали более известны слабые стороны формата egg, такие как отсутствие поддержки чистого удаления или обновления, а также тот факт, что только одна версия проекта может быть установлена ​​в любой отдельный каталог. .


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


В свете этого многие спорят о том, является ли отказ от загрузки новых яиц правильным путем.


Как разработчики должны принять это решение?


Важность решений, основанных на данных


Как разработчик, мы ограничены во времени и ресурсах для достижения наших целей. Наша эффективность во многом зависит от расстановки приоритетов — выбора, на что тратить время и, что более важно, на что его не тратить. Итак, когда нам нужно подумать, является ли отказ от яиц правильным решением, мы хотим сделать это с правильными данными, подтверждающими это решение.


В результате многие указали на эту статистику загрузки как на явный признак того, что яйца Python больше не являются той силой, которой они были когда-то. Действительно, эти данные позволяют гораздо более информированно обсудить решение, чем если бы оно отсутствовало.


Однако это не говорит всей истории. Даже если доля загрузок несущественна, у нас все еще нет ясности в отношении того, как яйца используются и на них полагаются. Эти данные о загрузке могут где-то существовать, но обычно они недоступны, чтобы мы могли провести надлежащий анализ.


Это свидетельствует о широком спектре других ключевых решений, которые в настоящее время принимаются на основе случайного опыта, интуиции и личных предпочтений. Без легкодоступных данных мы ограничиваем нашу способность принимать обоснованные и непредвзятые решения.


Как сообщество, мы должны стремиться к лучшей видимости, чтобы мы могли лучше обслуживать пользователей и разблокировать рычаги, которые мы создали с течением времени.


Представляем Scarf Gateway для Python


Эти данные имеют решающее значение для наших долгосрочных решений как разработчиков, потому что они помогают нам понять, какие аспекты нашего кода действительно приводят к результатам для наших пользователей. Имея это в виду, мы рады запустить поддержку Python для Scarf Gateway, что обеспечит лучшую видимость для всех и всех. Пакеты Python.


Это важный шаг к защите данных, которые нужны нам как сообществу открытого исходного кода для принятия более эффективных решений по всем ключевым вопросам; от инфраструктуры до форматов упаковки, оценки уязвимостей и так далее.


Для каждой точки принятия решения, к которой вы приходите как разработчик, наличие своевременных и точных данных о том, как используются ваши проекты, помогает вам обойти собственные предубеждения и двигаться по пути, который оказывает наибольшее влияние на ваших ключевых заинтересованных лиц.


Принятие решений на основе данных — это то, как мир открытого исходного кода может работать умнее, а не усерднее.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE