Об этом проекте

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: просматривайте и подключайтесь к внешним базам данных через CLI 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 намеренно сосредоточен на ограниченном наборе задач, выполняемых хорошо, а не на сопоставлении широты функций других SQL TUI. Проект распространяется под лицензией MIT.