Analytics engineering for Claude Code and any agent: data warehouse exploration, dbt transformation and semantic modeling, and schema-drift maintenance on dbt.
Project description
exmergo-dex-core
The portable, Apache-2.0 analytics-engineering engine behind
dex. All non-trivial logic lives here; the
Claude Code skills and the cross-agent AGENTS.md are thin wrappers that drive it
through one stable command contract.
dex is the agent-native analytics engineering toolkit: explore an unfamiliar warehouse, transform raw data into clean dbt models and a semantic layer on top, and maintain all of it as the data underneath changes. Read-only against your data; every change is a reviewable diff.
Install
pip install "exmergo-dex-core[duckdb]"
Connector client libraries live behind extras, so the zero-credential DuckDB
on-ramp installs only duckdb and sqlglot:
exmergo-dex-core[duckdb] # the on-ramp and the eval/benchmark engine
exmergo-dex-core[snowflake]
exmergo-dex-core[bigquery]
exmergo-dex-core[databricks]
exmergo-dex-core[postgres]
exmergo-dex-core[all] # every connector at once
The command contract
Every subcommand prints exactly one sanitized JSON envelope to stdout and nothing
else; nothing reaches agent context except through that envelope. Credentials
never cross it, and data values cross only from profiled, PII-cleared columns,
bounded and capped by the query firewall. State persists in .dex/, so
subcommands are stateless and the agent orchestrates multi-step flows.
dex connect test --path data.duckdb
See references/command-contract.md for
the full surface and the envelope spec.
Status
Early and under active development; expect pre-release versions. Today the engine runs Explore and Transform end to end on DuckDB and on BigQuery.
Explore: ranks what matters in an unfamiliar warehouse, profiles columns
selectively, flags PII, surfaces grain and data-quality warnings, infers joins
and verifies them with overlap probes (--verify), and executes agent-authored
ad-hoc SELECTs behind a PII-aware query firewall (explore query), all
read-only.
Transform: bootstraps a dbt project where none exists (transform init, with an
explicit connector, never a default), turns agent-authored edits and
deterministic staging scaffolds into reviewable, conflict-checked diffs
(transform plan / apply, with human edits authoritative on conflict), runs
gated dev-target-only builds with cost surfaced before any spend
(transform build), and authors the semantic layer as MetricFlow-validated dbt
semantic models (semantic define|update|plan, applied with transform apply).
BigQuery: connects through Application Default Credentials
(gcloud auth application-default login; dex discovers credentials, it never
asks for keys). Metadata is free; every scan is dry-run first, returned as a
needs_confirmation estimate, and runs only with --confirm --budget <bytes>,
capped server-side by maximum_bytes_billed and recorded in a local
.dex/spend.jsonl ledger. dbt builds go to a dedicated dev dataset via
dbt-bigquery, which the [bigquery] extra carries. See
references/bigquery.md.
Maintain (drift detection and reconcile), the remaining cloud connectors
(Snowflake, Databricks, PostgreSQL), and the Viz preview report
not_implemented until they land. The foundations are in place: the command
contract, the canonical model and .dex/ layout, and the eval and safety spine.
License
Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exmergo_dex_core-0.1.1.tar.gz.
File metadata
- Download URL: exmergo_dex_core-0.1.1.tar.gz
- Upload date:
- Size: 267.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c9f6ce6c1d5cceb16c7a0cf420617ae9bbd46ce41e317c7d77264d313213939
|
|
| MD5 |
613037f7af3c0829958ee2aa8d69ac8e
|
|
| BLAKE2b-256 |
31180e07382a6c04de9f0a1652bc7551727aba5f1e0091c2e4766f9695928e17
|
File details
Details for the file exmergo_dex_core-0.1.1-py3-none-any.whl.
File metadata
- Download URL: exmergo_dex_core-0.1.1-py3-none-any.whl
- Upload date:
- Size: 103.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9cedcb4bdad0b9b828bb81d8e91fbdaf13718fbc8c2f8c51c132c0e83e20be6
|
|
| MD5 |
d8555d850802c4b737fabbcb95c09aec
|
|
| BLAKE2b-256 |
abb62a66250e74e1b83a7fb679697238c16dedb206faffdaf064c655375c6c19
|