TGViewer
Кисель в АйТи | AI и технологии Кисель в АйТи | AI и технологии @kisel_it · 4.34K subscribers
Post #292 1.11K
Наконец-то распробовал uv. Тот самый "убийца pip" на Расте от команды Astral. Удобненько, ооочень шустро работает, с зависимостями не косячит.

Всё наше добро вписываем в pyproject.toml, делаем uv sync для установки, 5 секунд ждём и готово! Естественно, появится lock-файл, в котором будут зафиксированы все зависимости.

Очень понравилось, как устроены "группы зависимостей". В одном файле prod/dev/test зависимости, только разнесённые по группам. На фоне пипа с миллионом файлов requirements.txt/requirements.test.txt и т.д - очень вкусно.

Но и это не всё. Хотя избавиться от тормознутого pip'а это уже удовольствие. Есть еще кое-что: он умеет скачивать и устанавливать нужные версии Python. И переключаться между ними можно одной простой командой.

## Шпаргалка по командам

- uv init — инициализировать новый проект с pyproject.toml
- uv add <package> — добавить пакет в зависимости и синхронизировать окружение
- uv remove <package> — удалить пакет из проекта
- uv sync — синхронизировать venv с текущим lock-файлом
- uv sync --all-groups — синхронизировать все группы зависимостей
- uv sync --only-group dev — синхронизировать только зависимости для dev-окружения
- uv sync --no-dev — синхронизировать всё, кроме dev-окружения
- uv lock — обновить только uv.lock без установки пакетов
- uv run <script.py> — запустить скрипт внутри изолированного окружения
- uv python install 3.13 — скачать и установить конкретную версию Python в систему
- uv python list — посмотреть список всех доступных и установленных версий Python

version = "0.1.0"
dependencies = [
"fastapi == 0.115.0",
"sqlalchemy >= 2.0.25",
"uvicorn[standard] >= 0.27.0",
]

[dependency-groups]
dev = [
"ruff ~= 0.2.0",
"pytest >= 8.0.0, < 9.0.0",
]


Еще из плюсов:
- Нормальный, человеческий (наконец-то!) мать его кэш! Один раз скачал библиотеку и всё.
- Читаемый лок-файл uv.lock. Приемлемо выглядит в диффах.

Хочется верить, что инструмент повторит судьбу ruff, который в итоге затащили вообще везде и всюду.
  • 👍 9
  • ❤ 3
  • 🔥 3
More from @kisel_it
  1. Oct 5, 2026Кажется, я нашёл, где можно нормально проверить своих ИИ-агентов в бою 😅 Сегодня зарегист…
  2. Oct 3, 2026Кажется, OpenAI тихо докрутили multi-agent режим на декстопе в ChatGPT. Сегодня дал ему за…
  3. Oct 2, 2026Антропики настолько переживают за будущее человечества и неконтролируемую гонку ИИ, что ре…
  4. Oct 1, 2026Я уже давно хотел завести рубрику про дни рождения людей, которые сильно повлияли на прогр…
  5. Sep 30, 2026Так, ну этим я точно не могу не поделиться. Dot для себя сгенерировал целый пак анимаций п…
  6. Sep 30, 2026С Dot'ами интересно вышло. У них даже есть свой компьютер с gui, к которому можно подключи…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →