Dex by Exmergo
Dex is Exmergo's Apache 2.0 analytics engine for Claude Code, Codex, Cursor and other agents: it explores your warehouse, writes dbt models and semantic layers as reviewable diffs, and flags drift, with cost caps and a PII firewall enforced in the engine.
About Dex by Exmergo
What Dex is
Dex is an open-source analytics engine built to be driven by a coding agent rather than by a person typing SQL. It is made by Exmergo, Inc. and released under the Apache 2.0 licence. You install it into Claude Code, OpenAI Codex, Cursor, Gemini CLI or any agent that reads an AGENTS.md file, point it at a database or warehouse, and the agent gets three skills: explore (inventory, profiling, personal-data detection and verified joins), transform (dbt models, tests and semantic-layer definitions written as reviewable diffs) and maintain (detecting schema, volume, grain and metric drift and proposing fixes). Exmergo describes analytics engineering as "explore, transform, maintain" and positions Dex as the tooling for everything that happens after data is loaded.
The launch that reached Product Hunt on November 14, 2026 was Dex Semantics, a feature that stores each model's meaning next to the model as code: what one row represents, which rows belong in it, how each number adds up, and the assumptions behind it. Exmergo says this lets an agent build analytics "with 25% fewer errors", a figure taken from its own ADE-bench run (details and caveats below).
How it works
The skills are thin wrappers around a Python engine published on PyPI as exmergo-dex-core. The agent calls the engine through a small command contract, and every command answers with one JSON envelope that includes the result, the connection used, a cost block and any warnings. Your dbt project and semantic-layer files stay in your repository as normal files; Dex keeps its cache and snapshots in a .dex/ directory next to the project. The engine needs uv on the PATH, and because it runs shell commands it needs an agent with a local shell, so it does not work inside claude.ai chat.
The guardrails live in the engine, not in the prompt. Source data is read-only and queries are limited to SELECT. Builds run on a dev target. On metered warehouses every scan is estimated first, needs confirmation, and is capped server-side in that warehouse's own billing unit (bytes scanned on BigQuery, warehouse-seconds on Snowflake and Databricks, RPU-hours on Redshift), with settled spend written to a local ledger. Credentials are discovered from the usual places (dbt profiles, environment variables, cloud credential chains) and, according to the README, never enter the agent's context. A query firewall refuses to put values from columns flagged as personal data into the agent's context, while still allowing aggregates over them.
Connectors and semantic layers
As of November 15, 2026 the README lists eight warehouse connectors: Snowflake, BigQuery, Databricks (SQL endpoint), Amazon Redshift, PostgreSQL (including Supabase, Neon and other managed Postgres), DuckDB, ClickHouse and Trino, with Trino also reaching MySQL, SQL Server and MongoDB through its catalogs. MotherDuck, Starburst Galaxy and Microsoft Fabric are listed as coming next. The semantic layer is chosen separately from the warehouse: Dex can author dbt semantic models (MetricFlow, locally or via the dbt Cloud Semantic Layer API), Apache Ossie documents, SLayer by Motley, Cube model files, Snowflake Semantic Views and Databricks Metric Views. Ossie, SLayer and Cube work without a dbt project. For Snowflake Semantic Views and Databricks Metric Views, Dex reads and writes the YAML files in your repo but does not deploy or query them yet.
What Dex Semantics adds
The motivating failure is a join that keeps running after its source changes and silently counts every row twice. Exmergo's illustration is a shipment table where a new API starts sending two rows per shipment and revenue doubles overnight in the report but not in reality. With Dex Semantics, every model the agent creates or changes carries a declaration of its grain, population and aggregation rules. Dex drafts the parts it can measure and leaves the intent to you. transform build --verify then checks the built data against that declaration (duplicate keys, rows the population should exclude, a running total summed across time), the declaration is turned into dbt tests, and the next agent session reads it back instead of rediscovering the schema from scratch.
We ran the demo: real output
To check the claims we installed exmergo-dex-core 1.17.9 (the latest release, published November 13, 2026) with the DuckDB extra on a clean Linux machine on November 15, 2026 and ran the bundled demo, which needs no credentials or network once installed:
uv tool install "exmergo-dex-core[duckdb]"
dex init analytics --mode demo
dex explore map
dex init created a local DuckDB warehouse (dex_demo.duckdb), a dbt project under analytics/ with a DuckDB profile, a .dex/config.yml, an AGENTS.md and a README, and reported the configuration, dbt-adapter and connection checks as passed (the build check is deliberately not run during setup). dex explore map returned status ok with 7 tables, 5 inferred relationships, 6 columns flagged as personal data and 6 data-quality notes. Two details stood out. First, Dex reported a grain for orders, customers, web events, products and warehouse locations, but left the grain of order_items (14,000 rows) as unknown, because the demo deliberately loads a batch twice; it did not guess a key. Second, every inferred join came back marked "verified": false with a confidence score (0.95 for order_items to orders, 0.6 for web_events to customers), and the notes told us to run relationship verification before trusting them.
We then tried to pull raw email addresses:
dex explore query "select email from customers"
→ status: error, reason: guard
"query refused: the projection would carry values from PII-flagged
column(s): customers.email (email). Use a measuring aggregate over them
(COUNT, COUNTIF, APPROX_COUNT_DISTINCT, AVG(LENGTH(...))), or drop them
from the output."
dex explore query "select count(distinct email) from customers"
→ status: ok, cells: [[1200]]
That matches the documented behaviour: a statistic over a personal-data column runs, the values themselves never reach the agent. A column reviewed as not personal can be cleared with a pii_overrides entry in .dex/config.yml. On DuckDB the cost block reported free_local, so nothing asked us to confirm spend; on a metered connector the same command returns an estimate first.
Benchmarks, and how to read them
Exmergo publishes every benchmark run on dated pages with raw per-task results. On dbt Labs' 75-task ADE-bench (run dated November 5, 2026), the company reports that the same Claude Sonnet 5.5 model solved 60 tasks with Dex 1.17.4 versus 55 without it: 80.0% against 73.3%, or 15 failures instead of 20, which is where the "25% fewer errors" headline comes from. On Snowflake's 103-task data-eng-bench (August 11, 2026), it reports 59 of 103 tasks resolved (57.3%) with Claude Sonnet 5. These are vendor-run results; the raw data is public, but we have not reproduced them. A five-task difference on a 75-task benchmark is meaningful but small, so treat the headline as a direction rather than a guarantee for your project.
Dex vs doing it by hand vs Dex Enterprise
| Question | Agent alone (no Dex) | Dex (open source) | Dex Enterprise |
|---|---|---|---|
| Where it runs | Your agent session | Your machine, inside your agent | Your infrastructure / CI |
| Cost control on warehouse scans | Whatever you remember to add | Estimate, confirm, server-side cap, local ledger | Same engine |
| Personal data in agent context | Whatever the query returns | Query firewall blocks PII values | Same engine |
| Drift detection | None | Manual, on demand (/dex:maintain) | Scheduled, with draft fixes |
| From ticket to change | Manual | You drive the agent | Scope (goal to scoping report), Build (ticket to draft PR), Fix |
| Price | Your model costs | Free, Apache 2.0 | Custom, by conversation |
Exmergo says Dex Enterprise opens draft pull requests and never merges on its own.
Limits and trade-offs
- It needs a local shell and uv. No agent installs uv for you, the first run downloads the engine (the README warns this takes tens of seconds on a cold cache), and the README asks for uv 0.13.4 or later for a certificate-trust fix. It does not run in browser chat.
- Young project. The GitHub repository was created in June 2026 and had 129 stars on November 15, 2026; releases ship almost daily (1.17.8 on November 12, 1.17.9 on November 13), so expect churn in commands and output.
- Inferred joins are only suggestions until you run verification, as our demo run showed.
- Partial semantic-layer support. Snowflake Semantic Views and Databricks Metric Views are authored as files but not deployed or queried; hosted Cube and SLayer and Looker/LookML are on the roadmap, not shipped.
- dbt-centric. The transform loop assumes dbt or one of the supported semantic-layer formats; teams on other modelling tools get less out of it.
Pricing (checked November 15, 2026)
- Dex: free and open source under Apache 2.0, no account or credit card (trydex.ai/pricing).
- Dex Enterprise: custom pricing; adds Scope, Build and scheduled Fix, deployed on your infrastructure.
- Exmergo's separate product, Viz, turns a governed semantic layer into dashboards and has a 14-day free trial on every plan.
Company
Dex is built by Exmergo, Inc., whose site describes it as "the AI stack for your data stack". The company's structured data lists a registered address in Dover, Delaware, and the Dex terms are governed by Delaware law. Exmergo's GitHub organisation was created in February 2026 and the first exmergo-dex-core release on PyPI dates from June 30, 2026. The pages we read do not name founders, headcount or funding.
Related on TechLogHub
- Filament by Galaxy: open-source data replication and CDC into ClickHouse, Iceberg, BigQuery and Snowflake, the step before Dex models the data.
- Omnigraph: a graph database built for agents, another take on giving agents structured context.
- What is a schema? and the SQL cheat sheet for the basics Dex automates.
- SQL formatter: tidy the SQL your agent writes before review.
Value & Audience
Value Proposition
Lets a coding agent do analytics engineering safely: read-only, cost-capped warehouse access, personal data kept out of context, and every model or metric change delivered as a diff you review.
Problem Solved
Agents writing SQL start from scratch each session, can't see query costs, pull personal data into context, and silently break models when sources change underneath them.
Target Audience
Tech Stack
Social & Links
Loading ratings...
Loading comments...
Gallery
Feedback & Roadmap
Dex by Exmergo FAQ
Common questions about Dex by Exmergo's features, pricing, and use cases
Is Dex by Exmergo free to use?
Yes. Dex by Exmergo is open source and free to use.
What are some alternatives to Dex by Exmergo?
Popular Data & Analytics alternatives to Dex by Exmergo include Linqry, Exeria Charts and CSV Viewer Online.
Dex by Exmergo appears in
You May Also Like
Linqry
Privacy-friendly analytics that finds drop-offs in your onboarding, maps user flows, attributes revenue, tracks links and answers questions in plain English.
View ProductExeria Charts
A high-performance open source charting library for building modern financial charts in web apps, dashboards, and trading surfaces.
View Product
CSV Viewer Online
A free online tool to open, search, filter, and edit CSV files directly in your browser without installing Excel.
View ProductAdSiftly
A free Google Ads audit tool that identifies wasted ad spend and provides plain-English fixes for small businesses.
View ProductOne email a week
TechLogHub tracks 860 tools and 596 open-source projects. Get the week's new launches, release roundups and open-source picks — nothing else.
Get the TechLogHub digest
One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.