sqlite-utils 4.2.1: исправление скрытой зависимости и проверка через uv¶
6.0/10
Контекст¶
В sqlite-utils 4.2 Саймон Уиллисон добавил импорт `typing_extensions.Self`, но пакет `typing-extensions` не был указан в зависимостях проекта: он появлялся только через dev-зависимости. Поэтому при запуске через `uvx sqlite-utils` CLI падал с ошибкой.
Суть¶
В релизе 4.2.1 проблема исправлена. Чтобы убедиться, что CLI работает без dev-зависимостей, автор предлагает smoke-тест из каталога проекта: `uv run --isolated --no-default-groups sqlite-utils --help`. Флаг `--no-default-groups` не даёт uv устанавливать обычную dev-группу, а `--isolated` заставляет игнорировать уже существующую папку `.venv` с лишними пакетами. Так исполняется именно та конфигурация, которую получит пользователь при запуске через `uvx`.
Вывод¶
Главный урок: неявные зависимости, попадающие в окружение только через dev-группу, легко вызывают падение у конечных пользователей; изолированный запуск CLI через uv помогает ловить такие ошибки до релиза.