Как стать автором
Обновить

Комментарии 11

Говорить про новичков, а потом кидать dockefile с multi-stage, затем pre-commit hooks и тесты в gitlab-ci - сильно!

Хорошая статья

Ещё один шаг к совершенству кода и админства, плюсую.

[tool.uv]
# https://docs.astral.sh/uv/concepts/dependencies/#development-dependencies
dev-dependencies = [
    "grpcio-tools==1.66.*",
    "pytest==8.3.*",
]

Такая форма записи является устаревшей после принятия PEP735, в uv это уже учитывается.

Спасибо, обновил.
Поддержка секции dependency-groups была добавлена в uv четыре дня назад в версии 0.4.27.

Если сравнивать с пакетом "poetry" то можете ли уточнить отличия?

Благодарю)

Poetry - это инструмент только для работы с Python проектом, позволяющий управлять его зависимостями, собирать и публиковать пакет. Для решения всех задач по разработке этого недостаточно, нужны вспомогательные инструменты.

Со своей основной задачей Poetry справляется хорошо. uv может делать практически всё, что и Poetry, но в несколько раз быстрее.

Отличия uv, которые были замечены во время миграции:
1) Нет команды для создания шелла с активированным виртуальным окружением. Этот функционал планируют удалить из основного пакета Poetry в версии 2.0.
2) Разная логика фиксации зависимостей через тильду (~) (Poetry, uv). Можно случайно обновить какую-нибудь зависимость до несовместимой версии.
3) Разные имена и структура секций в pyproject.toml.

В текущем варианте нет повторной установки пакетов при каждой сборке образа, так как в большинстве случаев команда инструкции RUN не меняется.

Не вижу особого смысла в фиксировании версии пакета build-essential, так как логика приложения не зависит от него напрямую.

Версия фиксируется только у последнего пакета. Если обновить значение переменной python_version, то произойдёт инвалидация кэша.

Также кэш будет инвалидироваться при обновлении базового образа ubuntu. Для автоматической загрузки актуальных версий образов можно использовать опцию --pull (docker buildx build).

Подробнее можно почитать тут.

Отличная статья про отличный инструмент!
Кстати, вчера вышла новая версия uv 0.5 :)
Обновляйтесь осторожно, у нас пайплайны не сразу заработали, пришлось в паре мест фиксить косяки небольшие.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий