Snippets
Du code concis, avec une explication claire.
itertools.takewhile/dropwhile: filtrage par condition
Inclure/ignorer tant qu'une condition est vraie sur le flux.
itertools.tee: dupliquer un iterator (avec précautions)
Créer des copies indépendantes d'un iterator tout en gérant le buffer.
itertools.zip_longest: zipper avec remplissage
Zipper des séquences de longueurs différentes avec une valeur de remplissage.
json: lire et sérialiser joliment (stable)
Charger, manipuler et produire du JSON lisible et stable pour les diffs.
logging: dictConfig console et fichier
Configurer le logging via un dictionnaire sérialisable JSON/YAML.
lockfile: verrou via O_EXCL (simple)
Empêcher les exécutions concurrentes avec un fichier verrou.
JSON Lines: lire/écrire des objets par ligne
Traiter de gros flux JSONL ligne à ligne sans tout charger.
logging: fichier rotatif simple
Configurer un logger avec rotation par taille et format horodaté.
logging.LoggerAdapter: ajouter un contexte au logger
Injecter des champs contextuels sans dupliquer le formatage.
logging: formatter JSON structuré
Produire des logs JSON parsables pour ingestion centralisée.
logging.NullHandler: éviter les warnings dans une lib
Ajouter un NullHandler à un logger de bibliothèque pour silence par défaut.
logging: rotation avec RotatingFileHandler
Faire tourner les logs par taille en conservant un historique.