Astral связывает uv и ty: единый инструментарий для Python

· Программы
Astral представила экспериментальную интеграцию менеджера пакетов uv и проверяльщика типов ty — с поддержкой PEP 723-скриптов и единой командой uv check.

cover.svg

Компания Astral, известная быстрыми инструментами для Python (менеджер пакетов uv, линтер и форматер Ruff, проверяльщик типов ty), анонсировала экспериментальную интеграцию uv и ty, доступную в режиме предпросмотра. Идея проста: каждый инструмент полезен сам по себе, но вместе они способны на большее. uv знает окружение и зависимости проекта, ty понимает код — и объединение этих знаний открывает новые возможности.

Полноценная поддержка скриптов

Стандарт PEP 723 позволяет объявлять зависимости и требования к версии Python прямо внутри скрипта во встроенных метаданных. uv уже использует эти данные, чтобы подготовить окружение для запуска. Теперь ту же информацию читает и ty — как в командной строке, так и в редакторе.

ty находит скрипты по всему проекту и через uv готовит для каждого собственное окружение, проверяя код против заявленных требований. Разные скрипты в одном репозитории могут иметь разные зависимости и даже разные версии Python — каждый проверяется по своим правилам. В редакторе при включённой интеграции становятся доступны автодополнение, всплывающие подсказки и переход к определению, основанные на объявленных зависимостях скрипта.

Единая команда проверки

Команда uv check вводит унифицированный интерфейс диагностики, начиная с поддержки ty. Она автоматически подготавливает окружение, устанавливает нужные зависимости и проверяет проект — по словам Astral, «просто работает». Если же uv check не запускать, в поведении uv ничего не меняется: бинарник ty ставится отдельно при первом вызове.

Проверять можно отдельный пакет (uv check --package <name>), всё рабочее пространство (uv check --all-packages) или конкретный скрипт (uv check --script example.py). Версия ty берётся из lock-файла проекта, поэтому разработчики и CI используют одну и ту же версию без ручных пинов. На uv check опирается и pre-commit-хук ty.

Как это работает и что дальше

Основа интеграции — метаданные рабочего пространства uv, дающие ty структурированное представление о пакетах, зависимостях и окружении. Для PEP 723-скриптов ty вызывает uv для подготовки окружения, включая установку зависимостей; поскольку это требует выполнения стороннего кода, автоматическая настройка пока включается вручную.

Попробовать интеграцию в VS Code можно, установив uv и расширение ty и прописав "ty.experimental.useUv": "on" в настройках; из командной строки — через TY_UV=scripts ty check. Нужны uv 0.12.3 и ty 0.0.76 или новее.

Astral называет функцию экспериментальной и ждёт отзывов. В планах — поддержка Ruff в uv check и новый класс проверок, объединяющих знания о зависимостях и о коде (например, поиск неиспользуемых зависимостей), а также стабильный релиз ty.


Источник: Lobsters

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.