sqlsaber 0.5.0__tar.gz → 0.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sqlsaber might be problematic. Click here for more details.
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/CHANGELOG.md +36 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/PKG-INFO +9 -8
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/README.md +8 -7
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/pyproject.toml +1 -1
- sqlsaber-0.7.0/sqlsaber.svg +5 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/agents/anthropic.py +55 -17
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/agents/base.py +13 -3
- sqlsaber-0.7.0/src/sqlsaber/cli/completers.py +172 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/display.py +33 -3
- sqlsaber-0.7.0/src/sqlsaber/cli/interactive.py +185 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/streaming.py +29 -2
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/database/schema.py +17 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/uv.lock +1 -1
- sqlsaber-0.5.0/src/sqlsaber/cli/interactive.py +0 -96
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/.github/workflows/publish.yml +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/.gitignore +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/.python-version +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/CLAUDE.md +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/LICENSE +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/pytest.ini +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/__main__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/agents/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/agents/mcp.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/agents/streaming.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/commands.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/database.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/memory.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/cli/models.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/config/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/config/api_keys.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/config/database.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/config/settings.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/database/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/database/connection.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/mcp/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/mcp/mcp.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/memory/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/memory/manager.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/memory/storage.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/models/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/models/events.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/src/sqlsaber/models/types.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/conftest.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_cli/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_cli/test_commands.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_config/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_config/test_database.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_config/test_settings.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_database/__init__.py +0 -0
- {sqlsaber-0.5.0 → sqlsaber-0.7.0}/tests/test_database/test_connection.py +0 -0
|
@@ -4,6 +4,42 @@ All notable changes to SQLSaber will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.7.0] - 2025-07-01
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Table name autocomplete with "@" prefix in interactive mode
|
|
12
|
+
|
|
13
|
+
- Type "@" followed by table name to get fuzzy matching completions
|
|
14
|
+
- Supports schema-aware completions (e.g., "@sample" matches "public.sample")
|
|
15
|
+
|
|
16
|
+
- Rich markdown display for assistant responses
|
|
17
|
+
- After streaming completes, the final response is displayed as formatted markdown
|
|
18
|
+
|
|
19
|
+
## [0.6.0] - 2025-06-30
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- Slash command autocomplete in interactive mode
|
|
24
|
+
- Commands now use slash prefix: `/clear`, `/exit`, `/quit`
|
|
25
|
+
- Autocomplete shows when typing `/` at the start of a line
|
|
26
|
+
- Press Tab to select suggestion
|
|
27
|
+
- Query interruption with Ctrl+C in interactive mode
|
|
28
|
+
- Press Ctrl+C during query execution to gracefully cancel ongoing operations
|
|
29
|
+
- Preserves conversation history up to the interruption point
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Updated table display for better readability: limit to first 15 columns on wide tables
|
|
34
|
+
- Shows warning when columns are truncated
|
|
35
|
+
- Interactive commands now require slash prefix (breaking change)
|
|
36
|
+
- `clear` → `/clear`
|
|
37
|
+
- `exit` → `/exit`
|
|
38
|
+
- `quit` → `/quit`
|
|
39
|
+
- Removed default limit of 100. Now model will decide it.
|
|
40
|
+
|
|
41
|
+
## [0.5.0] - 2025-06-27
|
|
42
|
+
|
|
7
43
|
### Added
|
|
8
44
|
|
|
9
45
|
- Added support for plotting data from query results.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlsaber
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: SQLSaber - Agentic SQL assistant like Claude Code
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -212,23 +212,24 @@ The MCP server uses your existing SQLSaber database configurations, so make sure
|
|
|
212
212
|
|
|
213
213
|
## How It Works
|
|
214
214
|
|
|
215
|
-
SQLSaber uses
|
|
215
|
+
SQLSaber uses a multi-step process to gather the right context, provide it to the model, and execute SQL queries to get the right answers:
|
|
216
|
+
|
|
217
|
+

|
|
216
218
|
|
|
217
219
|
### 🔍 Discovery Phase
|
|
218
220
|
|
|
219
221
|
1. **List Tables Tool**: Quickly discovers available tables with row counts
|
|
220
|
-
2. **Pattern Matching**: Identifies relevant tables based on your query
|
|
222
|
+
2. **Pattern Matching**: Identifies relevant tables based on your query
|
|
221
223
|
|
|
222
224
|
### 📋 Schema Analysis
|
|
223
225
|
|
|
224
|
-
3. **Smart Introspection**: Analyzes only the specific table structures needed for your query
|
|
225
|
-
4. **Selective Loading**: Fetches schema information only for relevant tables
|
|
226
|
+
3. **Smart Schema Introspection**: Analyzes only the specific table structures needed for your query
|
|
226
227
|
|
|
227
228
|
### ⚡ Execution Phase
|
|
228
229
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
230
|
+
4. **SQL Generation**: Creates optimized SQL queries based on natural language input
|
|
231
|
+
5. **Safe Execution**: Runs read-only queries with built-in protections against destructive operations
|
|
232
|
+
6. **Result Formatting**: Presents results with explanations in tables and optionally, visualizes using plots
|
|
232
233
|
|
|
233
234
|
## Contributing
|
|
234
235
|
|
|
@@ -191,23 +191,24 @@ The MCP server uses your existing SQLSaber database configurations, so make sure
|
|
|
191
191
|
|
|
192
192
|
## How It Works
|
|
193
193
|
|
|
194
|
-
SQLSaber uses
|
|
194
|
+
SQLSaber uses a multi-step process to gather the right context, provide it to the model, and execute SQL queries to get the right answers:
|
|
195
|
+
|
|
196
|
+

|
|
195
197
|
|
|
196
198
|
### 🔍 Discovery Phase
|
|
197
199
|
|
|
198
200
|
1. **List Tables Tool**: Quickly discovers available tables with row counts
|
|
199
|
-
2. **Pattern Matching**: Identifies relevant tables based on your query
|
|
201
|
+
2. **Pattern Matching**: Identifies relevant tables based on your query
|
|
200
202
|
|
|
201
203
|
### 📋 Schema Analysis
|
|
202
204
|
|
|
203
|
-
3. **Smart Introspection**: Analyzes only the specific table structures needed for your query
|
|
204
|
-
4. **Selective Loading**: Fetches schema information only for relevant tables
|
|
205
|
+
3. **Smart Schema Introspection**: Analyzes only the specific table structures needed for your query
|
|
205
206
|
|
|
206
207
|
### ⚡ Execution Phase
|
|
207
208
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
4. **SQL Generation**: Creates optimized SQL queries based on natural language input
|
|
210
|
+
5. **Safe Execution**: Runs read-only queries with built-in protections against destructive operations
|
|
211
|
+
6. **Result Formatting**: Presents results with explanations in tables and optionally, visualizes using plots
|
|
211
212
|
|
|
212
213
|
## Contributing
|
|
213
214
|
|