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.4.tar.gz (146.4 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.4-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for freesimplesql-0.2.4.tar.gz
Algorithm Hash digest
SHA256 db6d0d03f9fb101bd712490d93625d06ae2f6f2d8f8be00ac21b349f4a53fbf3
MD5 fd31821d081045869631032f94ba0d39
BLAKE2b-256 2f5b47d55009400ff67c2d9c9ddd6554a29176582a8971ab8da7cd395d0a47e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for freesimplesql-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 853375cfc92ad3f8a24960fd7516477fb724bbd04e2e2faa26e020e8dbc1ea9a
MD5 327198454dd7a58395b78eac614be1c1
BLAKE2b-256 c9e47dc804167aa9b7ff35674155209e3788db496b79d18012cc46a716fc57c3

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