Back to browse
GitHub Repository

Semantic-layer transpiler: one neutral IR, many dialects (dbt, Snowflake Cortex, semantic views, supersimple, nao). Written in Go.

6 starsGo

Semglot – Sqlglot for Semantic Layers

by andrebaaij·Jul 21, 2026·1 point·0 comments

AI Analysis

●●SolidBig BrainNiche Gem

Sqlglot logic applied to semantic layers, solving the dbt-to-Snowflake migration headache.

Strengths
  • Neutral IR architecture means adding one dialect instantly enables conversions to all others.
  • Written in Go for a fast, single-binary CLI experience familiar to data platform teams.
  • Solves a specific, painful friction point in analytics engineering without AI fluff.
Weaknesses
  • Currently reads only dbt; limited utility until more source parsers are implemented.
  • Niche audience restricted to teams actively maintaining conflicting semantic definitions.
Category
Target Audience

Data engineers and analytics teams managing multiple semantic layer definitions

Similar To

sqlglot · dbt-core · Cube.js

Post Description

Hey HN, I’m André, one of the people that is building benchouse.ai, a public leaderboard for analytics agents.

To score every agent fairly, we need to give them equivalent semantic context. Every agent has their own format ranging from dbt docs to Snowflake semantic views or custom yaml formats. I was porting them over manually, but every change in the reference context meant updating multiple docs. Quite annoying.

So we wrote semglot, it reads one semantic model and emits another one. Similar to sqlglot but for semantic layers. Today it reads dbt and writes to 6 different targets. Many more to come as we add more agents to benchouse.ai

MIT licensed.

Similar Projects