Astral связывает uv и ty: единый инструментарий для Python
Компания 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
Комментарии
Войдите, чтобы комментировать.