SQLsaber - Open-source agentic SQL assistant
Project description
SQLsaber
SQLsaber is an open-source agentic SQL assistant. Think Claude Code but for SQL.
Ask questions about your data in plain English. SQLsaber writes SQL queries, executes them, and explains the results.
SQLsaber reads your schema, writes SQL, executes it, and explains the results—all from a single natural language prompt.
$ saber "How many orders were placed last month?"
# SQLsaber will:
# 1. Discover relevant tables (orders, order_items, etc.)
# 2. Analyze their schema
# 3. Generate and run SQL
# 4. Return results with explanation
Why SQLsaber?
- No context switching — Stay in your terminal, ask questions, get answers
- Schema-aware — Automatically introspects your database; no manual setup
- Safe by default — Read-only queries; won't modify your data
- Works with your stack — PostgreSQL, MySQL, SQLite, DuckDB, and CSV files
Install
# Recommended
uv tool install sqlsaber
# Or with pipx
pipx install sqlsaber
Then run:
saber
On first launch, SQLsaber walks you through connecting a database and setting up authentication.
Quick Examples
# Interactive mode
saber
# Single query
saber "show me users who signed up this week"
# Pipe from stdin
echo "top 10 customers by revenue" | saber
# Use a specific database
saber -d mydb "count active subscriptions"
Features
| Feature | Description |
|---|---|
| Schema introspection | Discovers tables, columns, and relationships automatically |
| Conversation memory | Add context like "dates are stored as Unix timestamps" |
| Thread history | Resume past conversations with saber threads resume |
| Extended thinking | Enable --thinking for complex analytical queries |
| Multiple AI providers | Anthropic, OpenAI, Google, Groq (Claude Sonnet 4 by default) |
Configuration
Add a database
saber db add mydb
# Prompts for connection details
Or pass a connection string directly:
saber -d "postgresql://user:pass@localhost:5432/mydb" "count users"
Change AI model
saber models set
Add memory (context for your database)
saber memory add "customer_id in orders table references users.id"
saber memory add "all timestamps are UTC"
How It Works
- Discovery — Lists tables and identifies relevant ones based on your question
- Schema analysis — Introspects only the tables needed
- Query generation — Writes SQL tailored to your database dialect
- Execution — Runs read-only queries with safety checks
- Results — Formats output with explanations
Documentation
Full docs at sqlsaber.com:
Contributing
Contributions welcome! Please open an issue first to discuss changes.
If you find SQLsaber useful, a ⭐ on GitHub helps others discover it.
License
Apache-2.0 — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sqlsaber-0.47.2.tar.gz.
File metadata
- Download URL: sqlsaber-0.47.2.tar.gz
- Upload date:
- Size: 6.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42925a9317f3e3f6ce221e9ec3d70a3661c750bbf8fdb58f9b9568a08112a96e
|
|
| MD5 |
4a54bf9196ba8de54e28f3aa21529ca6
|
|
| BLAKE2b-256 |
906fa4a67742007bd6af9a23dcf2e69a3a9252e1539a76a83333b303f42f6d7c
|
File details
Details for the file sqlsaber-0.47.2-py3-none-any.whl.
File metadata
- Download URL: sqlsaber-0.47.2-py3-none-any.whl
- Upload date:
- Size: 124.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34b733fdfc705e7ea3a1a786f19ea1e0c6c890668c666d4b9ccd89f196b99b2b
|
|
| MD5 |
cd7117069f91ef51a771b59fe6a20c93
|
|
| BLAKE2b-256 |
edf8c9ea553f16297b7213fe2c941f6513bdb113766d999fd7a6432b4e25b4e6
|