Un framework de testing para Python que facilita escribir tests pequeños y escalar hasta pruebas funcionales complejas de aplicaciones y bibliotecas.
dmtrKovalenko/odiff
Herramienta rápida de comparación de imágenes píxel a píxel, optimizada con SIMD, con CLI y API para Node.js, escrita en Zig.
- Estrellas
- 3,272
- Forks
- 118
- Issues abiertos
- 16
- Último commit
- hace 5 días
¿Qué es?
odiff compara dos imágenes píxel a píxel y genera una imagen diff que resalta las áreas modificadas. Está pensada para pruebas de regresión visual, en las que se comparan capturas de pantalla de una compilación con una imagen de referencia, pero también sirve para cualquier par de imágenes similares, como fotografías o imágenes generadas por IA.
La herramienta funciona como un binario independiente de línea de comandos y también se puede invocar desde Node.js mediante el paquete odiff-bin, que ofrece una función para realizar una comparación puntual y un ODiffServer persistente para ejecutar muchas comparaciones sin iniciar un proceso nuevo cada vez. También hay un modo servidor con un protocolo JSON por stdio para otros entornos de ejecución. Las comparaciones admiten ajustar el umbral, detectar el anti-aliasing, ignorar regiones y, de forma opcional, informar de los índices de las filas y columnas modificadas.
Admite los formatos PNG, JPEG, WebP y TIFF, y permite comparar imágenes de formatos distintos. El núcleo está escrito en Zig e incluye rutas SIMD para SSE2, AVX2, AVX512 y NEON. Hay integraciones para Playwright, Cypress, R y varios servicios de pruebas visuales.
Funciones clave
- 01Comparación píxel a píxel que genera una imagen diff con las áreas modificadas resaltadas
- 02Compatible con PNG, JPEG, WebP y TIFF, incluso para comparar imágenes de formatos distintos
- 03Detección de anti-aliasing y regiones rectangulares que se pueden ignorar
- 04API para Node.js con un modo servidor persistente para realizar comparaciones por lotes
- 05Optimizaciones SIMD para SSE2, AVX2, AVX512 y NEON
Casos de uso
- Pruebas de regresión visual de páginas web en pipelines de CI
- Comparación de capturas de pantalla de Playwright o Cypress con imágenes de referencia
- Detección de cambios no deseados en la interfaz entre compilaciones de una aplicación
- Comparación por lotes de grandes cantidades de imágenes mediante scripts de Node.js
Temas
Preguntas frecuentes
- ¿Qué es odiff?
- Herramienta rápida de comparación de imágenes píxel a píxel, optimizada con SIMD, con CLI y API para Node.js, escrita en Zig. odiff compara dos imágenes píxel a píxel y genera una imagen diff que resalta las áreas modificadas. Está pensada para pruebas de regresión visual, en las que se comparan capturas de pantalla de una compilación con una imagen de referencia, pero también sirve para cualquier par de imágenes similares, como fotografías o imágenes generadas por IA.
- ¿odiff es gratuito? ¿Qué licencia tiene?
- odiff es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿odiff sigue mantenido?
- Mantenimiento activo. El último commit de odiff fue el 13 oct 2026.
- ¿Para qué puedo usar odiff?
- Pruebas de regresión visual de páginas web en pipelines de CI Comparación de capturas de pantalla de Playwright o Cypress con imágenes de referencia Detección de cambios no deseados en la interfaz entre compilaciones de una aplicación Comparación por lotes de grandes cantidades de imágenes mediante scripts de Node.js
- ¿Dónde consigo odiff?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dmtrKovalenko/odiff
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Ecosistema open source para desarrollar APIs, crear, enviar y probar solicitudes HTTP, GraphQL, WebSocket y otras, disponible como herramienta web, de escritorio y CLI.
Añade miles de glifos de iconos de colecciones populares, como Font Awesome y Devicons, a fuentes para desarrolladores como Hack y Source Code Pro.
Swagger UI genera documentación interactiva de API en el navegador a partir de un archivo de especificación OpenAPI.
Genera SDK de cliente para API, esqueletos de servidor y documentación en muchos lenguajes a partir de una especificación OpenAPI (v2/v3).
Un wrapper de QEMU que configura y ejecuta automáticamente máquinas virtuales de Windows, macOS y Linux con una configuración mínima.