Proyecto
Data Quality Testing Pipeline
Pipeline de pruebas de calidad de datos que carga lotes CSV, ejecuta reglas SQL sobre DuckDB y genera evidencias e informes reproducibles. Incluye una demo pública para comparar un lote limpio con otro que contiene defectos controlados.
Resumen
Pipeline de QA en Python y DuckDB que valida lotes de clientes, pedidos y pagos mediante 19 reglas SQL, pruebas automatizadas e informes JSON y HTML.
Stack: Python 3.13, DuckDB, SQL, Pytest, HTML, CSS, JavaScript, Docker, GitHub Actions, GitHub Pages
Qué hace
El proyecto representa un proceso de control de calidad previo al consumo de datos. Comprueba que la información de clientes, pedidos y pagos sea completa, válida, única y consistente, evitando que un lote con errores continúe dentro de un proceso automatizado.
Cómo está construido
La solución está desarrollada en Python 3.13 y carga los archivos CSV en una base DuckDB en memoria. Un motor ejecuta 19 reglas SQL y reúne el resultado, el número de incumplimientos y sus evidencias. La aplicación genera informes JSON y dashboards HTML, ofrece una interfaz de línea de comandos, puede ejecutarse con Docker y dispone de 10 pruebas automatizadas con Pytest.
Qué valida o automatiza
El pipeline aprueba el lote limpio y rechaza el lote defectuoso mediante códigos de salida utilizables como quality gate. GitHub Actions ejecuta las pruebas, valida ambos escenarios, comprueba la imagen Docker y conserva los informes como artefactos. La demo permite seleccionar uno de los dos lotes controlados y consultar los informes reales producidos por el motor.
Puntos clave
- Motor de calidad con 19 reglas SQL para clientes, pedidos y pagos, incluyendo controles de completitud, unicidad, validez, integridad y consistencia.
- Informes reproducibles en JSON y HTML con resumen, estado de cada regla y evidencias de los registros incorrectos.
- Ejecución mediante CLI y Docker, 10 pruebas automatizadas y quality gates integrados con GitHub Actions.