News for hackers. Stuff that matters.
Re:Harlequin.sh DuckDB IDE for your terminal by tconbeer on Wednesday September 20, 2023 @04:20PM (#37589635)
Hi everyone! I made this. Tried posting it to Show yesterday, glad this thread is getting more momentum!

For the past four months I've been working (part-time, this is OSS after all) on Harlequin, a SQL IDE for DuckDB that runs in your terminal. I built this because I work in Data, and I found myself often reaching for the DuckDB CLI to quickly query CSV or Parquet data, but then hitting a wall when using the DuckDB CLI as my queries got more complex and my result sets got larger.

Harlequin is a drop-in replacement for the DuckDB CLI that runs in any terminal (even over SSH), but adds a browsable data catalog, full-powered text editor (with multiple buffer support), and a scrollable results viewer that can display thousands of records.

Harlequin is written in Python, using the Textual framework. It's licensed under MIT.

Yesterday I released v1.0.0: you can try it out with `pip install harlequin`, or visit https://harlequin.sh for docs and other info.

Re:Harlequin.sh DuckDB IDE for your terminal by ayhanfuat on Wednesday September 20, 2023 @05:25PM (#37590419)
Lovely tool. I'll certainly try it out. The code fragments in the documentation seem to be not selectable, though (or maybe it is not highlighting correctly).
Re:Harlequin.sh DuckDB IDE for your terminal by tconbeer on Wednesday September 20, 2023 @05:46PM (#37590663)
it's an issue with the highlight color. I'll get that fixed shortly.
Re:Harlequin.sh DuckDB IDE for your terminal by avinassh on Thursday September 21, 2023 @04:37AM (#37594843)
This looks very cool! how is autocomplete feature implemented?
Re:Harlequin.sh DuckDB IDE for your terminal by tconbeer on Thursday September 21, 2023 @03:47PM (#37603193)
Right now there is no autocomplete inside the text editor, but that will be added soon. DuckDB itself provides an extension that adds a table function that can be queried for completions like so:

select * from sql_auto_complete( 'select ra' )