Ce qui se passe
wrapture est une bibliothèque de monkey patching publiée le 31 août 2026
par Graham Dumpleton — l'auteur de wrapt et de mod_wsgi. Depuis, il publie un
tutoriel presque chaque jour : dix à ce jour. Simon Willison, qui la signale,
s'étonne du peu de bruit autour d'elle.
Sa particularité est de servir deux usages qu'on outille d'habitude séparément : les tests et l'observabilité.
Ce que ça couvre
Côté tests, elle remplace unittest.mock sur son terrain : substituer un
comportement, enregistrer les appels sous forme de chronologies affichables en
arbres, faire varier la réponse d'une méthode d'un appel à l'autre
(comportement par phases). Elle ne se limite pas aux appelables : attributs,
dictionnaires et générateurs se patchent aussi.
Côté observabilité, c'est du traçage à la New Relic : tracer une application en fonctionnement, mesurer les durées appel par appel ou agrégées pour trouver le code lent, exporter vers OpenTelemetry.
Le point qui change la pratique est la configuration en TOML : on active le
traçage dans un fichier séparé, sans modifier une ligne de Python. Le paquet
complémentaire
wrapture-instrumentation
fournit l'instrumentation prête pour aiohttp.client, aiohttp.web, django,
fastapi, flask, grpc, http.client, httpx, jinja2, requests,
sqlalchemy, sqlite3, starlette, urllib.request, urllib3, uvicorn,
werkzeug.serving, wsgiref.simple_server, xmlrpc.client et xmlrpc.server.
Des ateliers interactifs sous forme de notebooks JupyterLab complètent le tout.
Source : Simon Willison.