Instrumation es una biblioteca de Python que actúa como capa de abstracción de hardware (HAL) para estaciones de prueba de radiofrecuencia, con el objetivo de simplificar la automatización de instrumentos que hasta ahora dependen del engorroso código repetitivo de PyVISA y de cadenas SCPI específicas de cada fabricante.
La librería ofrece una API unificada compatible con marcas como Keysight, Rigol, Tektronix, Siglent, Rohde & Schwarz y Anritsu. Incorpora detección automática de dispositivos conectados por USB o LAN, con carga dinámica del controlador correspondiente, y un modo Digital Twin que simula instrumentos con ruido gaussiano realista, lo que permite desarrollar, depurar y ejecutar pipelines de integración continua sin necesidad de hardware físico.
Entre las funciones destacadas figuran la gestión de la conexión mediante context managers, lo que elimina el riesgo de dejar sesiones abiertas; transmisión de datos en tiempo real vía UDP mediante un DataBroadcaster integrado, útil para cuadros de mando y registradores; exportación automática de resultados en CSV; configuración de estaciones complejas en archivos station.toml; y una interfaz de línea de comandos para escanear dispositivos y realizar mediciones rápidas. La herramienta es compatible con Windows, Linux, macOS y Termux en Android, y se distribuye bajo licencia MIT en GitHub. Ha sido validada con equipos reales como los analizadores Keysight PXA N9030A y PNA N5232A, el generador MXG N5183B y el osciloscopio DSOX2002A. El proyecto se completa con instrumation-report, una biblioteca complementaria para generar informes estructurados en HTML, Excel y PDF a partir de las mediciones.
