Skip to content

Commit 25114fa

Browse files
committed
Improve readme, improve fast data table header styling
1 parent 35d8ba5 commit 25114fa

File tree

3 files changed

+56
-26
lines changed

3 files changed

+56
-26
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,8 @@ sqlit-notifications/
4646

4747
# Integration test artifacts
4848
tests/integration/python_packages/artifacts/
49+
50+
# Local assets
51+
assets/
52+
.worktrees/
53+
.obsidian/

README.md

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,68 @@
1-
# sqlit
1+
<p align="center">
2+
<img src="assets/favorites/logo.png" alt="sqlit logo" width="200">
3+
</p>
24

3-
**The lazygit of SQL databases.** Connect to Postgres, MySQL, SQL Server, SQLite, ClickHouse, FirebirdSQL, Supabase, Turso, and more from your terminal in seconds.
5+
<h1 align="center">sqlit</h1>
46

5-
A lightweight TUI for people who just want to run some queries fast.
7+
<p align="center">
8+
<strong>The lazygit of SQL databases.</strong><br>
9+
Connect and query your database from your terminal in seconds.
10+
</p>
611

7-
![Python](https://img.shields.io/badge/python-3.10+-blue.svg)
8-
![License](https://img.shields.io/badge/license-MIT-green.svg)
12+
<p align="center">
13+
<img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="Python">
14+
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License">
15+
</p>
916

10-
### Multi-database Support
17+
---
18+
19+
### *Connect*
20+
Sqlit supports all major DBMS's: SQL Server, PostgreSQL, MySQL, SQLite, MariaDB, FirebirdSQL, Oracle, DuckDB, CockroachDB, ClickHouse, Turso and Clickhouse.
1121
![Database Providers](demos/demo-providers.gif)
1222

13-
### Query History
23+
### **Query**
24+
Syntax highlighting. History. VIM-like combos.
1425
![Query History](demos/demo-history.gif)
15-
**Filter results**
26+
##### **Results**
27+
Inspect data, filter based on content, supports fuzzy search, loads millions of rows without any problem.
1628
![Filter results](demos/demo-filter/demo-filter.gif)
1729

18-
**Docker discovery**
30+
##### **Docker discovery**
31+
Finds running docker sql resources. Connect to your local test servers in seconds without any configuation.
1932
![Filter results](demos/demo-docker-picker.gif)
2033

2134

35+
2236
## Features
2337

24-
- **Connection manager UI** - Save connections, switch between databases without CLI args
38+
- **Connection manager** - Save connections, switch between databases without CLI args
2539
- **Just run `sqlit`** - No CLI config needed, pick a connection and go
2640
- **Multi-database out of the box** - SQL Server, PostgreSQL, MySQL, SQLite, MariaDB, FirebirdSQL, Oracle, DuckDB, CockroachDB, ClickHouse, Supabase, Turso - no adapters to install
27-
- Connect directly to database docker container
41+
- **Docker** Connect directly to database docker container
2842
- **SSH tunnels built-in** - Connect to remote databases securely with password or key auth
43+
- Secure credentials - Stores your credentials on your OS's credentials store
2944
- **Vim-style editing** - Modal editing for terminal purists
3045
- **Query history** - Automatically saves queries per connection, searchable and sortable
31-
- Filter results
32-
- Context-aware help (no need to memorize keybindings)
33-
- Browse databases, tables, views, and stored procedures
34-
- Indexes, Triggers and Sequences
35-
- SQL autocomplete for tables, columns, and procedures
36-
- Multiple auth methods (Windows, SQL Server, Entra ID)
37-
- CLI mode for scripting and AI agents
38-
- Themes (Tokyo Night, Nord, and more)
39-
- Auto-detects and installs ODBC drivers (SQL Server)
46+
- **Filter results** - Find the data you're looking for without squinting your eyes in the results view
47+
- **Context-aware help** - No need to memorize keybindings
48+
- **Browse databases** - View tables, views, stored procedures, indexes, triggers and sequences
49+
- **Autocomplete** - tables, columns, and procedures
50+
- **CLI mode** - executing sql has never been this easy
51+
- Themes (Rose Pine, Tokyo Night, Nord, Gruvbox)
52+
- **Dependency wizard** - User friendly installation for required packages and drivers
4053

4154

4255
## Motivation
43-
I usually do my work in the terminal, but I found myself either having to boot up massively bloated GUI's like SSMS or Vscode for the simple task of merely browsing my databases and doing some queries toward them. For the vast majority of my use cases, I never used any of the advanced features for inspection and debugging that SSMS and other feature-rich clients provide.
4456

45-
I had the unfortunate situation where doing queries became a pain-point due to the massive operation it is to open SSMS and it's lack of intuitive keyboard only navigation.
57+
Throughout my career, the undesputed truth was that SSMS was the only respectable way to access a database. It didn't matter that I wasn't a DBA, or that I didn't need complex performance graphs. I was expected to install a gigabyte-heavy behemoth that took ages to launch all for the mere grand purpose trying to navigate this jungle of features of running a few queries, update and view a couple of rows.
4658

47-
The problem got severely worse when I switched to Linux and had to rely on VS CODE's SQL extension to access my database. Something was not right.
59+
When I switched to Linux, I was suddenly unable to return to the devil I know, and I asked myself: _how do I access my data now?_
4860

49-
I tried to use some existing TUI's for SQL, but they were not intuitive for me and I missed the immediate ease of use that other TUI's such as Lazygit provides.
61+
The popular answer was VS Code's SQL extension. But why should we developers launch a heavy Electron app designed for coding just to execute SQL? I looked for SQL TUIs, but the options were sparse. The ones I found lacked the user-friendliness and immediate "pick-up-and-go" nature of tools I loved, like `lazygit`, and I shortly returning to vscode sql extension.
5062

51-
sqlit is a lightweight database TUI that is easy to use and beautiful to look at, just connect and query. It's for you that just wants to run queries toward your database without launching applications that eats your ram and takes time to load up. Sqlit supports SQL Server, PostgreSQL, MySQL, SQLite, MariaDB, FirebirdSQL, Oracle, DuckDB, CockroachDB, ClickHouse, Supabase, and Turso, and is designed to make it easy and enjoyable to access your data, not painful.
63+
Something wasn't right. I asked myself, why is it that running SQL queries can't be enjoyable? So I created `sqlit`.
5264

65+
`sqlit` is for the developer who just wants to query their database with a user friendly UI without their RAM being eaten alive. It is a lightweight, beautiful, and keyboard-driven TUI designed to make accessing your data enjoyable, fast and easy like it should be.
5366

5467
## Installation
5568

@@ -174,7 +187,7 @@ Connections and settings are stored in `~/.sqlit/`.
174187

175188
Connection details are stored in `~/.sqlit/connections.json`, but passwords are stored in your OS keyring when available (macOS Keychain, Windows Credential Locker, Linux Secret Service).
176189

177-
If a keyring backend isn't available, `sqlit` will ask whether to store passwords as plaintext in `~/.sqlit/` (protected permissions). If you decline, youll be prompted when needed.
190+
If a keyring backend isn't available, `sqlit` will ask whether to store passwords as plaintext in `~/.sqlit/` (protected permissions). If you decline, you'll be prompted when needed.
178191

179192
### How does sqlit compare to Harlequin, Lazysql, etc.?
180193

sqlit/app.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,18 @@ class SSMSTUI(
220220
height: 1fr;
221221
}
222222
223+
/* FastDataTable header styling */
224+
DataTable > .datatable--header {
225+
background: $surface-lighten-1;
226+
color: $primary;
227+
text-style: bold;
228+
}
229+
230+
DataTable:focus > .datatable--header {
231+
background: $primary 20%;
232+
color: $text;
233+
}
234+
223235
/* FastDataTable already has zebra stripes with $primary 10% */
224236
225237
#status-bar {

0 commit comments

Comments
 (0)