mypy, pyright y pyrefly: verificadores estáticos en la práctica
Comparativa práctica de los tres principales type checkers de Python, configuración progresiva de strictness y su integración en CI.
Comparativa práctica de los tres principales type checkers de Python, configuración progresiva de strictness y su integración en CI.
Cómo definir interfaces por estructura con Protocol, sin herencia explícita, verificadas estáticamente y opcionalmente en runtime.
Herramientas de tipado preciso para diccionarios estructurados, tipos nominales, valores exactos e inmutabilidad estática sin complicar el código.
Cómo usar TypeVar para expresar relaciones de tipo entre argumentos y retornos, con restricciones, bounds y la sintaxis PEP 695.
Cubre la sintaxis completa de anotaciones en Python: tipos básicos, colecciones genéricas modernas, Union con |, Optional, Any y los tipos abstractos de collections.abc.
Los type hints no afectan el runtime: son contratos para herramientas y desarrolladores que resuelven el problema de legibilidad en codebases grandes con tipado gradual.
Implementación de __aenter__/__aexit__, asynccontextmanager, locks seguros y composición de múltiples contextos async en pipelines reales.
Gestión dinámica de recursos con ExitStack, supresión limpia de excepciones con suppress, y adaptadores como nullcontext y closing del módulo contextlib.
Cómo convertir una función generadora con un único `yield` en un context manager completo, con manejo correcto de excepciones y casos reales de uso.
Cómo Python llama `__enter__` y `__exit__` en un bloque `with`, qué significan los tres argumentos de excepción y cuándo retornar `True` para suprimir errores.