Quary
Business Intelligence for Engineers ๐
[![Made by Quary](https://img.shields.io/badge/MADE%20BY%20Quary-000000.svg?style=for-the-badge&logo=Quary&labelColor=000)](https://www.quary.dev/)
[![Slack Community](https://img.shields.io/badge/slack-@quarycommunity-000000.svg?style=for-the-badge&logo=slack&labelColor=000)](https://join.slack.com/t/quarylabs/shared_invite/zt-2dlbfnztw-dMLXJVL38NcbhqRuM5gUcw)
[![YC](https://img.shields.io/badge/Y%20Combinator-W24-orange?style=for-the-badge&logo=Quary&labelColor=000)](https://www.ycombinator.com/companies/quary)
[![GitHub Repo stars](https://img.shields.io/github/stars/quarylabs/quary?style=for-the-badge&logo=Quary&labelColor=000)](https://github.com/quarylabs/quary)
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
๐๏ธ 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.