RSS Planet Python
Folgen
Brett Cannon: Warum es 4 Jahre dauerte, bis eine Spezifikation für Lock-Dateien vorlag
Die Reise zur Etablierung eines standardisierten Python-Lockfile-Formats, pylock.toml, erstreckte sich über vier Jahre und beinhaltete umfangreiche Diskussionen und Iterationen. Eine Lockdatei zielt darauf ab, alle Abhängigkeiten und ihre spezifischen Installationsmethoden präzise zu erfassen, wobei verschiedene Paketformate wie Wheels und Quellcode-Distributionen berücksichtigt werden. Die Definition, welche Abhängigkeiten benötigt werden und wann sie gelten, insbesondere bei optionalen Abhängigkeiten und Versionsspezifikationen, erwies sich als komplex. Diese Komplexität ergibt sich daraus, dass die Abhängigkeitsauflösung ein NP-vollständiges Problem ist, das durch den Wunsch nach einem menschenlesbaren, sicheren und effizienten Format noch verstärkt wird.Der Prozess begann 2019 mit informellen Diskussionen und entwickelte sich 2021 zu formelleren Vorschlägen wie PEP 665, der jedoch aufgrund seiner ausschließlichen Beschränkung auf Wheels scheiterte. Nachfolgende Einzelinitiativen im Jahr 2023 führten zur Entwicklung notwendiger Werkzeuge und eines Proof-of-Concept. Das Aufkommen von Tools wie uv im Jahr 2024 stellte neue Herausforderungen und Anforderungen dar, die weitere Überarbeitungen des Entwurfs von PEP 751 erforderlich machten.Uneinigkeiten über Multi-Use- versus Single-Use-Lockfiles und spezifische Funktionen führten zu erheblichen Verzögerungen und erforderten eine strikte Einhaltung von Feedback-Zeitplänen. Nach zahlreichen Diskussionen und Kompromissen zwischen Schlüsselprojekten wie uv, Poetry und PDM wurde PEP 751 schließlich am 31. März 2025 angenommen. Diese Errungenschaft markiert den Höhepunkt jahrelanger intensiver Debatten, wobei die frühe Übernahme durch PDM, uv und pip die Lebensfähigkeit des Formats demonstriert. Der Autor äußert den Wunsch, sich nach bedeutenden Beiträgen zu Packaging-Standards anderen Bereichen der Python-Entwicklung zuzuwenden.