A SQLite database browser, editor and AI query builder using FreeSimpleGUI
Project description
FreeSimpleSQL
A modern, user-friendly SQL database browser and query tool powered by AI. FreeSimpleSQL simplifies database interactions with a clean interface, AI-assisted query generation, and powerful visualization features.
✨ Features
- AI SQL Generator: Describe your query in plain English (e.g., "Show me messages grouped by type") and let the AI generate the SQL for you.
- Intuitive Interface: Clean, dark-themed UI built with FreeSimpleGUI.
- Smart Query History:
- Automatically saves your queries and AI prompts.
- Access previous queries from a dropdown list.
- Persists history across sessions (up to 300 records).
- Dynamic Data Table:
- Automatically adjusts columns based on your query results.
- Handles complex queries, aggregations, and joins.
- Pagination support for large datasets.
- Export to CSV: One-click copy of table data to clipboard.
- Detailed Record View:
- Select any row to view full details.
- JSON View: Pretty-printed JSON view for complex data fields.
- Plain Text View: Clean key-value pair display.
- Keyboard Shortcuts: speed up your workflow with intuitive hotkeys.
Alt-P: Focus AI PromptAlt-G: Generate & Apply SQLAlt-S: Execute QueryAlt-Q: Focus Query Editor
- Database Management:
- Import/Export SQLite databases via the File menu.
- Theme selection support.
🚀 Getting Started
Prerequisites
- Python 3.8+
uvpackage manager (recommended) orpip
Installation
-
Clone the repository:
git clone <repository_url> cd freesimplesql
-
Install dependencies:
uv sync # or pip install -r requirements.txt
-
Run the application:
uv run -m freesimplesql # or python -m freesimplesql
📖 Usage Guide
1. AI SQL Generation
- Press
Alt-Pto focus the AI Prompt box. - Type your request (e.g., "Count total messages per source IP").
- Press
Alt-G. The system will generate the SQL and automatically place it in the query editor. - Press
Alt-Sto execute.
2. Manual Querying
- Press
Alt-Qto focus the SQL editor. - Type your SQL query (e.g.,
SELECT * FROM message WHERE sn > 100). - Click Search or press
Alt-S.
3. Using History
- Select a previous query from the History dropdown above the query editor.
- The editor will populate with the query AND the original AI prompt used to create it (if applicable).
4. Configuration
- AI Settings: Go to
AI -> LLM Settingsto configure your API key and preferred model. - Themes: Change the visual style via the
Thememenu.
🛠️ Technology Stack
- GUI: FreeSimpleGUI
- Database: SQLite via SQLModel & SQLAlchemy
- Data Handling: Pandas (internal usage)
- AI Integration: OpenRouter API compatible
📝 License
This project is open-source and available under the MIT 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 freesimplesql-0.3.0.tar.gz.
File metadata
- Download URL: freesimplesql-0.3.0.tar.gz
- Upload date:
- Size: 121.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36aecebf439b6a758ab32a1c64484cf221d7d0168d2c7ce10153879914289532
|
|
| MD5 |
6aeb29b903d3dda4c845fc20cbbf9ec8
|
|
| BLAKE2b-256 |
97983b88d013f9e191d0859198889c9b76b340cfdf32c476f924bff11a07bd15
|
File details
Details for the file freesimplesql-0.3.0-py3-none-any.whl.
File metadata
- Download URL: freesimplesql-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ff02e93d9099f57d8d61a130055f95ba99e7f092044a18c1841d283382fd8af
|
|
| MD5 |
8ff6e3e40eafd33967435e68201f005b
|
|
| BLAKE2b-256 |
17e45dfbeefce12528fdf29bef4a111684c5fd29bcac4bcd4392987bb7abf124
|