Logging estructurado con structlog
Cómo usar structlog para emitir logs como JSON con contexto ligado por request, integrando el pipeline de procesadores con la stdlib de Python.
Cómo usar structlog para emitir logs como JSON con contexto ligado por request, integrando el pipeline de procesadores con la stdlib de Python.
Cómo conectar múltiples handlers con formatters independientes y centralizar toda la configuración del sistema de logging con dictConfig.
Cómo funciona el árbol de loggers en Python, por qué `logging.getLogger(__name__)` es el patrón correcto y qué rompe si se configura mal.
Qué mide realmente coverage y cómo Hypothesis complementa sus límites generando y reduciendo casos que falsifican propiedades invariantes.
Cómo reemplazar dependencias externas en tests de Python usando Mock, MagicMock y patch, con verificación de llamadas y errores comunes.
Cómo usar fixtures con scope, parametrize y conftest.py para construir suites de test mantenibles en pytest.
Procesa respuestas HTTP grandes en chunks con requests e httpx async, y maneja comunicación bidireccional con WebSockets usando la librería websockets.
Uso de `httpx.Client` y `AsyncClient` con timeouts estructurados, streaming y multiplexación HTTP/2 en una sola librería.
Uso idiomático de requests para HTTP en Python: Session, timeout obligatorio, raise_for_status, retry con backoff y manejo correcto de respuestas binarias y JSON.
Criterios concretos para decidir si asyncio resuelve tu problema o lo complica, con foco en I/O-bound vs CPU-bound y el efecto de propagación async.