top | item 40857589

Show HN: SQL Explorer – Open-source reporting tool that Just Works

215 points| numlocked | 1 year ago |github.com | reply

I have been working on SQL Explorer, an open source, Django-based reporting and query tool for (gulp!) almost ten years. It's a tool that fits just right for me and many others, and I love and use almost every day. Write SQL, share results, do some analysis, get insight. No surprises.

A live demo instance is here (no login or anything required):

https://demo.sqlexplorer.io/

And here's a fairly unprofessional, but very enthusiastic, video tour:

https://sql-explorer.s3.amazonaws.com/Sql+Explorer+5.mp4

The UI is constrained enough that there's very little to learn, while there is still a surprising amount of functionality and flexibility to address a lot of use cases.

Some of the stuff I'm excited about in the latest version:

- Intuitive and obvious integration to ChatGPT / the AI API of your choice. Doesn't purport to be 'magic'. Good prompting + relevant table scheme & data automatically injected into the prompt.

- Create a new connection by uploading a CSV or SQLite DB as a new connection, and it's instantly queryable. CSVs are parsed, types inferred, and a SQLite DB gets created (persisted to s3). - New and improved SQL editor with strong autocomplete (based on your schema), and some fancy keyboard shortcuts.

Some of the old stuff that is still great:

- Pivot tables in-browser, so you don't have to open results in Excel for basic analysis. Unique URLs make everything shareable.

- Expose queries (optionally) as JSON endpoints. Great for prototyping APIs and scripts.

- All of the stuff you'd expect in a reporting tool (email reports, logging, favorites, exporting, etc.)

Hope you enjoy!

52 comments

order
[+] tobilg|1 year ago|reply
Nice tool! I built https://sql-workbench.com/ which runs completely in-browser via DuckDB WASM, and enables querying of remote CSV, JSON, Parquet and Arrow data sources, as well as uploaded local files. Charts are supported as well, see the accompanying blog post https://tobilg.com/using-duckdb-wasm-for-in-browser-data-eng...
[+] antonvs|1 year ago|reply
I like the tech stack. Does it provide anything like the query catalog in the OP, i.e. the table labeled "All Queries" on the OP demo page?
[+] Omnipresent|1 year ago|reply
Is this on GitHub to take a look at the code?
[+] randlet|1 year ago|reply
Just wanted to say thank you for all your effort on SQLExplorer, I incorporated it into our open source radiotherapy quality assurance project (https://qatrackplus.com) years ago and it's been a great addition and is used in hospitals around the world :)
[+] numlocked|1 year ago|reply
That's amazing! Thanks so much for sharing. Happy to chat if there are specific features or functionality that would be useful. Always looking for more feedback.
[+] bosky101|1 year ago|reply
I spent 10 mins on your docs, website.

Excellent effort overall.

But I didn't know until I read your comment here about the uploading CSV, instant parsing that non technical people may find very interesting. This is something pgweb for example doesn't have.

Your docs are also missing a complete sample env.

See that you've integrated pivottable. Nice touch!

If you can figure out minimal barcharts , you may even have an opensearch/log community interested.

Another killer idea is uploading CSV/json and getting faceted search. No one does this! But maybe distracting to your roadmap.

Keep up the excellent work!

Good luck!

[+] numlocked|1 year ago|reply
Thanks so much! Can you expand on the idea -- what do you mean by faceted search? What would that look like?
[+] nirav72|1 year ago|reply
I've been self-hosting this https://github.com/dbgate/dbgate for a few years.

But I like some of the features in SQL Explorer interesting - like Pivot tables and exposing queries as JSON endpoints.

[+] brunoqc|1 year ago|reply
> * All content that resides under the "explorer/ee/" directory of this repository is licensed under the license defined in "explorer/ee/LICENSE".

Not really open source. If you care about that.

[+] numlocked|1 year ago|reply
It’s absolutely open source - and completely free for commercial use. That license simply encumbers that specific functionality from resale. I don’t want anyone selling a SaaS version for profit (if someone wants to do that, they can contact me and we can talk about it).
[+] ds_opseeker|1 year ago|reply
Just discovered this and got the test project up and running... but wondering how to enable CSV import?

The "upload csv file" box does not show up in the test project.

[+] psnehanshu|1 year ago|reply
Awesome project. But a somewhat irrelevant suggestion. OP could have shared the video via YouTube for better user experience (adaptive bitrate streaming) and also not had to worry about paying for S3.
[+] nagstler|1 year ago|reply
Thanks for open sourcing, I’ll definitely give this a try!

Any reporting tool is only as good as the data available to it.

I built Multiwoven, a Reverse ETL with SQL capabilities, to sync data from any data warehouse to destinations like this one.

https://github.com/Multiwoven/multiwoven

[+] rlawson|1 year ago|reply
Very useful tool! I contributed a few features as a repayment for the ton of value I have gotten from it
[+] randyburden|1 year ago|reply
Great job! And congrats on actually getting something out there. I can really see this being useful for some organizations.

I also envisioned this same type of tool around 10 years ago and it is still on my ever growing list of ideas to implement. I took the idea further to support not only SQL but other languages such as HTML, JavaScript, Python, C#, etc. You could then support returning different types of media based on the URL extension such as .html to return a webpage, .json to return a JSON API, .csv to return a CSV file, etc. As time marched on, many of these same ideas came to fruition in things like AWS Lambda, Jupiter Notebooks, Microsoft Monaco Editor, etc.

[+] andix|1 year ago|reply
This is awesome, I hope I get a chance to use it once.

One thought: I think the effort should be put into the UI for the non-technical end users, instead of query builders/developer experience. I would be even fine with a tool doesn't even have a query tool and just executes SQL files from a folder/git repo. The important part would be for me to provide a perfect experience for the end users. Developers usually have a lot of tools at hand to create queries, no need for another one.

[+] numlocked|1 year ago|reply
Yep - that makes sense. The Query pane can be collapsed, effectively hiding the SQL from the end user. This is indeed how a number of people use Explorer. But it could certainly be more optimized, in the direction you suggested. I'll think about how this might be improved!
[+] majkinetor|1 year ago|reply
I like the simplicity, and yet there is a lot of stuff to do.

I know there are bunch of tools that do this (superset, redash, dbeaver web etc.) but there is a great value in the feature and UX choices of any particular tool.

Keep it up m8.

[+] numlocked|1 year ago|reply
Cheers! Yes - lots of good options, and you said it well.
[+] b0ner_t0ner|1 year ago|reply
Great effort! Feels like you should be charging for this, maybe a Pro Plan with SSO (user edits integrated into your history logs) and 1 year support for SMEs to self-host.
[+] JoeyBananas|1 year ago|reply
I'm genuinely impressed by this. It doesn't surprise me that it took 10 years to make.
[+] lelo_tp|1 year ago|reply
loved the demo video! we need more enthusiasm like that, really shows how much you love the work you've put in :)
[+] greenchair|1 year ago|reply
I'm curious about how the project name was chosen considering there are existing tools with the same name.
[+] josalhor|1 year ago|reply
Do you have a minimal docker image so we can start the service with a single command?
[+] numlocked|1 year ago|reply
Nope - but would love to do it. At the moment you can clone the repo and run start.sh which should work but obviously is not bulletproof like a docker image. Feedback and PRs welcome!