Posted by MaxTeabag 12/15/2025
I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.
Sqlit is a keyboard-driven SQL TUI with:
- Context-based keybindings (always visible)
- Neovim-like interface with normal and insert mode for query editing
- Browse databases, tables, views, stored procedures
- Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
- SSH tunneling support
- Themes (Tokyo Night, Nord, Gruvbox etc.)
Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.It focuses more on editing and exploring data for power users. UI space is utilized well. Exploring millions of rows is a breeze. Writing SQLs and managing them is pleasant with the multi-tab approach.
I'm working through adding the shortcuts and modal mode. I want to make it more like vim where you just use shortcuts to do things.
It supports postgres, click house, and sqlite
I'm looking for early beta users. If you are interested in a GUI version, here: https://github.com/tanin47/backdoor
I am going to implement the option to leave the password blank, so you'll get prompted for a password on connection every time, so nothing will get stored.
In the next release I am going to use Keyring to store credentials on the operating system's credential store. Stay tuned :)
- Browse explorer tree with jk
- Next/Prev autocomplete suggestion with ^+j,^+k
- Browse Results with hjkl
Some other suggestions:
- Filter tables (f.e. press / and start typing to filter down tables)
- Ability to edit cell value
Otherwise it feels great, thanks for it :) UI looks much nicer than on lazysql and toggleable sidebar is great.
Maybe I'm just a little jaded at seeing a lot of the same type of thing rehashed multiple times a week lately.
This isn't meant to detract from this author, or any other... You have an itch and scratched it. This is what makes open-source work.
It seems you put some menu items behind what I'll call "[space] mode," where you you have to press the spacebar first to open the command menu, then use the command.
This is not reflected properly in the help text shown when you press ? and that was a source of confusion for me.
Especially since I managed to activate the fullscreen mode for one pane AND turn it off, but then couldn't figure out how I did it; and also, I did not find the space-Q option to Quit at first.)
Edit to add, I prefer installing with pipx.
These commands worked for me, to get Postgresql and MariaDB database plugins:
pipx install sqlit-tui
cd ~/.local/pipx/venvs/sqlit-tui
source bin/activate
bin/python3 -m pip install psycopg2
sudo apt-get install -y libmariadb-dev # On Debian
bin/python3 -m pip install mariadb
I didn't try installing system-wide as per the GitHub instructions, I don't know if that would have worked just as well with pipx or not.I haven't tried this, but I'm familiar with pipx. It provides a higher-level interface, so something like this should work:
pipx install sqlit-tui
sudo apt-get install -y libmariadb-dev
pipx inject sqlit-tui psycopg2 mariadb
Ref.: https://pipx.pypa.io/stable/#inject-a-package> I don't know if that would have worked just as well with pipx or not.
I don't actually see anything in the GitHub instructions about system-wide installation? But yes, since version 1.5 (https://pipx.pypa.io/stable/changelog/#150-2024-03-29) Pipx can do a `--global` install that by default puts the managed venv in /opt and executable symlink in /usr/local/bin.
Also the pipx comment made me decide to put much more thought into how sqlit helps with package installation on runtime, and I'm going to suggest pipx by default and it's also going to give the correct commands for every popular package manager.
Thanks!
uvx --with psycopg2-binary --from sqlit-tui sqlit
% uvx sqlit
Built unicodecsv==0.14.1
Built sqlit==0.1.6
Installed 2 packages in 1ms
Traceback (most recent call last):
File "/Users/john/.cache/uv/archive-v0/AP7XgAQ1v0HpPxXUi-hs4/bin/sqlit", line 7, in <module>
from sqlit.main import main
File "/Users/john/.cache/uv/archive-v0/AP7XgAQ1v0HpPxXUi-hs4/lib/python3.12/site-packages/sqlit/main.py", line 125
print sql
^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?I'm wondering if thats true.
SSMS is super duper nice if you’re an admin or a power SQL server user/dev. Nothing I’ve seen in Postgres world is comparable.
I've started using the extensions for VS Code a lot since they killed the separate code based SQL studio app. I also use a SQLite extension, though I wish the SQLite extension worked a bit more like the MS SQL extension does. Overall they're both nice.
Definitely different workflows for Devs vs DBAs though.. and you're right, DBAs don't really close SSMS, that said, I think the VS Code extension(s) are better for most dev usage.