Show HN: Anyquery – A SQL query engine for anything (CSV, GitHub, Airtable,etc.)

12 points by julien040 10 months ago | 6 comments
Hey HN, I’m Julien, and after finishing my CS sophomore year, I wanted a project to keep me busy during the summer. So I built anyquery for fun, a SQL query engine for pretty much anything.

SQL is the industry standard query language for databases. But what if it could query other services? That’s what I wanted to explore. Kinda like Yahoo! Query Language, except that I was too young to see it.

Anyquery can run queries on local/remote files (CSV, JSON, logs with Grok, Parquet, HTML tables, etc.), SaaS (GitHub, Notion, Spotify, etc.) and local apps (Apple Notes, Git, Google Chrome tabs, etc.). I’ve built 35 integrations. Anyquery can also transform a Google Sheets or an Airtable base into a SQL database with INSERT/UPDATE/DELETE support. Additionally, it can act as a MySQL server to leverage its ecosystem (BI tools, ORMs, etc.). Finally, you can run PRQL and PQL (KQL inspired language) queries with it.

Under the hood, it uses Go and SQLite's virtual tables. Therefore, you can use the SQLite ecosystem (like sqlite-vec, datasette, etc.). The project is licensed under the AGPL-v3.

Personally, I find the project useful for data migration (I’m using it to transfer my Pocket bookmarks to Raindrop) and data visualization (connecting my GitHub data to Metabase or Tableau)

I would love to hear your feedback about the project.

Website: https://anyquery.dev/docs/#installation

Source code: https://github.com/julien040/anyquery

Brief overview of the architecture: https://anyquery.dev/docs/developers/project/architecture/

  • nbbaier 10 months ago
    Really cool! For querying something like CSV, what's the difference between this and say, DuckDB?
    • julien040 10 months ago
      Thanks! For querying CSV, it's quite similar to DuckDB (just a little bit slower). It's almost the same syntax (read_csv table, same parameter name, etc.)

      I think anyquery strength rather comes from querying things other than files

    • st0le 10 months ago
      This is an amazing idea! Love it.
      • breck 10 months ago
        [dead]
        • julien040 10 months ago
          Hey Breck, I'm not sure you understood properly what Anyquery is. It's a CLI to run SQL queries on "anything" (APIs mostly and files). Therefore, it's hard to provide a version without downloading anything.

          But I guess it's because the landing page isn't clear enough. Thanks for the feedback, I'll try to fix that.

          • breck 10 months ago
            > Therefore, it's hard to provide a version without downloading anything.

            Why is it hard? Why not have a $5/month digital ocean droplet with a bunch of sample data and just live run queries on that?