عن المشروع

sqlit هي واجهة طرفية سهلة الاستخدام (TUI) للعمل مع قواعد بيانات SQL، مكتوبة بلغة Python ومبنية على Textual. تضع نفسها كـ "lazygit لقواعد بيانات SQL": قم بتشغيل `sqlit`، واختر اتصالاً من الواجهة، وابدأ الاستعلام دون إعداد CLI أو وثائق خارجية. تشمل قواعد البيانات المدعومة SQL Server وPostgreSQL وMySQL وMariaDB وSQLite وFirebirdSQL وOracle وDuckDB وCockroachDB وClickHouse وSnowflake وDatabricks وSupabase وCloudflare D1 وTurso وAthena وBigQuery وSpanner وRedshift وIBM Db2 وSAP HANA وTeradata وExasol وTrino وPresto وApache Flight SQL وApache Impala وSurrealDB وosquery. برامج التشغيل للعديد من هذه اختيارية ويمكن تثبيتها عند الطلب؛ يكتشف sqlit برامج التشغيل المفقودة ويعرض أمر التثبيت المناسب. القدرات الرئيسية الموصوفة في README: - مدير الاتصالات: حفظ وقائمة وحذف وتبديل الاتصالات؛ الاتصال عبر مخططات URL أو علامات CLI الخاصة بالموفر؛ اتصالات مؤقتة دون حفظ. - اكتشاف Docker: يكتشف تلقائياً حاويات قواعد البيانات قيد التشغيل ويتصل عند الضغط على Enter. - تكامل CLI السحابي: تصفح والاتصال بقواعد البيانات الخارجية عبر CLIs الخاصة بـ Azure وAWS وGCP. - أنفاق SSH: الاتصال بقواعد البيانات البعيدة بمصادقة كلمة المرور أو المفتاح (يتطلب ملحق `ssh`). - معالجة بيانات الاعتماد: تفاصيل الاتصال موجودة في `connections.json`، بينما تُخزن كلمات المرور في سلسلة مفاتيح نظام التشغيل حيثما أمكن؛ يمكن أيضاً جلب كلمات المرور من مديري الأسرار عبر `--password-command`. - محرر الاستعلامات: تمييز الصياغة، سجل قابل للبحث لكل اتصال، تحرير وحركات بأسلوب Vim، ومحرك إكمال تلقائي لـ SQL للجداول والأعمدة والإجراءات. - النتائج: تحميل مجموعات نتائج كبيرة، فحص الخلايا، التصفية حسب المحتوى والبحث الضبابي؛ نسخ خلية أو صف أو جميع الصفوف. - المستكشف: تصفح الجداول والعروض والإجراءات والفهارس والمشغلات والتسلسلات. - وضع CLI: تشغيل الاستعلامات من سطر الأوامر مع إخراج CSV أو JSON، أو من ملف نصي SQL. - السمات: Rose Pine وTokyo Night وNord وGruvbox. - روابط مفاتيح مخصصة عبر `keymap.json` في دليل الإعداد (`$XDG_CONFIG_HOME/sqlit/`، قابل للتجاوز مع `SQLIT_CONFIG_DIR`). خيارات التثبيت المدرجة هي pipx (موصى به)، وuv، وpip، وArch Linux AUR وNix flake. يسمح علامة `--mock=sqlite-demo` باستكشاف الواجهة دون قاعدة بيانات حقيقية. يشرح README الدافع كتجنب عملاء GUI الثقيلين مثل SSMS أو تشغيل IDE كامل فقط لتشغيل SQL، بهدف بدلاً من ذلك إلى أداة خفيفة تركز على لوحة المفاتيح وسريعة التعلم. يستشهد بـ lazygit وlazysql كمصادر إلهام ويشير إلى أن sqlit يركز عمداً على مجموعة محدودة من المهام التي يتم إنجازها بشكل جيد بدلاً من مطابقة اتساع ميزات TUIs الأخرى لـ SQL. المشروع مرخص بموجب MIT.