Skip to main content

A SQLite database browser, editor and AI query builder using FreeSimpleGUI

Project description

FreeSimpleSQL

GitHub PyPI Python

Screenshot

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

  1. Get an API Key: Sign up at OpenRouter to get your free API key
  2. Configure in App: Enter your API key in the AI Builder Settings section
  3. Select a Model: Choose from available models (free models are available!)
  4. 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

  1. Double-click any row in the results table
  2. Edit fields in the modal dialog
  3. 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 key
  • sn: Serial number
  • timestamp: Message timestamp
  • src_ip, dst_ip: Source and destination IPs
  • msg_name: Message type (INFO, WARNING, ERROR, etc.)
  • msg_content: JSON message payload
  • hexvalue: 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


Made with ❤️ for developers who want simple, powerful database tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freesimplesql-0.2.3.tar.gz (251.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freesimplesql-0.2.3-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file freesimplesql-0.2.3.tar.gz.

File metadata

  • Download URL: freesimplesql-0.2.3.tar.gz
  • Upload date:
  • Size: 251.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.25

File hashes

Hashes for freesimplesql-0.2.3.tar.gz
Algorithm Hash digest
SHA256 18d4213acb49335275ba6eec98e1f06dd140cb0f32a9906f4d650dfbc6941725
MD5 e98bde887d97bcad0d338c9637368828
BLAKE2b-256 eed276630ad529a1419c7f1cfe1730124f616dd23003853a370a50067a5fcc7e

See more details on using hashes here.

File details

Details for the file freesimplesql-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for freesimplesql-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 009bc1d0eebaf7b678f4145d3a3f14cd126adeffe2b8bd86537983b5a3e78d1c
MD5 2266b9bd9c4ed9359289312fa5255f0e
BLAKE2b-256 14d666a1fe6370795b44a6148dccc47e9d3d72056d4c0255c3b867dc2be10b30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page