airlayer
An in-process semantic engine that compiles .view.yml definitions into dialect-specific SQL. Define your metrics once — dimensions, measures, filters, segments — and compile to Postgres, BigQuery, Snowflake, DuckDB, and 6 other dialects.
import airlayer
result = airlayer.compile(
views_yaml=[open("orders.view.yml").read()],
query_json='{"measures": ["orders.total_revenue"], "dimensions": ["orders.status"]}',
dialect="postgres",
)
print(result["sql"])
print(result["columns"])
No database connection required. No server to deploy. The compiler runs in-process — pass in YAML definitions and a query, get back SQL, bind parameters, and column metadata.
Features
- 10 SQL dialects: Postgres, BigQuery, Snowflake, DuckDB, MySQL, ClickHouse, Redshift, Databricks, SQLite, Domo
- Automatic joins: Declare entities on views, and airlayer infers JOINs via BFS on the entity graph
- 12 built-in motifs: contribution, rank, anomaly detection, YoY/MoM/WoW, trend, moving average, cumulative, and more
- Custom motifs: Define reusable analytical patterns in
.motif.ymlfiles - Validation: Check
.view.ymlfiles for errors without compiling a query
API
airlayer.compile(views_yaml, query_json, dialect, ...) → dict with sql, params, columns
airlayer.validate(views_yaml, ...) → True or raises ValueError
See the full documentation for the query format, schema reference, and library usage guide.
Metadata
Release files for airlayer 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| airlayer-0.4.0.tar.gz | 1.4 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| airlayer-0.4.0-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| airlayer-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.17+ x86-64 | Details |
| airlayer-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.17+ ARM64 | Details |
| airlayer-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl | CPython 3.13 | CPython 3.13 | macOS 10.12+ x86-64, macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64) | Details |
Total release size: 6.7 MB
Release files / airlayer-0.4.0.tar.gz
| Download URL | airlayer-0.4.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b04d78f31d870b4e9a50a57d190a76f7607383d6c39491b113905c65f3929cf3
|
|
BLAKE2b-256 checksum How to use checksums |
6000815aabe0e2db0c2af71c9250d4be9183b58f5c8521a33614eed1e1cfdd4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / airlayer-0.4.0-cp313-cp313-win_amd64.whl
| Download URL | airlayer-0.4.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 998.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4cac067868bef51eb19ee4a09d0eb098b1016aa8c45951a82115adad24a38f20
|
|
BLAKE2b-256 checksum How to use checksums |
ff1db4af541d21e9063ced010ec35d513ecfae1e958476842cca04966eb40c1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / airlayer-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | airlayer-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab2324521c03d42d6d41da7b46811f876d241ee65bde3aaa47b7672fadc0d3c4
|
|
BLAKE2b-256 checksum How to use checksums |
3df4839dbaaf32095bbe89f0e3a7a6e094f268480fd82ac6589aeb03c937b8da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / airlayer-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | airlayer-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
631128f75ca19713f1447aa0dbabc6c246c915d50709ce0914d60b616550edd1
|
|
BLAKE2b-256 checksum How to use checksums |
1356175a857ecda0e5fb1950af841fff70627fd20f75f5f54df0a031c646666d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / airlayer-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | airlayer-0.4.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1e5b9d711849aa5ffc9fa50cd22b298f88f7819c629376af7645b68062ccc78e
|
|
BLAKE2b-256 checksum How to use checksums |
60ff880ec8f5c25f863b13ea757d200fdfbe158ed17d689a120ea09913da5f7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|