Brett Cannon : Pourquoi il a f... Note

Brett Cannon : Pourquoi il a fallu 4 ans pour obtenir une spécification de fichiers de verrouillage

Le parcours pour établir un format de fichier de verrouillage Python standardisé, pylock.toml, s'est étendu sur plus de quatre ans, impliquant des discussions et des itérations approfondies. Un fichier de verrouillage vise à enregistrer précisément toutes les dépendances et leurs méthodes d'installation spécifiques, en tenant compte de divers formats de paquets tels que les roues et les distributions sources. Définir quelles dépendances sont nécessaires et quand elles s'appliquent, en particulier avec les dépendances optionnelles et les spécificateurs de version, s'est avéré complexe. Cette complexité découle du fait que la résolution des dépendances est un problème NP-complet, aggravé par le désir d'un format lisible par l'homme, sécurisé et efficace.Le processus a commencé par des discussions informelles en 2019, évoluant vers des propositions plus formelles comme la PEP 665 en 2021, qui a finalement échoué en raison de son exclusivité des roues. Des efforts solitaires ultérieurs en 2023 ont conduit au développement d'outils nécessaires et d'une preuve de concept. L'émergence d'outils comme uv en 2024 a présenté de nouveaux défis et exigences, nécessitant des révisions supplémentaires des brouillons de la PEP 751.Les désaccords sur les fichiers de verrouillage multi-usages par rapport aux fichiers à usage unique et sur des fonctionnalités spécifiques ont causé des retards importants et ont nécessité un respect strict des délais de retour d'information. Après de nombreuses discussions et compromis entre des projets clés comme uv, Poetry et PDM, la PEP 751 a finalement été acceptée le 31 mars 2025. Cette réalisation marque l'aboutissement d'années de débats intenses, avec une adoption précoce par PDM, uv et pip démontrant la viabilité du format. L'auteur exprime le désir de passer à d'autres domaines du développement Python après des contributions importantes aux normes d'empaquetage.
CdXz5zHNQW_zjIPgB1naX.png