Snippets
Du code concis, avec une explication claire.
archives: extraction sécurisée (éviter path traversal)
Vérifier les chemins avant extraction d'une archive zip/tar.
argparse: charger des options depuis un fichier avec @
Utiliser fromfile_prefix_chars pour inclure des arguments depuis un fichier.
contextlib.asynccontextmanager: contexte asynchrone
Créer un context manager async pour encapsuler ouverture/fermeture.
ast.literal_eval: parser des littéraux en sécurité
Évaluer des structures Python littérales sans exécuter de code.
asyncio.Event: synchronisation simple entre tâches
Signaler/attendre un événement de manière asynchrone.
asyncio: gather avec Semaphore et timeouts
Limiter la concurrence, gérer les délais et regrouper les résultats.
argparse: sous-commandes (style git)
Créer un CLI avec sous-commandes claires et aide intégrée.
argparse: flags booléens et groupes exclusifs
Définir des --flags simples et des options mutuellement exclusives.
argparse: valeurs par défaut via l'environnement
Lire des valeurs par défaut depuis l'environnement pour un CLI robuste.
argparse: types Path et validation d'existence
Valider qu'un chemin existe ou non directement via argparse.
asyncio: gather avec timeouts et erreurs isolées
Lancer des tâches concurrentes avec timeout et gestion des échecs par tâche.
asyncio.run_in_executor: déplacer du bloquant dans un pool
Exécuter une fonction bloquante sans bloquer l'event loop.