Skip to content

Releases: stonebig/sqlite_bro

v1.3.2 'python -m sqlite_bro , at last !'

Choose a tag to compare

@stonebig stonebig released this 04 Aug 14:40

hum, with Claude AI at the sweating spot:

  • it becomes too easy to fix ASAP the next historically bad ergonomic, here "python -m sqlite_bro" not working
  • total is 3 versions in a day:
    • 1.3.0: "Ctrl+Shit+Enter" to launch the Sql below the cursor, fix 2 bugs, fix 2 weaknesses
    • 1.3.1: Fix forever the "__version" release process weakness
    • 1.3.2: "python -m sqlite_bro" do work... the modern and universal way to launch a package, automate "sqlite_bro.gif" regeneration

A slightly better world.

v1.3.0 'One statement at a time !'

Choose a tag to compare

@stonebig stonebig released this 04 Aug 12:31
Ctrl+Shift+Enter (or F5) runs only the sql statement the cursor is in.

Fixes : no database connection was ever closed, .open lost the rest of the
script, an unknown dot-command reported 'Ok', .shell sliced its argument with
the length of '.print'.

The dot-commands move to App.run_dotcommand() ; the MIT license is declared as
a PEP 639 expression, PyPI having reported no license at all.

v1.2.0: json integration and last opened database !

Choose a tag to compare

@stonebig stonebig released this 20 Jul 04:39

2026-07-19 : v1.2.0 'json integration and last opened database !'

  • source diet : get back below 3000 lines

  • json : the import button also accepts .json / .jsonl files : records land in a 1-column raw table, and a ready-made 'shredding' query tab opens (DuckDB engine : native read_json_auto instead)

  • json : exports write json when the file name ends in .json (array) or .jsonl (one object per line) : same buttons, same .once / .output batch commands, the file extension decides the format

  • json : .import file.json [table] works in scripts too (batch mode with -sc)

  • menu : Database > Open Recent : the ten most recently opened databases

  • high-dpi : the app declares dpi-awareness on Windows : no more blurry rendering on scaled screens (125%/150%/200%)

  • window : opens at 80% of the screen instead of an oversized natural request

  • shortcuts : Ctrl+Enter runs the script ; Ctrl+mousewheel changes the font size one point at a time

v1.1.0: Trust me up !

Choose a tag to compare

@stonebig stonebig released this 15 Jul 08:18

2026-07-15 : v1.1.0 'Trust me up !'

  • Ctrl+c on the result Grid copies the header + selected rows (or all) to the clipboard

  • Ctrl+f on the result Grid filters rows with a regular expression (on all columns)

  • publishing to PyPI is now done by GitHub Actions trusted publishing, on 'v*' tag push (no API token involved)

  • fix : clicking a notebook outside the tab labels no longer raises a TclError in the console

v1.0.0: Clip me down !

Choose a tag to compare

@stonebig stonebig released this 14 Jul 18:01

2026-07-14 : v1.0.0 'Clip me down !'

  • copy from and to the Clipboard, with 3 new toolbar icons : clipboard to table, table to clipboard, script to clipboard,

  • dialogs now pop up near the main window (multi-screen fix)

  • Python-3.2 and lower version compatibility is removed, last one will be 0.14.0

  • fix : the csv-sniffed quotechar was silently ignored (NameError), and export_writer now honors its quotechar parameter

  • docs : icon gifs tracked in docs/output_gifs, incl. the 3 new clipboard icons, for easier maintenance

v0.14.0: Quack me up !

Choose a tag to compare

@stonebig stonebig released this 14 Jul 16:26

Main changes of v0.14.0 of 2026-07-13: DuckDB compatibility and Claude Fable 5 help

  • optional DuckDB engine : create or open a '.duckdb' database (needs 'pip install duckdb'), with its own DuckDB-flavored welcome demo

  • pydef embedded Python functions work on the DuckDB engine (type-annotated ones are registered natively)

  • script runs now feed a single 'Logs' result tab (N°, Time, Result, Status, Instruction) : DDL/DML/pydef/dot-commands no longer spawn one result tab each, and silent statements become visible

  • data grids keep their own result tabs, titled 'Qry_' where matches the record N° in the 'Logs' tab

  • 'Logs' and 'Dump' result tabs are pinned on the left of the results notebook

  • window title and database tree indicate the engine in use (SQLite or DuckDB)

  • fix : refreshing the database tree no longer crashes on views repeating a column name (e.g. 'select *' over a join)

Setup me down !

Choose a tag to compare

@stonebig stonebig released this 11 May 10:18

build with "python -m build"
instead of decrepited "python setup.py bdist_wheel"

keep it still working as a single .py file

support PEP 667 of Python-3.13.0

Choose a tag to compare

@stonebig stonebig released this 11 May 07:47

Adapting to pure spirit of PEP 667 python/cpython#118888 (comment)

Make it work with Python-3.13.0b1.

It seems later in 3.13.0b2 there is a backpedaling, as too much packages are impacted per the perfection.

But code change was tiny anyway

2022-02-04a : v0.12.2 'Filling the blanks !

Choose a tag to compare

@stonebig stonebig released this 04 Feb 12:52

empty columns names are always replaced per the default 'c_nnn' convention

example:
image

2021-08-15a : v0.12.1 'Pop-up results to excel' (redo)

Choose a tag to compare

@stonebig stonebig released this 18 Aug 18:21

2021-08-15a : v0.12.1 'Pop-up results to excel !'

  • 'backup' and 'restore' functions are accessible via menu (for python >=3.7)

  • running script and displaying output in temporary files is available via icons

  • supports running in an environment with no DISPLAY

Requirements:

  • 'backup' and 'restore' features require Python>=3.7
  • command-line feature require Python >= 3.2
  • for Python 3.2, because not handlong well https, you may have to :
    • manualy download from pypi (or here) the sqlite_bro-0.12.1.tar.gz into a local "C:\toto" directory
    • do pip install C:\toto\sqlite_bro-0.12.1.tar.gz
  • it may still work on Python-2.7

(was missing a commit in Github)