A SQLite database browser, editor and AI query builder using FreeSimpleGUI
Project description
FreeSimpleSQL
FreeSimpleSQL is a powerful AI-enhanced SQL database browser for SQLite with an intuitive GUI. Generate SQL queries from natural language, edit records, manage databases, and customize your experience with theme support.
✨ Features
🤖 AI-Powered SQL Generation
- Natural Language to SQL: Describe what you want in plain English, and let AI generate the SQL query for you
- OpenRouter Integration: Support for multiple AI models including Google Gemini, Claude, and more
- Editable Results: AI-generated queries can be manually edited before execution
- Query History: Track both your natural language prompts and the executed SQL queries
🗄️ Database Management
- SQLite Browser: View, search, and paginate through database records
- Record Editing: Double-click any row to edit records with built-in validation
- Export/Import: Backup and restore databases with a single click
- Schema Viewer: Built-in schema inspector to understand your database structure
🎨 User Experience
- Theme Switching: Choose from 100+ built-in themes with instant live preview
- Resizable Split Panes: Customize your workspace layout
- Auto-save Settings: API keys, model preferences, and themes persist across sessions
- Pagination: Efficiently browse large datasets with configurable page sizes
🛠️ Technical Features
- Zero Manual Setup: Generates sample data automatically on first run
- Type Validation: Automatic validation for IP addresses, JSON, timestamps, and more
- Error Handling: Comprehensive error messages with troubleshooting tips
- Pure Python: No external database dependencies beyond SQLite
🚀 Quick Start
Installation
pip install freesimplesql
Or clone from GitHub and run directly:
git clone https://github.com/fxyzbtc/freesimplesql.git
cd freesimplesql
uv sync
python -m freesimplesql
Running the Application
# Run as a module
uv run python -m freesimplesql
# Or run the executable (if built)
freesimplesql.exe
🔧 Configuration
AI Integration Setup
- Get an API Key: Sign up at OpenRouter to get your free API key
- Configure in App: Enter your API key in the AI Builder Settings section
- Select a Model: Choose from available models (free models are available!)
- Start Generating: Write natural language prompts and generate SQL instantly
Settings Persistence
Your settings are automatically saved to settings.json:
- API URL and Model selection
- API Key (encrypted storage recommended for production)
- Selected theme
- All settings persist across sessions
📖 Usage Examples
AI-Generated Queries
Prompt: "Show all error messages from yesterday"
Generated SQL: SELECT * FROM message WHERE msg_name = 'ERROR' AND timestamp > '2026-01-09'
Prompt: "Find messages with 'timeout' in content"
Generated SQL: SELECT * FROM message WHERE msg_content LIKE '%timeout%'
Manual Editing
After AI generation, you can:
- Edit the SQL query directly in the text editor
- Click "Search" to execute your customized query
- View results in the paginated table below
Record Editing
- Double-click any row in the results table
- Edit fields in the modal dialog
- Validation ensures data integrity:
- IP addresses must be valid IPv4/IPv6
- JSON content is validated
- Timestamps follow ISO format
- Serial numbers must be integers
🎨 Theme Options
Choose from themes including:
- DarkBlue3 (developer favorite)
- SystemDefaultForReal (clean & professional)
- DarkGrey
- LightGreen
- And 100+ more!
Changes apply instantly without restart.
📊 Database Schema
The default schema includes a message table with:
id: Primary keysn: Serial numbertimestamp: Message timestampsrc_ip,dst_ip: Source and destination IPsmsg_name: Message type (INFO, WARNING, ERROR, etc.)msg_content: JSON message payloadhexvalue: Hex-encoded content
🔒 Security Notes
- API keys are stored in plaintext in
settings.json- use environment variables in production - The application runs locally - your data never leaves your machine
- OpenRouter communications are encrypted via HTTPS
🐛 Troubleshooting
"No cookie auth credentials found" (401 Error)
- Verify your API key is correct (should start with
sk-or-...for OpenRouter) - Check that you're using the correct API endpoint
- Ensure your key has credits/permissions
"KeyError" on Reset
- This has been fixed in the latest version
- Update to the latest release
🤝 Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues.
📄 License
MIT License - see LICENSE file for details
🙏 Acknowledgments
- Built with FreeSimpleGUI
- Powered by SQLModel
- AI integration via OpenRouter
Made with ❤️ for developers who want simple, powerful database tools
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.2.5.tar.gz.
File metadata
- Download URL: freesimplesql-0.2.5.tar.gz
- Upload date:
- Size: 146.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
998158ba3395fe12c1d04a787401d241013b83746cddb523d3ce263f11233010
|
|
| MD5 |
f9c414551a500b671fa27208cf6f4d9d
|
|
| BLAKE2b-256 |
c22e2f9e05791c2ec8d9ad00ed055bd5fe7591250671776e032d98a9a10cd12e
|
File details
Details for the file freesimplesql-0.2.5-py3-none-any.whl.
File metadata
- Download URL: freesimplesql-0.2.5-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d359fa2b0a5faec3f5a8dd2135d3b86fd7d6576d87ee002bc2875fcf77ac0b88
|
|
| MD5 |
940a1004e1b5e145eebfcac091cc4ca9
|
|
| BLAKE2b-256 |
9191c25738ccef82ca3afcf4088888b77df51370e11fe145394929b1a0782019
|