paint-brush
Python Wheels vs Eggs (et comment les décisions basées sur les données doivent devenir la norme en open source)par@aviaviavi
830 lectures
830 lectures

Python Wheels vs Eggs (et comment les décisions basées sur les données doivent devenir la norme en open source)

par Avi Press2022/05/09
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

Un tweet récent de Dustin Ingram a montré que les œufs Python représentaient moins de 1% des téléchargements de distribution construits en décembre 2021. Ces données ont lancé un débat sur la question de savoir si les œufs Python devaient être obsolètes, ce qui ne concernait qu'une partie des données qui auraient pu être considéré. Cela indique un large éventail d'autres décisions clés dans l'espace open source qui sont actuellement prises sur la base de données incomplètes et d'expériences/préférences personnelles.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Python Wheels vs Eggs (et comment les décisions basées sur les données doivent devenir la norme en open source)
Avi Press HackerNoon profile picture

Le monde du développement de logiciels est en constante évolution, et de temps en temps, vous arrivez à un moment où le chemin bifurque devant vous. En tant que développeurs, nous avons le choix du chemin à suivre, mais chacun a des conséquences spécifiques qui ont un impact sur l'efficacité et l'impact du code à l'avenir.


Actuellement, nous traversons l'un de ces moments en ce qui concerne Python Eggs. Une récente tweeter de Dustin Ingram a montré que les œufs représentaient moins de 1 % des téléchargements de distribution construits en décembre 2021.


Ces données ont lancé un débat animé sur la question de savoir si les œufs Python devaient être obsolètes. Cette conversation a beaucoup à apprendre de la communauté open source, et nous avons donc pensé explorer les leçons de cet article.

Roues Python vs Oeufs

Le format .egg pour les packages Python a été introduit pour la première fois en 2004 et a servi un objectif important la plupart du temps depuis lors. Cependant, lorsque Python Wheels a été introduit en 2012, les faiblesses du format egg sont devenues plus connues, comme le manque de prise en charge des désinstallations ou des mises à niveau propres, et le fait qu'une seule version d'un projet peut être installée sur un seul répertoire. .


Python Wheels a apporté des améliorations significatives à ces derniers, ainsi que des améliorations supplémentaires en termes de format de distribution, une convention de dénomination de fichiers plus riche, la gestion des versions et une meilleure organisation interne.


À la lumière de cela, beaucoup se demandent si l'abandon des téléchargements de nouveaux œufs est la bonne voie à suivre.


Comment les développeurs doivent-ils prendre cette décision ?

L'importance des décisions basées sur les données

En tant que développeur, nous disposons de peu de temps et de ressources pour atteindre nos objectifs. Notre efficacité repose en grande partie sur la priorisation - choisir sur quoi passer du temps et, plus important encore, sur quoi ne pas passer du temps. Ainsi, lorsque nous devons déterminer si l'abandon des œufs est la bonne décision, nous voulons le faire avec les bonnes données à l'appui de cette décision.


En conséquence, beaucoup ont souligné ces statistiques de téléchargement comme un signe clair que les œufs Python ne sont plus la force qu'ils étaient autrefois. En effet, ces données permettent une discussion beaucoup plus éclairée sur la décision que si elle était absente.


Cependant, cela ne raconte pas toute l'histoire. Même si la proportion de téléchargements n'a pas d'importance, nous n'avons toujours pas beaucoup de clarté sur la façon dont les œufs sont utilisés et utilisés. Ces données de téléchargement peuvent exister quelque part, mais elles ne sont généralement pas disponibles afin que nous puissions effectuer une analyse appropriée.


Cela indique un large éventail d'autres décisions clés qui sont actuellement prises sur la base d'expériences anecdotiques, d'intuitions et de préférences personnelles. Si les données ne sont pas facilement accessibles, nous compromettons notre capacité à prendre des décisions éclairées et impartiales.


En tant que communauté, nous devrions faire pression pour une meilleure visibilité, afin que nous puissions mieux servir les utilisateurs et débloquer l'effet de levier que nous avons construit au fil du temps.

Présentation de Scarf Gateway pour Python

Ces données sont cruciales pour nos décisions à long terme en tant que développeurs, car elles nous aident à comprendre quels aspects de notre code génèrent réellement des résultats pour nos utilisateurs. C'est dans cet esprit que nous sommes ravis d'avoir lancé le support Python pour Scarf Gateway , qui apportera une meilleure visibilité pour tous les packages Python.


Il s'agit d'une étape importante vers la sécurisation des données dont nous avons besoin en tant que communauté open source pour prendre de meilleures décisions sur toutes sortes de questions clés ; de l'infrastructure aux formats d'emballage aux évaluations de vulnérabilité et au-delà.


Pour chaque point de décision auquel vous arrivez en tant que développeur, disposer de données opportunes et précises sur la manière dont vos projets sont utilisés vous aide à contourner vos propres préjugés et à vous diriger vers la voie qui a le plus d'impact pour vos principales parties prenantes.


La prise de décision basée sur les données est la façon dont le monde open source peut travailler plus intelligemment, pas plus dur.