{"repo":"benchouse/semglot","free":true,"listed":false,"github":"https://github.com/benchouse/semglot","clone":"git clone https://github.com/benchouse/semglot.git","description":"Semantic-layer transpiler: one neutral IR, many dialects (dbt, Snowflake Cortex, semantic views, supersimple, nao). Written in Go.","language":"Go","stars":14,"topics":["data-engineering","dbt","go","golang","metrics","semantic-layer","semantic-model","snowflake","snowflake-cortex","transpiler"],"license":"MIT","category":"data-pipelines","readme_excerpt":"A semantic-layer transpiler: one neutral IR, many dialects. Built for benchouse.ai , the independent leaderboard for analytics agents, and open-sourced for everyone. --- Where sqlglot translates across SQL dialects, semglot translates across semantic-layer dialects (dbt semantic models, Snowflake Cortex, Snowflake semantic views, Databricks metric views, Apache Ossie, and more) through one neutral intermediate representation (IR). You point it at a source layer, pick a target dialect, and it writes the equivalent layer out. Because everything routes through the IR, adding a dialect adds every conversion into and out of it, not just one. Semantic Layer Dialects A source is read into the IR; a target is written from it. dbt and ossie are both, so dbt to dbt and ossie to ossie are round-trips. Dialect Source Target --------------------------- :------: :------: dbt ✓ ✓ cortex ✓ snowflake-semantic-view ✓ supersimple ✓ nao-yaml ✓ nao-context-rules ✓ databricks-metric-view ✓ lightdash ✓ ossie ✓ ✓ Adding a dialect is small, self-contained work: implement a Parser (dialect files to IR), an Emitter (IR to dialect files), or both — the interfaces in dialect/dialect.go — register it via init() , and every conversion to and from it comes for free. A target dialect is one method, Emit . See CONTRIBUTING.md. Missing one you need? Please open an issue or PR. Install Usage build transpiles a source semantic layer into a target dialect. Builds are configured with named profiles in semglot.yaml","default_branch":null,"files":null,"tree":[],"storefront":"/r/benchouse","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/benchouse/semglot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}