Vue d'ensemble

Typer 0.7, publié le 5 novembre 2022, ajoute le support de l'intégration Rich et améliore la gestion des types.

Fonctionnalités principales

Intégration Rich

Typer utilise Rich pour l'affichage de l'aide, les messages d'erreur et les invites, offrant un rendu coloré et structuré.

python
import typer
from rich import print

app = typer.Typer(rich_markup_mode='rich')

@app.command()
def process(
    name: str = typer.Argument(help='[bold]Nom[/] du fichier'),
):
    """Traite un [green]fichier[/green]."""
    print(f'[bold green]Traitement de {name}...[/]')

Types améliorés

Meilleur support des types Python modernes : Enum, Path, types optionnels et valeurs par défaut.

python
from enum import Enum
from pathlib import Path
import typer

class Format(str, Enum):
    json = 'json'
    csv = 'csv'

@typer.run
def convert(input: Path, fmt: Format = Format.json):
    typer.echo(f'{input} -> {fmt.value}')

Sources