- Home
- Semantic Layer Software
- Malloy
Malloy
What it is
Malloy is a free, open-source language for describing data relationships and transformations, offered through API, extension, Linux, macOS, self-hosted, web, and Windows options. Users define reusable calculations, table relationships, queries, and business logic in semantic models, then compile Malloy queries into SQL optimized for the connected database. The language supports nested datasets and automatically avoids common aggregate errors involving sums, averages, and counts. Supported databases include DuckDB, MotherDuck, BigQuery, Databricks, Snowflake, PostgreSQL, MySQL, Trino, and Presto. DuckDB can read Parquet, CSV, and JSON files without additional setup. A Visual Studio Code extension provides schema browsing, autocomplete, query execution, documentation, and visualizations. The browser notebook runs through github.dev and requires GitHub sign-in. Malloy’s MIT-licensed Python package loads models, compiles queries, and runs statements with DuckDB and BigQuery. Its CLI runs files, builds persistent tables, and automates transformations and pipelines. DuckDB connections can disable network access; sandboxed mode also limits file access to allowed directories. The downloadable macOS CLI is not notarized and requires explicit Privacy and Security permission.
For and against
For
- Compiles queries into optimized SQL
- Supports reusable calculations and business logic
- Connects to nine listed database systems
- VS Code extension includes visualizations and autocomplete
- DuckDB reads Parquet, CSV, and JSON directly
Against
- macOS CLI requires explicit security permission
- Browser notebook requires GitHub sign-in
- Python package currently supports DuckDB and BigQuery
- Self-hosted setup may require database configuration
The verdict
Malloy combines semantic modeling with SQL generation across a broad database list, while its editor, Python package, and CLI support different workflows. Aggregate safeguards and nested data features are useful, but macOS and browser access have the stated setup requirements.
Who it suits
Malloy fits SQL users who need reusable semantic models, governed metrics, nested analysis, and database-specific SQL generation. It also suits developers working in VS Code, Python, or a self-hosted workflow.
On the record
- Aggregations
- Malloy reuses aggregate computations across query granularities and says this helps improve accuracy.docs.malloydata.dev · read 7 Oct 2026
- Authoring
- The VS Code extension includes schema browsing, query execution, language autocomplete, documentation, and result visualizations.docs.malloydata.dev · read 7 Oct 2026
- Browser use
- The Malloy extension works in VS Code Web, where it supports DuckDB with local CSV, JSON, and Parquet files; BigQuery, Snowflake, and PostgreSQL require VS Code Desktop.docs.malloydata.dev · read 7 Oct 2026
- CLI
- The Malloy CLI runs Malloy files, builds persistent tables, and can automate transformations and pipelines.docs.malloydata.dev · read 7 Oct 2026
- CLI limitation
- Malloy states that its downloadable CLI binary is currently not notarized on macOS and requires explicit permission in macOS Privacy and Security settings.docs.malloydata.dev · read 7 Oct 2026
- Credential security
- The VS Code connection editor stores sensitive values such as passwords and tokens in the system keychain.docs.malloydata.dev · read 7 Oct 2026
- Database integrations
- The documentation lists DuckDB, MotherDuck, BigQuery, Databricks, Snowflake, PostgreSQL, MySQL, Trino, and Presto as supported databases.docs.malloydata.dev · read 7 Oct 2026
- Editor support
- Malloy provides a Visual Studio Code extension for building models, querying and transforming data, and creating visualizations.github.com · read 7 Oct 2026
- Intended users
- Malloy says it is immediately understandable to SQL users and easier to use and learn than SQL.docs.malloydata.dev · read 7 Oct 2026
- Local data files
- DuckDB support can read Parquet, CSV, and JSON files without additional setup.docs.malloydata.dev · read 7 Oct 2026
- Nested analysis
- Malloy supports nested query results, including fetching entire dashboards in a single query.docs.malloydata.dev · read 7 Oct 2026
- Nested data
- Malloy supports reading and writing nested datasets as a language feature.docs.malloydata.dev · read 7 Oct 2026
- Python package
- Malloy’s open source MIT-licensed Python package loads models, compiles queries, and runs statements, and currently works with DuckDB and BigQuery.docs.malloydata.dev · read 7 Oct 2026
- Query execution
- Malloy queries compile to SQL optimized for the connected database.malloydata.dev · read 7 Oct 2026
- Safer aggregates
- Malloy automatically prevents miscalculating aggregates such as sums, averages, and counts.malloydata.dev · read 7 Oct 2026
- Security controls
- DuckDB connections offer local and sandboxed security policies that disable network access; sandboxed mode also restricts file access to allowed directories.docs.malloydata.dev · read 7 Oct 2026
- Semantic modeling
- Malloy lets users define reusable calculations and business logic in a semantic data model.docs.malloydata.dev · read 7 Oct 2026
- Semantic models
- Malloy data models can encode reusable calculations, table relationships, and queries.docs.malloydata.dev · read 7 Oct 2026