À propos du projet
sqlit est une interface terminale (TUI) conviviale pour travailler avec des bases de données SQL, écrite en Python et basée sur Textual. Elle se positionne comme « le lazygit des bases de données SQL » : lancez `sqlit`, choisissez une connexion dans l'interface et commencez à interroger sans configuration CLI ni documentation externe.
Les bases de données prises en charge incluent 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 et osquery. Les pilotes pour beaucoup d'entre elles sont optionnels et peuvent être installés à la demande ; sqlit détecte les pilotes manquants et affiche la commande d'installation appropriée.
Les principales capacités décrites dans le README :
- Gestionnaire de connexions : enregistrer, lister, supprimer et basculer entre les connexions ; se connecter via des schémas d'URL ou des indicateurs CLI spécifiques au fournisseur ; connexions temporaires sans enregistrement.
- Découverte Docker : détecte automatiquement les conteneurs de bases de données en cours d'exécution et se connecte sur Entrée.
- Intégration CLI cloud : parcourir et se connecter à des bases de données externes via les CLI Azure, AWS et GCP.
- Tunnels SSH : se connecter à des bases de données distantes avec authentification par mot de passe ou clé (nécessite l'extension `ssh`).
- Gestion des identifiants : les détails de connexion se trouvent dans `connections.json`, tandis que les mots de passe sont stockés dans le trousseau du système d'exploitation lorsque disponible ; les mots de passe peuvent également être récupérés à partir de gestionnaires de secrets via `--password-command`.
- Éditeur de requêtes : coloration syntaxique, historique consultable par connexion, édition modale et mouvements de style Vim, et moteur d'autocomplétion SQL pour les tables, colonnes et procédures.
- Résultats : charger de grands ensembles de résultats, inspecter les cellules, filtrer par contenu et recherche floue ; copier une cellule, une ligne ou toutes les lignes.
- Explorateur : parcourir les tables, vues, procédures, index, déclencheurs et séquences.
- Mode CLI : exécuter des requêtes depuis la ligne de commande avec sortie CSV ou JSON, ou à partir d'un fichier de script SQL.
- Thèmes : Rose Pine, Tokyo Night, Nord et Gruvbox.
- Raccourcis clavier personnalisés via `keymap.json` dans le répertoire de configuration (`$XDG_CONFIG_HOME/sqlit/`, remplaçable avec `SQLIT_CONFIG_DIR`).
Les options d'installation listées sont pipx (recommandé), uv, pip, Arch Linux AUR et un flake Nix. Un indicateur `--mock=sqlite-demo` permet d'explorer l'interface sans base de données réelle.
Le README explique la motivation comme évitant les clients GUI lourds tels que SSMS ou le lancement d'un IDE complet juste pour exécuter du SQL, visant plutôt un outil léger, axé sur le clavier et rapide à prendre en main. Il cite lazygit et lazysql comme inspirations et note que sqlit se concentre délibérément sur un ensemble limité de tâches bien exécutées plutôt que de correspondre à l'étendue des fonctionnalités d'autres TUI SQL. Le projet est sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.