PyForge è in vendita solo qui, sul sito ufficiale py-forge.com — diffida delle imitazioni.

Tutti gli articoli
PythonCLITyper

Tool CLI Production-Ready con Python e Typer

PyForge Team 6 min di lettura2026-10-14

La maggior parte dei tool CLI fallisce come prodotto non perché la logica è sbagliata, ma perché l'interfaccia è un ripiego. Una CLI professionale si comporta in modo prevedibile: analizza gli argomenti con grazia, fallisce rumorosamente su stderr e restituisce exit code su cui uno script può fare affidamento.

Gli argomenti sono un problema di UX

Typer trasforma i type hint in un'interfaccia auto-documentata: testo di --help, validazione ed errori chiari arrivano gratis. Progetta i comandi come l'utente pensa al task, non come capita che siano organizzate le tue funzioni.

python
import typer

app = typer.App()

@app.command()
def scan(path: str, deep: bool = typer.Option(False, "--deep")):
    """Scansiona una cartella e riporta ciò che conta."""
    ...

if __name__ == "__main__":
    app()

Exit code e stderr sono la tua API

Gli script incatenano il tuo tool nelle pipeline. Tieni stdout pulito per l'output leggibile dalle macchine, manda la diagnostica su stderr e restituisci 0 solo quando il lavoro è davvero riuscito. Un tool che stampa stack trace su stdout rompe ogni pipeline che tocca.

Impacchetta una volta, gira ovunque

Distribuisci con un requirements.txt fissato alle versioni che hai davvero testato, e mantieni il punto di ingresso in un singolo main.py. Chi compra deve passare dal download al primo risultato in meno di un minuto — questo è lo standard di ogni asset PyForge.

bash
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python main.py scan ./logs --deep