Sobre el proyecto
SQLGlot proporciona un analizador SQL sin dependencias que puede leer una amplia variedad de entradas SQL y generar SQL sintáctica y semánticamente correcto en los dialectos objetivo. Incluye un transpilador para convertir consultas entre dialectos como DuckDB, Presto/Trino, Spark/Databricks, Snowflake, BigQuery y muchos otros. La biblioteca ofrece un optimizador que reescribe consultas en un AST canónico, utilidades para la introspección de AST, comparación de diferencias y construcción o modificación programática de expresiones SQL. Los usuarios pueden extraer metadatos como columnas y tablas, detectar errores de sintaxis con mensajes de error detallados y manejar características no compatibles mediante niveles de advertencia o error configurables. SQLGlot también incluye un ejecutor ligero para evaluar SQL contra diccionarios de Python, útil para pruebas y prototipado. Se pueden agregar dialectos personalizados subclasificando la clase Dialect, y los dialectos de complementos se pueden distribuir mediante puntos de entrada. Los puntos de referencia de rendimiento muestran que la versión en Python puro es competitiva, mientras que la variante compilada con mypyc ofrece una mejora de velocidad de aproximadamente 3 a 5 veces. El proyecto es utilizado por herramientas como SQLMesh, Apache Superset, Dagster, Ibis y dlt, y proporciona documentación extensa, un conjunto de pruebas y dependencias opcionales como dateutil para simplificar intervalos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.