Бретт Кэннон: Почему на создан... Заметка
RSS Планета Python

Бретт Кэннон: Почему на создание спецификации файлов блокировки ушло 4 года

Путь к созданию стандартизированного формата файла блокировки Python, pylock.toml, занял более четырех лет, включая обширные обсуждения и итерации. Файл блокировки призван точно фиксировать все зависимости и их конкретные методы установки, учитывая различные форматы пакетов, такие как wheels и исходные дистрибутивы. Определение того, какие зависимости необходимы и когда они применяются, особенно с учетом необязательных зависимостей и спецификаторов версий, оказалось сложной задачей. Эта сложность возникает потому, что разрешение зависимостей является NP-полной задачей, усугубляемой желанием получить удобочитаемый, безопасный и эффективный формат.Процесс начался с неформальных обсуждений в 2019 году, переросших в более формальные предложения, такие как PEP 665 в 2021 году, которое в конечном итоге потерпело неудачу из-за исключительности wheels. Последующие самостоятельные усилия в 2023 году привели к разработке необходимого инструментария и концепции. Появление таких инструментов, как uv в 2024 году, поставило новые задачи и требования, что потребовало дальнейших доработок PEP 751.Разногласия по поводу многоразовых и одноразовых файлов блокировки, а также конкретных функций вызвали значительные задержки и потребовали строгого соблюдения сроков обратной связи. После многочисленных обсуждений и компромиссов между ключевыми проектами, такими как uv, Poetry и PDM, PEP 751 был наконец принят 31 марта 2025 года. Это достижение является кульминацией многолетних интенсивных дебатов, а раннее внедрение PDM, uv и pip демонстрирует жизнеспособность формата. Автор выражает желание перейти к другим областям разработки Python после значительного вклада в стандарты упаковки.
CdXz5zHNQW_zjIPgB1naX.png