from Hacker News

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

by numlocked on 7/2/24, 3:26 PM with 51 comments

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!

  • by tobilg on 7/5/24, 1:44 PM

    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...
  • by randlet on 7/5/24, 12:25 PM

    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 :)
  • by bosky101 on 7/4/24, 2:48 AM

    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!

  • by nirav72 on 7/5/24, 3:46 PM

    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.

  • by brunoqc on 7/5/24, 5:14 PM

    > * 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.

  • by ds_opseeker on 7/5/24, 1:38 PM

    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.

  • by psnehanshu on 7/5/24, 4:25 PM

    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.
  • by nagstler on 7/6/24, 4:45 AM

    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

  • by rlawson on 7/5/24, 12:53 PM

    Very useful tool! I contributed a few features as a repayment for the ton of value I have gotten from it
  • by randyburden on 7/5/24, 8:16 PM

    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.

  • by andix on 7/5/24, 2:15 PM

    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.

  • by loa_observer on 7/7/24, 8:22 AM

    nice work, it would be better to add graphic walker for interactive data visualization (also include pivot table): https://github.com/Kanaries/graphic-walker
  • by whalesalad on 7/5/24, 2:24 PM

    Been thinking Metabase could benefit greatly from AI integration. This kinda does that!
  • by majkinetor on 7/5/24, 4:30 PM

    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.

  • by b0ner_t0ner on 7/6/24, 2:31 AM

    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.
  • by JoeyBananas on 7/8/24, 1:31 AM

    I'm genuinely impressed by this. It doesn't surprise me that it took 10 years to make.
  • by lelo_tp on 7/5/24, 6:03 PM

    loved the demo video! we need more enthusiasm like that, really shows how much you love the work you've put in :)
  • by greenchair on 7/5/24, 9:16 PM

    I'm curious about how the project name was chosen considering there are existing tools with the same name.
  • by josalhor on 7/5/24, 6:04 PM

    Do you have a minimal docker image so we can start the service with a single command?
  • by maille on 7/5/24, 6:42 PM

    Intersting, can you generate fancy printable reports from this tool?
  • by dhbradshaw on 7/6/24, 2:37 AM

    This is really cool!
  • by joelhaasnoot on 7/5/24, 12:55 PM