Telegram

**uv — очень быстрый pip на стероидах с большими абмициями**

**uv — очень быстрый pip на стероидах с большими абмициями**

__Пост будет особенно полезным, если раньше не сталкивались с pip-tools__

uv — это новый и полезный уже сейчас инструмент от компании Astral, которая раньше сделала Ruff. Долгосрочная цель авторов очень амбициозная -- сделать uv единым инструментом для работы с Python и заменить все отдельные инструменты: pip, pyenv, virtualenv, pip-tools, ruff, tox, pipx, и т.д. В итоге любой инженер, аналитик, исследователь или студент сможет легко и единообразно устанавливать Python окружения и разрабатывать Python проекты.

В своей первой итерации uv — это **в ~2x-100x раз более быстрая** замена трём инструментам:

(1) pip. То есть **uv очень быстро устанавливает Python пакеты**, что особенно актуально для сложных окружений и особенно когда они устанавливаются регулярно (например, в Continuous Integration). Но и в быту при установке условного Jupyter **ускорение в 5-10 раз** ощущается очень приятно.

(2) pip-tools. Напомню, что в проектах важно фиксировать не только __прямые__ зависимости (скажем, Django==5.0.3), но и __непрямые__ (те пакеты, которые Django приносит с собой). Это нужно, чтобы у всех пользователей и на всех машинах было идентичное окружение. pip-tools помогает решить ровно эту задачу: он автоматически генерирует и поддерживает в актуальном состоянии ваш requirements.txt файл с __полным__ списком зависимостей. А **uv делает то же самое, но гораздо быстрее**.

(3) venv & virtualenv. На фоне предыдущих пунктов создание виртуальной среды это скорее мелочь, но **даже эту мелочь uv делает ощутимо быстрее** :)