quary is a free, open source marketing & customer engagement project written in Rust and released under Apache-2.0. It has 2,386 GitHub stars, 58 forks and 47 open issues, and was last pushed 8 days ago. On this registry it ranks #45 of 76 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available. It gained 1 stars over the last 30 tracked days.

What is quary?

Quary is an open-source business intelligence tool for engineers — a Rust-based CLI paired with a VS Code extension that lets teams define sources, models, charts and tests as version-controlled code rather than assembling reports by hand in a hosted BI product.

What it is

Quary belongs to the analytics, data-modeling and ELT corner of the data ecosystem, distributed under the Apache-2.0 licence and written in Rust. It is built by Quary Labs, a Y Combinator W24 company, and has accumulated 2,383 stars and 57 forks on GitHub. The project ships as two pieces: a VS Code extension that acts as the interface, and a Rust CLI that acts as the core. Everything a team works with is expressed as a code asset. Sources describe external data — database tables, flat files or APIs, the last of these through DuckDB. Models are SQL transformations that turn raw data from those sources into analysis-ready datasets. Charts are visual representations written in SQL. Dashboards and reports are also listed as asset types, but both are explicitly marked work in progress.

The concrete problem Quary addresses is the gap between where SQL logic actually lives and where BI tooling forces it to live. Engineers write SQL to transform, organise and document tables inside a database, and Quary keeps that work in files that can be reviewed, tested and refactored iteratively through version control. Complex analyst queries get split into atomic components instead of sprawling into one unmaintainable statement, and the organised, documented model is then deployed back up to the database. In practice this replaces hand-maintained SQL that drifts out of sync with the warehouse, since the compiled model and the deployed database objects come from a single source of truth that also runs in continuous integration.

Key capabilities

  • quary init initialises a DuckDB demo project with sample data, giving a working starting point in an empty directory.
  • quary compile validates the project structure and model references without touching the database.
  • quary build builds and executes the model views and seeds against the target database.
  • quary test -s runs defined tests against the target database.
  • Asset types managed as code include Sources, Models, Charts, and work-in-progress Dashboards and Reports.
  • Sources can point at database tables, flat files, or APIs via DuckDB.
  • Installation paths cover Homebrew with brew install quarylabs/quary/quary, a curl installer at install.sh, downloadable builds from the releases page, and a VS Code extension from the Visual Studio Marketplace.

Who uses it and how

  • Data and analytics engineers who want their transformations reviewed through version control rather than edited live in a warehouse console.
  • Teams breaking large warehouse queries into atomic models, so each step can be compiled, built and tested independently.
  • DuckDB users running local or demo projects, since quary init scaffolds a sample DuckDB project with sample data.
  • Engineers producing charts from SQL for stakeholders, with dashboards and reports planned but not yet finished.
  • Users needing support through the quarycommunity Slack channel or by filing an issue on the GitHub tracker.

Getting started

Install the CLI with brew install quarylabs/quary/quary or the curl installer, then add the Quary VS Code extension — note the extension depends on the CLI already being installed. Create a project with quary init, then run quary compile, quary build and quary test -s.

How it compares

No competing or paid products are named in the available facts, so Quary stands alone in this registry rather than sitting alongside a documented set of alternatives. The only related project mentioned is SQRUFF, a Rust-based SQL linter from the same team, which is complementary tooling rather than a substitute. Any comparison against established commercial BI platforms would have to rest on the Apache-2.0 licence and the code-first workflow, but the facts here do not supply named counterparts to contrast against.

When to use it — and when not to

Quary suits engineers who are comfortable installing and running a CLI, operating their own database connection, and treating BI definitions as code. It is a poor fit for teams that want a fully hosted, no-code BI product with finished dashboards today, because Dashboards and Reports are still marked as work in progress and the extension is useless without the CLI. A self-hoster should also weigh that the README excerpt does not enumerate supported databases, and that the repository currently carries 47 open issues.

project readme (upstream, from github) — read inline

Quary

Business Intelligence for Engineers 🅀

Made by Quary Slack Community YC GitHub Repo stars

With Quary, engineers can:

  • 🔌 Connect to their Database
  • 📖 Write SQL queries to transform, organize, and document tables in a database
  • 📊 Create charts, dashboards and reports (in development)
  • 🧪 Test, collaborate & refactor iteratively through version control
  • 🚀 Deploy the organised, documented model back up to the database

View the documentation.

🗃️ Supported Databases

Amazon Redshift Google BigQuery PostgreSQL Snowflake Supabase DuckDB SQLite

quary_core_image

🏗️ Asset Types in Quary

Define and manage the following asset types as code:

  • Sources: Define the external data sources that feed into Quary, such as database tables, flat files, or APIs (with DuckDB).
  • Models: Transform raw data from sources into analysis-ready datasets using SQL, this lets engineers split complex queries into atomic components.
  • Charts: Create visual representations of your data using SQL.
  • 🚧 Dashboards (WIP): Combine multiple charts into a single view, allowing engineers to monitor and analyze data in one place.
  • 🚧 Reports (WIP): Create detailed reports to share insights and findings with your team or stakeholders.

🚀 Getting Started

Installation

Quary is a VSCode Extension (Interface) & Rust-based CLI (Core)

Extension

The VSCode extension can be installed here. Note that it depends on the CLI being installed.

CLI
Homebrew installation
brew install quarylabs/quary/quary
Linux/Mac through curl

Quary can be installed using curl on Linux/Mac using the following command:

curl -fsSL https://raw.githubusercontent.com/quarylabs/quary/main/install.sh | bash
Other installations

Other builds are available in the releases page to download.

Usage

Once installed, a sample project can be created and run as follows:

mkdir example # create an empty project folder
cd example
quary init    # initialize DuckDB demo project with sample data
quary compile # validate the project structure and model references without database
quary build   # build and execute the model views/seeds against target database
quary test -s   # run defined tests against target database

🅀 Community

Join our Slack channel, for help, ideas, and discussions.

Support

If you run into any problems using Quary, please let us know. We want Quary to be easy-to-use, so if you are getting confused, it is our fault, not yours. Create an issue and we'll be happy to help you out.

Check out our other projects

SQRUFF, a compact, high-speed SQL linter, engineered with Rust efficiency.

Frequently asked questions

Is quary free to use?

quary is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does quary do?

Open-source BI for engineers

What is quary written in?

quary is primarily written in Rust. Its source is publicly available at https://github.com/quarylabs/quary, and it has 2,386 GitHub stars.