Sobre o projeto
sqlit é uma interface de terminal (TUI) amigável para trabalhar com bancos de dados SQL, escrita em Python e construída sobre Textual. Posiciona-se como "o lazygit dos bancos de dados SQL": execute `sqlit`, escolha uma conexão na interface e comece a consultar sem configuração de CLI ou documentação externa.
Os bancos de dados suportados incluem 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 e osquery. Drivers para muitos deles são opcionais e podem ser instalados sob demanda; sqlit detecta drivers ausentes e mostra o comando de instalação apropriado.
Principais capacidades descritas no README:
- Gerenciador de conexões: salvar, listar, excluir e alternar conexões; conectar via esquemas de URL ou flags de CLI específicas do provedor; conexões temporárias sem salvar.
- Descoberta Docker: detecta automaticamente contêineres de banco de dados em execução e conecta ao pressionar Enter.
- Integração com CLI de nuvem: navegue e conecte-se a bancos de dados externos por meio de CLIs do Azure, AWS e GCP.
- Túneis SSH: conecte-se a bancos de dados remotos com autenticação por senha ou chave (requer o extra `ssh`).
- Tratamento de credenciais: os detalhes da conexão ficam em `connections.json`, enquanto as senhas são armazenadas no chaveiro do sistema operacional quando disponível; as senhas também podem ser obtidas de gerenciadores de segredos via `--password-command`.
- Editor de consultas: realce de sintaxe, histórico pesquisável por conexão, edição modal estilo Vim e movimentos, e um mecanismo de autocompletar SQL para tabelas, colunas e procedimentos.
- Resultados: carregue grandes conjuntos de resultados, inspecione células, filtre por conteúdo e pesquisa difusa; copie célula, linha ou todas as linhas.
- Explorador: navegue por tabelas, visualizações, procedimentos, índices, gatilhos e sequências.
- Modo CLI: execute consultas pela linha de comando com saída CSV ou JSON, ou a partir de um arquivo de script SQL.
- Temas: Rose Pine, Tokyo Night, Nord e Gruvbox.
- Atalhos de teclado personalizados via `keymap.json` no diretório de configuração (`$XDG_CONFIG_HOME/sqlit/`, substituível com `SQLIT_CONFIG_DIR`).
As opções de instalação listadas são pipx (recomendado), uv, pip, Arch Linux AUR e um flake Nix. Uma flag `--mock=sqlite-demo` permite explorar a interface sem um banco de dados real.
O README explica a motivação como evitar clientes GUI pesados, como SSMS, ou iniciar uma IDE completa apenas para executar SQL, visando em vez disso uma ferramenta leve e focada no teclado, rápida de aprender. Cita lazygit e lazysql como inspirações e observa que sqlit se concentra deliberadamente em um conjunto limitado de tarefas bem executadas, em vez de igualar a amplitude de recursos de outras TUIs SQL. O projeto é licenciado sob MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.