notepaDB
A notepad/scratchpad, but only for databases.
Type SQL, get autocomplete for real table and column names from the server you're connected to, run it, see results. No project setup, no saved connections you have to manage in some other tool — just open it and start querying, the way you'd open Notepad for text.
Tabs are independent sessions (like SSMS query windows): each tab has its own connection, schema browser, and results grid.
Features
- Multi-engine: SQL Server, PostgreSQL, MySQL/MariaDB, Oracle, and SQLite, all behind one consistent interface.
- Schema-aware autocomplete for real table and column names pulled live from the connected server — not just generic SQL keywords.
- Independent tabs, each with its own connection, schema browser, and results grid, similar to query windows in SSMS.
- Results grid with per-cell coloring (e.g. gray NULLs), CSV export, and a
schema-browser right-click menu (select top 1000 rows, script
CREATE TABLE, copy column list, export table to CSV). - Query tools: run (
F5, orCtrl+Enterfor just the statement at the caret), cancel, explain plan, SQL formatting, and searchable query history. - Editor basics: inline find/replace, line numbers, word wrap, toggle comment, move lines, zoom, and session restore across restarts.
- A native-feeling UI: light and dark themes that follow the desktop (or
your choice), the desktop's own fonts, HiDPI-aware, a command palette
(
Ctrl+Shift+P) over every command and table, andF1for the full list of keyboard shortcuts.
Installation
Windows: download the latest notepadb.exe from
Releases and run it — no
Python install needed.
From source (any OS, or if you want to modify the code):
git clone https://github.com/DrorMaor/notepadb.git
cd notepadb
pip install -r requirements.txt
python -m notepadb
Or install it properly via pip:
pip install notepadb
notepadb
Note: requirements.txt installs drivers for every supported engine. If you
only need one or two (e.g. PostgreSQL and SQLite), you can skip the others —
each backend only fails at connect time if its driver is missing, not at
startup.
Usage
Open a tab, pick Connection → Connect… (Ctrl+K), choose your engine,
and start typing SQL. Run with F5 (everything, or the selection) or
Ctrl+Enter (the statement at the caret). Ctrl+Shift+P opens the command
palette and F1 lists every shortcut.
Supported databases
| Engine | Driver |
|---|---|
| SQL Server | pyodbc |
| PostgreSQL | psycopg2-binary |
| MySQL / MariaDB | mysql-connector-python |
| Oracle | oracledb (thin mode — no Instant Client needed) |
| SQLite | stdlib sqlite3 |
Contributing
Bug reports, feature requests, and pull requests are welcome — see CONTRIBUTING.md.
License
GPL-2.0-only. See LICENSE.
Support
If notepaDB is useful to you, consider buying me a coffee.
Metadata
Release files for notepadb 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| notepadb-0.2.0.tar.gz | 83.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| notepadb-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 168.1 kB
Release files / notepadb-0.2.0.tar.gz
| Download URL | notepadb-0.2.0.tar.gz |
|---|---|
| Size | 83.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60de9a271c41cdfb43b0c16c760e02e304eb7fac1cc7964d589b483684889072
|
|
BLAKE2b-256 checksum How to use checksums |
253619b885edc4a2a95c582dd21f69ede5ffd5806108ccf89d951a2755ce6a7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logRelease files / notepadb-0.2.0-py3-none-any.whl
| Download URL | notepadb-0.2.0-py3-none-any.whl |
|---|---|
| Size | 84.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dacdce5a35604c7a43ad151dd8968c9476c62e5bd4a78d894be6c305d0400d24
|
|
BLAKE2b-256 checksum How to use checksums |
03562057b710e278c29a18df77b9904fa1bf2a8204fa621491060c2977e8127c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logSecurity for notepadb 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for notepadb-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.