Вчера был одобрен эпический PEP 751, который вводит стандартный формат локфайлов в Python. Несколько лет дизайна, итераций и обсуждений, почти тысяча лайков на Reddit у этой новости, в общем большое событие.
Если вы знаете, что такое локфайлы, то новость на этом заканчивается. Называться будет
pylock.toml, теперь ждем пока все инструменты постепенно на него переедут.Если не знаете, то lockfile -- это просто текстовый файл определенного формата с полным описанием вашего Python окружения. Грубо говоря, у Python проектов будет ожидаться
pylock.toml вместо requirement.txt. Детали:- В `pylock.toml` будут записаны все установленные пакеты, включая непрямые зависимости, с их точными версиями, для всех ОС сразу, со всеми вариациями дополнительных зависимостей и прочей технической информацией.
- Это очень полезно, потому что теперь у пользователей и участников проекта будет устанавливаться в точности одинаковое Python окружение (и с гораздо большей вероятностью успеха). В общем
pylock.toml сильно упрощает жизнь другим пользователям проекта, включая будущих вас :)- Чтобы у вас в проекте появился
pylock.toml, нужно будет пользоваться инструментами типа uv, а список прямых зависимостей писать в pyproject.toml вместо requirements.txt. На самом деле это рекомендуется делать уже сегодня. Просто пока uv порождает "нестандартный" uv.lock вместо "стандартного" pylock.toml, но это разработчики uv сами уже изменят в будущем.