Scripts en Python, PEP723 et uv

Grâce à la PEP723, il est possible pour un script jetable de spécifier ses dépendances directement dans le fichier puis de le faire exécuter par uv, ce qui permet de créer et d'activer un venv à la volée, de manière transparente :

$: cat test.py

#!/usr/bin/env -S uv run --script

# /// script
# dependencies = ["requests", "argh"]
# [tool.uv]
# exclude-newer = "2025-02-19T00:00:00Z"
# ///

from requests import get
import argh

def test(url: str) -> str:
    return get(url).content

argh.dispatch_commands([test])


$: ./test.py -h
usage: test.py [-h] {test} ...

positional arguments:
  {test}
    test

options:
  -h, --help  show this help message and exit