veilletech.fr
25 oct. Feed du jour
#04 PYTHON Article

uv et ty : uv check vérifie projets et scripts

Un seul verrou pour l'environnement et pour le vérificateur de types.

Astral lance en préversion l'intégration de uv et de ty : ty vérifie désormais les scripts PEP 723 contre leurs propres dépendances, et la commande uv check prépare l'environnement puis lance le vérificateur de types, avec la version de ty verrouillée dans uv.lock. Cela supprime une étape manuelle et une source de divergence entre poste et CI.

2 min de lectureintermédiairevidéo 1:17
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Les scripts PEP 723
  3. uv check
  4. Ce qui est prévu et ce qui manque
  5. Comment s'y prendre
  6. À retenir

Ce qui se passe

Astral publie une intégration expérimentale entre uv (gestionnaire de paquets et d'environnements) et ty (vérificateur de types et serveur de langage). Principe : uv connaît l'environnement et les dépendances, ty connaît le code ; ensemble, ty vérifie le code contre l'environnement réel plutôt que de le deviner. Deux nouveautés pratiques.

Les scripts PEP 723

La norme PEP 723 permet à un script de déclarer ses dépendances en en-tête :

Python
# /// script
# requires-python = ">=3.12"
# dependencies = ["requests"]
# ///

uv s'en servait déjà pour exécuter le script. ty lit maintenant ces métadonnées, aussi bien en ligne de commande que dans l'éditeur : il découvre les scripts du projet, demande à uv de préparer un environnement pour chacun, et vérifie chaque script contre ses propres exigences, même si elles diffèrent de celles du projet. Dans l'éditeur, complétion, survol et « aller à la définition » suivent les dépendances déclarées.

Comme installer des dépendances peut exécuter du code tiers, la préparation automatique est optionnelle. Dans VS Code, avec l'extension ty :

JSON
{
  "ty.experimental.useUv": "on"
}

En ligne de commande :

Terminal
TY_UV=scripts ty check

uv check

uv check est un point d'entrée unique de diagnostic, qui démarre avec ty : il prépare l'environnement du projet, installe les dépendances, puis vérifie le code. Astral prévoit d'y ajouter Ruff pour réunir lint et typage.

Terminal
uv check
uv check --package <nom>
uv check --all-packages
uv check --script exemple.py

Dans un workspace, --package cible un paquet et --all-packages les vérifie tous. La commande utilise la version de ty enregistrée dans le lockfile : poste et CI partagent la même version sans épingle à maintenir à part. Le hook pre-commit de ty passe aussi par uv check. Si vous ne lancez jamais la commande, rien ne change pour uv ; le binaire ty est installé à part, à la première utilisation.

Ce qui est prévu et ce qui manque

L'intégration repose sur uv workspace metadata, une vue structurée des paquets, dépendances et interpréteur. À terme, Astral veut activer les scripts par défaut et préparer automatiquement l'environnement des projets standards. Il travaille aussi à détecter les dépendances inutilisées, en croisant ce que uv sait des dépendances et ce que ty comprend du code. Limite : c'est une préversion, et ty n'a pas encore de version stable.

Comment s'y prendre

  1. Installer uv 0.12.3 ou plus et ty 0.0.76 ou plus.
  2. Essayer uv check sur un projet ; la commande active l'intégration sans réglage.
  3. Pour les scripts, activer ty.experimental.useUv dans l'éditeur ou lancer TY_UV=scripts ty check.

Source : Astral, 24 octobre 2026. Source en anglais.