SQLite Workbench
Overview
SQLite Workbench is a responsive PySide6 desktop application and Python package for working with SQLite databases. Slow operations run outside the GUI thread, and large views use bounded chunks or pagination instead of loading complete datasets into memory.
Features
- Create, open, inspect, attach, back up, and restore SQLite databases
- Browse tables, views, indexes, triggers, columns, foreign keys, and DDL
- Use multiple SQL tabs with syntax highlighting, autocomplete, formatting, history, and query plans
- Execute selections, individual statements, or atomic multi-statement scripts
- Browse and edit paginated table data using complete primary keys for safe UPDATE and DELETE
- Import CSV and Excel files transactionally in chunks
- Export queries and tables as CSV, Excel, JSON, JSON Lines, or SQL dumps
- Run integrity checks, VACUUM, ANALYZE, supported PRAGMAs, and database-wide searches in workers
- Switch between system, light, and dark themes
- Restore sessions and autosaved SQL after an unexpected shutdown
- Inspect BLOB values as bounded hex/text previews or recognized images
Installation
pip install sqlite-workbench
For development:
git clone <repository-url>
cd sqlite-workbench
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
On Windows, activate the environment with .venv\Scripts\activate.
Usage
sqlite-workbench example.db
Use Ctrl+Enter for the selection/current statement and F5 for the complete SQL tab. Open
database objects from Database Explorer; Ctrl+P searches tables and columns.
CLI
sqlite-workbench [--readonly] [database]
sqlite-workbench
sqlite-workbench example.sqlite
sqlite-workbench --readonly production.db
python -m sqlite_workbench example.db
Python API
from sqlite_workbench import Database
db = Database("example.db")
db.initialize()
tables = db.tables()
result = db.execute("SELECT * FROM customers WHERE country = ?", ["PL"])
The supported public exports are Database, QueryResult, and SQLiteWorkbenchError.
Screenshots
Screenshots will be added after final visual review. No screenshot assets are currently included.
Development
The src/ package separates core, gui, models, workers, importers, exporters, and
utils. Install it in editable mode with python -m pip install -e ".[dev]".
Testing
pytest
ruff check .
QT_QPA_PLATFORM=offscreen pytest
Building
python -m build
twine check dist/*
The build creates a wheel and source distribution under dist/.
Publishing to PyPI
TestPyPI is recommended before production:
python -m twine upload --repository testpypi dist/*
python -m twine upload dist/*
Publishing requires owner credentials and must be performed explicitly by the owner.
License
SQLite Workbench is distributed under the MIT License. See LICENSE.
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 sqlite_workbench-0.1.1.tar.gz.
File metadata
- Download URL: sqlite_workbench-0.1.1.tar.gz
- Upload date:
- Size: 58.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dba0e61bc091c8354a838259e642c0b9a8822524966545db39ae90546618b1d0
|
|
| MD5 |
eac4c62c5a51a5eb75190d33c87787fb
|
|
| BLAKE2b-256 |
faecd36fc31493ee519cad77cc4e62e78eb3b95d9987ea00ea67f8bf4553d471
|
File details
Details for the file sqlite_workbench-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sqlite_workbench-0.1.1-py3-none-any.whl
- Upload date:
- Size: 58.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d2f149a4e584d6028ef21b690377881dab6f95100723db7fd078e93bce414a6
|
|
| MD5 |
0e2def79a6b88fa52610cae06cc9511d
|
|
| BLAKE2b-256 |
ad3c7f2669ff3be5d39eae159584b247e855addc2af2e1a737d743be4670c1e3
|