| _______ __ _______ | |
| | | |.---.-..----.| |--..-----..----. | | |.-----..--.--.--..-----. | |
| | || _ || __|| < | -__|| _| | || -__|| | | ||__ --| | |
| |___|___||___._||____||__|__||_____||__| |__|____||_____||________||_____| | |
| 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 |