A powerful SQL shell with GUI interface for data analysis
Project description
SQLShell
A modern SQL REPL interface for seamless querying of Excel, Parquet, and SQLite databases
🚀 Key Features
- Interactive SQL Interface - Rich syntax highlighting for enhanced query writing
- DuckDB Integration - Built-in support for local DuckDB database (pool.db)
- Multi-Format Support - Import and query Excel (.xlsx, .xls) and CSV files effortlessly
- Modern UI - Clean, tabular results display with intuitive controls
- Productivity Tools - Streamlined workflow with keyboard shortcuts (e.g., Ctrl+Enter for query execution)
📦 Installation
Linux Setup with Virtual Environment
# Create and activate virtual environment
python3 -m venv ~/.venv/sqlshell
source ~/.venv/sqlshell/bin/activate
# Install SQLShell
pip install sqlshell
# Configure shell alias
echo 'alias sqls="~/.venv/sqlshell/bin/sqls"' >> ~/.bashrc # or ~/.zshrc for Zsh
source ~/.bashrc # or source ~/.zshrc
Windows Quick Start
SQLShell is immediately available via the sqls command after installation:
pip install sqlshell
🎯 Getting Started
-
Launch the Application
sqls
-
Database Connection
- SQLShell automatically connects to a local DuckDB database named 'pool.db'
-
Working with Excel Files
- Click "Browse Excel" to select your file
- File contents are loaded as 'imported_data' table
- Query using standard SQL syntax
-
Query Execution
- Enter SQL in the editor
- Execute using Ctrl+Enter or the "Execute" button
- View results in the structured output panel
📝 Query Examples
Basic Join Operation
SELECT *
FROM sample_sales_data cd
INNER JOIN product_catalog pc ON pc.productid = cd.productid
LIMIT 3;
Multi-Statement Queries
-- Create a temporary view
CREATE OR REPLACE TEMPORARY VIEW test_v AS
SELECT *
FROM sample_sales_data cd
INNER JOIN product_catalog pc ON pc.productid = cd.productid;
-- Query the view
SELECT DISTINCT productid
FROM test_v;
💡 Pro Tips
- Use temporary views for complex query organization
- Leverage keyboard shortcuts for efficient workflow
- Explore the multi-format support for various data sources
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
sqlshell-0.1.8.tar.gz
(3.7 MB
view details)
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 sqlshell-0.1.8.tar.gz.
File metadata
- Download URL: sqlshell-0.1.8.tar.gz
- Upload date:
- Size: 3.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3f8c2f475c9269c3d62fe35aa929b2f2bcab89d35fa51f2f0227622eda961e3
|
|
| MD5 |
915bb5a84a7c5cac847d5718691009b9
|
|
| BLAKE2b-256 |
175da446a4d6f8b66fb05a894bb932cd2a3d0be06b83f522870005de59a3b769
|
File details
Details for the file sqlshell-0.1.8-py3-none-any.whl.
File metadata
- Download URL: sqlshell-0.1.8-py3-none-any.whl
- Upload date:
- Size: 3.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d44f9ca103121e70818b0ef480b621c3ade65d6c61d2cead709dc2ecce7a242
|
|
| MD5 |
943b5ef242c6aefbb94aa72e1aab6f0e
|
|
| BLAKE2b-256 |
1176a1f50e49bb230a813c0a45a2080a8ed5b113d44cc0bddd60cfe110e06324
|