Snippets

Du code concis, avec une explication claire.

python

asyncio.shield: protéger une tâche de l'annulation

Empêcher l'annulation d'une sous-opération tout en annulant l'appelant.

#asyncio#shield#cancellation
python

asyncio.Queue: pool de workers asynchrones

Traiter des tâches en parallèle avec une file asyncio et des workers.

#asyncio#queue#workers
python

asyncio: intégrer les signaux avec add_signal_handler

Relier SIGINT/SIGTERM à des callbacks non bloquants (Unix).

#asyncio#signals#unix
python

asyncio.TaskGroup: orchestrer et annuler proprement

Lancer plusieurs tâches; en cas d'erreur, annuler les autres (3.11+).

#asyncio#taskgroup#cancellation
python

asyncio: exécuter un sous-processus et capturer

Lancer un processus de façon asynchrone et lire stdout/stderr.

#asyncio#subprocess#capture
python

asyncio.timeout: gérer un délai dans un bloc

Limiter la durée d'une opération avec le context manager asyncio.timeout (3.11+).

#asyncio#timeout#context
python

asyncio.to_thread: déplacer du code bloquant hors boucle

Exécuter une fonction bloquante dans un thread sans bloquer l'event loop.

#asyncio#threads
python

atexit: nettoyage à la sortie du programme

Enregistrer des callbacks de cleanup garantis à l'arrêt normal.

#atexit#cleanup#shutdown
python

base64: encodages base85 (b85/a85) compacts

Encoder/decoder en base85 pour des chaînes plus courtes que base64.

#base64#b85#a85
python

base64: encoder/décoder en urlsafe avec validation

Encoder/décoder Base64 URL-safe et vérifier l'entrée.

#base64#urlsafe#encoding
python

bisect: insertion dans liste triée

Maintenir une liste triée efficacement lors des insertions.

#bisect#sorted
python

bisect: insort pour maintenir une liste triée

Insérer en O(log n) la position et maintenir l'ordre trié.

#bisect#sorted#insort