عن المشروع

توفر SQLGlot محلل SQL خالٍ من التبعيات يمكنه قراءة مجموعة واسعة من مدخلات SQL وإنتاج SQL صحيح نحويًا ودلاليًا في اللهجات المستهدفة. يتضمن المكتبة مترجمًا لتحويل الاستعلامات بين اللهجات مثل DuckDB وPresto/Trino وSpark/Databricks وSnowflake وBigQuery وغيرها الكثير. تقدم المكتبة مُحسّنًا يعيد كتابة الاستعلامات إلى شجرة تجريدية (AST) قياسية، وأدوات لاستكشاف AST ومقارنتها وبناء أو تعديل تعبيرات SQL برمجيًا. يمكن للمستخدمين استخراج البيانات الوصفية مثل الأعمدة والجداول، واكتشاف أخطاء الصياغة برسائل خطأ مفصلة، والتعامل مع الميزات غير المدعومة عبر مستويات تحذير أو أخطاء قابلة للتكوين. تتضمن SQLGlot أيضًا مُنفّذًا خفيف الوزن لتقييم SQL ضد قوائم Python، وهو مفيد للاختبار والنماذج الأولية. يمكن إضافة لهجات مخصصة عن طريق توسيع فئة Dialect، ويمكن توزيع لهجات الإضافات عبر نقاط الدخول. تظهر مقاييس الأداء أن النسخة الخالصة من بايثون تنافسية، بينما توفر النسخة المُجمَّعة بواسطة mypyc تحسينات في السرعة بنسبة 3-5 مرات تقريبًا. تُستخدم المشروع من قبل أدوات مثل SQLMesh وApache Superset وDagster وIbis وdlt، ويوفر توثيقًا موسعًا ومجموعة اختبارات وتبعيات اختيارية مثل dateutil لتبسيط الفترات.