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.