Introduction
Introduction Statistics Contact Development Disclaimer Help
_______ __ _______
| | |.---.-..----.| |--..-----..----. | | |.-----..--.--.--..-----.
| || _ || __|| < | -__|| _| | || -__|| | | ||__ --|
|___|___||___._||____||__|__||_____||__| |__|____||_____||________||_____|
on Gopher (inofficial)
Visit Hacker News on the Web
COMMENT PAGE FOR:
Show HN: Sqlit – A lazygit-style TUI for SQL databases
tracker1 wrote 20 hours 43 min ago:
Definitely cool to see... Lost of new TUI applications, but seems to be
more than a handful of DB UIs at this point. Was half surprised it
wasn't another Rust+Ratatui application. Not that there's anything
wrong with that either.
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.
vinshoo wrote 1 day ago:
Looks great!
It seems that sqlit still relies on arrow keys for getting around.
Would it be possible to add options for more vim style on these places?
- 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.
MaxTeabag wrote 18 hours 17 min ago:
Thanks! Those are really good suggestions, the next release is going
to have more vim keys :)
ruicraveiro wrote 1 day ago:
There's only one thing I can say about this: THANK YOU!!!!! Really
cool!
MaxTeabag wrote 18 hours 1 min ago:
Thanks! I'm glad you liked it.
mrbump wrote 1 day ago:
Congrats, looks fantastic! I have been looking for something like that.
Maybe I have missed it, but one feature I would really love is support
for temporary connections - e.g. being able to do something like "sqlit
--db-type sqlite --file-path db.sqlite3" to quickly inspect a DB
without having to set up a connection first.
MaxTeabag wrote 18 hours 15 min ago:
That's a great suggestion, thanks! I'll be updating the CLI in the
next release.
waterTanuki wrote 1 day ago:
Tried it out on a local test postgres db.
First error: "Connection failed, no module named 'psycopg2'"
lgas wrote 1 day ago:
You need to install psycopg2, or perhaps more likely psycopg2-binary
to access postgres databases. After hiichbindermax and mrbump helped
me out upthread, I was able to get it working via:
uvx --from sqlit-tui --with psycopg2-binary sqlit
If you're not using uv, then you'll need to install psycopg2-binary
in whatever environment you're using (probably via `pip install
psycopg2-binary`).
tanin wrote 1 day ago:
I've built a similar app but for desktop GUI. The UI is very similar to
this app because I like TUI style UI due to the efficient use of UI
space.
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:
[1]: https://github.com/tanin47/backdoor
bpiroman wrote 1 day ago:
dude, this looks so cool!!!
lgas wrote 1 day ago:
I was surprised to find that I could not run it with uvx:
% 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
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(...)?
hiichbindermax wrote 1 day ago:
That's not the same package. You should try sqlit-tui
mrbump wrote 1 day ago:
Yes, for uvx you need to do "uvx --from sqlit-tui sqlit"
lgas wrote 1 day ago:
Ah, thanks. This worked great. I was fooled by the package
name.
oulipo2 wrote 1 day ago:
What would be the main differences with Harlequin?
jbstack wrote 1 day ago:
I've recently been trying to find a good SQL TUI client, and one of
the ones I tried was Harlequin. The main disadvantage, which every
other SQL TUI I tried also suffers from, is that they don't
comprehensively show every type of database object in the browser
pane (e.g. tables, views, indexes, procedures). For example Harlequin
only shows tables. This means that when you want to view one of the
missing ones, you have to run a query. This means that you have to
already know that the object you are looking for exists: there's no
way to get a good overview of what you have in the database just by
glancing at the browser.
For me this sort of defeats the point of having a TUI in the first
place.
It seems like the OP's offering has the same problem, although it
does offer more objects than Harlequin. I'll be bookmarking it to see
how it develops.
MaxTeabag wrote 17 hours 57 min ago:
Appreciate that take!
I'm looking into indexes/triggers/sequences. That will be added in
a near-future release, I hope you can benefit from it once I
release it :)
jbstack wrote 3 hours 54 min ago:
Great. If you added those this would probably become my go-to SQL
client.
NSPG911 wrote 1 day ago:
I asked the same thing on Discord where he also showcased it. He
answered the question with this.
> I wanted to make something that makes intuitive sense to me, and I
wanted to make a sql version of what lazygit does, namely you can
just jump in and there's no need for external documentation. To
navigate the harlequin with keyboard only you have to learn the
keybindings. Also I though it was quite hard to connect to databases
via the cli and install adapters (again, documentation necessary). I
wanted to have a tool that you can just run and its intuitive.
There's definitely more features in harlequin and I went with more
lightweight, though sqlit has SSH tunnels, which harlequin lacks.
When I linked lazysql[0], he replied with this
> That was my original inspiration. Same problem with harlequin, I
didn't feel like it was intutive and to follow the "lazy" mindset of
lazydocker and lazygit, it should just be easy and not require
looking up keybindings. Lazysql ended up with too many features for
my taste to the point it was difficult to use
[0]:
[1]: https://github.com/jorgerojas26/lazysql
onemoresoop wrote 1 day ago:
Looks fantastic.
le-mark wrote 1 day ago:
What tool is used to make the gifs of the ui?
talideon wrote 1 day ago:
asciinema should do the job. It has GIF generation support via its
'agg' tool:
[1]: https://docs.asciinema.org/manual/agg/
ursula_gren wrote 1 day ago:
I know that licecap( [1] ) can be used to accomplish that.
Not sure if this is what is being used here though.
[1]: https://www.cockos.com/licecap/
caminanteblanco wrote 1 day ago:
This looks awesome! Is there a way to log in some way that doesn't
leave your credentials saved in a text file or your bash history? I
would use this at work, but I think my sysadmin would eat me alive if I
was storing the login credentials in plaintext
MaxTeabag wrote 18 hours 19 min ago:
That's a really good point.
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 :)
nodesocket wrote 1 day ago:
Agree, the ability to define an in-memory only connection seems super
useful.
debarshri wrote 1 day ago:
One of the feedback i have heard from people using SSMS is that it has
all the admin operations available in the UI as compared to doing it
yourself. Lot of admins i deal with day to day do not want to use the
terminal or sqlcmd.
I'm wondering if thats true.
baq wrote 1 day ago:
Admins don’t ever close the tool, it’s always open on some RDP.
Devs have different usage patterns.
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.
tracker1 wrote 20 hours 35 min ago:
The only thing I wish they'd do with SSMS is add scaling support to
the app... It's a bit small for my usage most of the time.
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.
debarshri wrote 1 day ago:
What you are describing is access via a PAM. Via RDP is one way to
accessing it.
yoavm wrote 1 day ago:
Looks great, congrats! Also check out [1] which seems to have similar
goals, though is Postgres only.
[1]: https://github.com/achristmascarl/rainfrog
kej wrote 1 day ago:
It looks like rainfrog has branched out from just postgres, but still
doesn't cover the range that sqlit does.
no_news_is wrote 2 days ago:
Very nice, works well.
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.
MaxTeabag wrote 18 hours 12 min ago:
Great UX feedback, that's going to be sorted out in the next release.
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!
oulipo2 wrote 1 day ago:
Using uv you can do
uvx --with psycopg2-binary --from sqlit-tui sqlit
zahlman wrote 1 day ago:
> These commands worked for me, to get Postgresql and MariaDB
database plugins:
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.: [1] > 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 ( [2] ) Pipx can
do a `--global` install that by default puts the managed venv in /opt
and executable symlink in /usr/local/bin.
[1]: https://pipx.pypa.io/stable/#inject-a-package
[2]: https://pipx.pypa.io/stable/changelog/#150-2024-03-29
slimebot80 wrote 2 days ago:
This looks lovely.... does it support remote D1?
MaxTeabag wrote 18 hours 1 min ago:
It will be added in the next release :)
alsetmusic wrote 2 days ago:
Very attractive design.
<- back to front page
You are viewing proxied material from codevoid.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.