Poetry 2.4.3 виправив розпакування Python-пакетів на ранніх версіях Python 3.10 і 3.11
Точкове оновлення Poetry усуває збій під час розпакування source distribution на Python 3.10.0–3.10.12 та 3.11.0–3.11.4.

Poetry 2.4.3 виправляє конкретну проблему сумісності, через яку інструмент не міг розпакувати деякі вихідні дистрибутиви пакетів. Реліз опубліковано 5 вересня. Він містить одне заявлене виправлення й стосується ранніх патч-версій Python 3.10 та 3.11.

Які версії потрапили під проблему
У нотатках релізу прямо вказані діапазони Python 3.10.0–3.10.12 і 3.11.0–3.11.4. На таких середовищах Poetry міг не впоратися з розпакуванням sdist. Версія 2.4.3 усуває цей збій.
Source distribution — це архів із вихідним кодом та метаданими пакета. Якщо готового wheel для платформи немає або менеджер обирає sdist, архів потрібно коректно відкрити перед побудовою й встановленням. Тому проблема могла проявлятися лише з певними залежностями, а не з кожною командою Poetry.
Чому точковий реліз вартий уваги
Невеликий changelog не означає, що виправлення неважливе. Збій на етапі розпакування блокує встановлення ще до запуску коду пакета. У CI це може виглядати як раптова несумісність залежності, хоча причина знаходиться в поєднанні версії Poetry, Python і формату дистрибутива.
Особливо уважними мають бути проєкти зі старішими образами контейнерів або зафіксованим Python. Робоча станція розробника може вже використовувати новіший патч-реліз, тоді як виробнича збірка залишається на ранньому 3.10 чи 3.11 і відтворює помилку.
Що оновлення не обіцяє
Poetry 2.4.3 не представлений як нова основна версія й не заявляє змін формату pyproject.toml, резолвера чи lock-файла. Офіційний опис містить лише одне виправлення. Тому не варто приписувати релізу загальне прискорення або підтримку нових можливостей Python.
Також із нотатки не випливає, що будь-яка помилка розпакування sdist має ту саму причину. Пошкоджений архів, брак місця, права доступу або нестандартна система збирання можуть давати схожий симптом. Оновлення адресує підтверджену несумісність у зазначених діапазонах.
Як перевірити у своєму проєкті
Спочатку визначте фактичні версії Python і Poetry у середовищі, де виникає збій. Якщо Python входить до вказаних діапазонів, перевірте 2.4.3 у тестовій гілці. Після оновлення повторіть чисте встановлення з тим самим lock-файлом і залежностями.
У командному репозиторії бажано однаково зафіксувати версію Poetry локально та в CI. Це зменшує ситуації, коли один учасник не бачить помилки, а автоматична збірка падає. Якщо після оновлення проблема зберігається, слід зібрати точний traceback і перевірити сам sdist.
Практичний висновок: користувачам ранніх Python 3.10 і 3.11, які отримують помилку під час встановлення source distribution, варто перевірити Poetry 2.4.3. Для інших середовищ це звичайний точковий реліз без заявлених функціональних змін.
Матеріал не копіює сторонні приклади й не робить висновків поза офіційним описом виправлення. Для деталей реалізації першоджерело посилається на pull request 11037.
Першоджерело та ліцензія
Першоджерело: Python Poetry releases. Автори: Poetry contributors. Текст перекладено й адаптовано редакцією; пояснення та практичні висновки додано. Ліцензія першоджерела: MIT.
Copyright (c) 2018-present Sébastien Eustace.
MIT permission notice: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Матеріал перекладено, переказано та доповнено редакцією українською мовою.
Читайте далі — ми вже розбираємо наступну важливу тему.


