Releases: duckcode-ai/DataLex
Release list
v1.10.0 — multi-provider drafting
The first DataLex release with multi-provider AI drafting. datalex draft now runs against Anthropic, OpenAI, Google Gemini, or local Ollama — auto-detected from env or pinned with --provider. Pairs with DQL v1.6.0 for end-to-end graduated-trust analytics.
Highlights
- Multi-provider drafting —
packages/core_engine/src/datalex_core/draft/providers/ships Anthropic, OpenAI, Gemini, and Ollama providers behind a uniformProviderinterface. New--providerCLI flag; auto-detect order isANTHROPIC_API_KEY>OPENAI_API_KEY>GOOGLE_API_KEY> Ollama fallback. From #110. datalex draftCLI (originally landed in 1.9.0) — AI-assisted starter generation from a dbt project. Reviewable AI output; never silent rewrites.- Manifest-spec v1 embedded at
docs/manifest-spec/— stable schema URLs for external tools (Atlan, Marquez, Monte Carlo) to pin. From #108. - 5-minute end-to-end tutorial at
docs/tutorials/datalex-plus-dql-end-to-end.mdwalks the full graduated-trust loop including Tier-2 promotion. - Public docs site live at https://duckcode-ai.github.io/DataLex/.
- Community foothold —
SUPPORT.md,ROADMAP.md, RFC template, launch-day checklist + 5 channel post drafts + 60-second demo script + custom-domain runbook.
Install
```bash
pip install datalex-cli==1.10.0
Pick the AI provider you want
pip install datalex-cli[draft] # Anthropic (default)
pip install datalex-cli[draft-openai] # OpenAI
pip install datalex-cli[draft-gemini] # Gemini
pip install datalex-cli[draft-ollama] # Ollama (no SDK; uses urllib)
pip install datalex-cli[draft-all] # all of the above
```
Available on PyPI: https://pypi.org/project/datalex-cli/1.10.0/
Full diff
DataLex v1.3.7
Patch release - fixes the Docker and local install onboarding path.
Fixed
- Docker project auto-attach self-heals stale project registry files.
datalex serve --project-dir ...now always registers the served folder, even when an existing.dm-projects.jsoncontains host paths that are not visible inside a Docker container. datalex-cli[serve]uses the portable Node package that publishes current Node wheels. Theserveextra now depends onnodejs-wheeland the CLI can find a venv-localnodeexecutable.
DataLex v1.3.6
Patch release - publishes the simplified replayable onboarding tour to PyPI.
Changed
- Onboarding now starts lighter and teaches step by step. The first welcome modal now says "Welcome to DataLex" with a short product goal, while the shared first-run/replay tour walks through the dbt problem, the DataLex solution, import, readiness review, modeling layers, validation, AI proposals, and reviewed YAML changes.
DataLex v1.3.5
Patch release - adds dbt readiness review and clearer onboarding for AI-ready analytics modeling.
Added
- dbt readiness review for imported projects. DataLex now scores imported dbt/DataLex YAML files red, yellow, or green across metadata, dbt quality, modeling, governance, import health, and enterprise modeling opportunities. Reviews run after edit-in-place dbt import and can be rerun from Explorer or Validation.
- File-level readiness guidance. Explorer shows readiness badges on YAML files, the import report summarizes readiness counts, and the Validation panel shows the active file's findings with rationale, suggested YAML fixes, and Ask AI handoff.
Changed
- First-run onboarding now explains the product problem first. The welcome flow now frames DataLex around scattered business meaning, weak dbt metadata, governance gaps, and AI/semantic answer quality before walking users through import, modeling layers, validation, AI proposals, and Git review.
v1.0.3 — empty overview diagram on dbt import
Patch release — fixes the post-dbt-import landing UX so users see a clean "build your first diagram" canvas instead of a dbt sources file rendered as if it were a real diagram.
Install
```bash
pip install --upgrade datalex-cli
```
What changed
Before: importing a dbt project auto-opened whichever source file parsed first (e.g. `models/staging/ecom.yml` with a `kind: source` block listing 6 raw tables), showing those entries on the canvas as a fake diagram titled "raw" with 0 relationships.
After: `/api/dbt/import` seeds `datalex/diagrams/overview.diagram.yaml` (`entities: []`) when the import didn't produce its own `.diagram.yaml`, and both frontend loaders open that diagram first. The canvas opens genuinely empty with the Add Entities CTA. Source files like `ecom.yml` remain clickable in the Explorer for users who want to see their dbt sources — just not as the default landing.
Fixed
- Landing UX: clean empty overview instead of auto-opening a sources file
- `.diagram.yaml` extension preserved through the edit-in-place path-rewrite (previously `.yaml → .yml` was unconditional and would have renamed diagram files to `.diagram.yml`)
- Disk seeding in edit-in-place mode: the overview diagram is persisted alongside the other imported YAMLs so it survives a page refresh
See CHANGELOG.md for full details.
v1.0.2 — fix diagram creation on pip installs
Patch release — reverts a v1.0.1 shim-writer regression that broke diagram creation for every pip-installed user with:
```
ENOTDIR: not a directory, mkdir '/datalex/diagrams'
```
Install
```bash
pip install --upgrade datalex-cli
```
Fixed
- `datalex/diagrams/` mkdir no longer collides with a file shim. v1.0.1 wrote a file named `datalex` next to the project root, which blocked the `mkdir datalex/diagrams/` that fires when the user clicks "new diagram". v1.0.2 stops writing that shim — the api-server's `dmExec()` helper already handles the `datalex → dm → PATH` fallback without any file named `datalex`.
- Self-heal on upgrade. If a v1.0.1 `datalex serve` already wrote the stray file, `datalex serve` now removes it on next start (only when it's our shebang signature — never a real user folder).
Upgrade guidance
If you installed v1.0.1 and hit the ENOTDIR error, upgrade and re-run `datalex serve` — the self-heal will clean up the stale shim automatically.
See CHANGELOG.md for full details.
v1.0.1 — fix dbt import on PyPI installs
Patch release — fixes a launch-day regression where importing any dbt project from the UI on a pip install failed with:
```
python: can't open file '/datalex': [Errno 2] No such file or directory
```
Install
```bash
pip install --upgrade datalex-cli
```
Fixed
- dbt import / dbt sync / connector pull now work on pip-installed setups. `/api/dbt/import`, `/api/forward/dbt-sync`, and `/api/connectors/pull/stream` now use the shared `dmExec()` resolver (which correctly falls back through `datalex` → `dm` → PATH) instead of hardcoding `<REPO_ROOT>/datalex`.
- CLI writes both `dm` and `datalex` shims next to the project directory on `datalex serve`, so older/cached api-server versions hitting the hardcoded path are also rescued.
Upgrade guidance
If you hit the error above on v1.0.0, upgrade to v1.0.1 and re-run `datalex serve`. No project-data migration needed.
See CHANGELOG.md for full details.
v1.0.0 — first stable release
First stable release. The modeling loop — import a dbt repo, lay out YAMLs, build diagrams, wire relationships, save back to git — is now correctness-hardened end-to-end, backed by an integration test harness, and guided by a first-run onboarding tour. This is the baseline we'll support going forward under semver.
Install
pip install datalex-cli==1.0.0Highlights
Added
- First-run onboarding tour. Nine-step spotlight walkthrough (driver.js) covering import, explorer, diagram creation, entity picker, relationships, validation, and save. Skip/continue welcome modal on first visit; replay + reset from Settings → Help & Tour.
- Help & Tour Settings tab with links to the tutorial docs.
- Entity picker dialog with search, domain filter, multi-select, and auto-layout on add (Phase 4).
- Dangling relationship banner in Validation with one-click prune.
- Folder-aware Explorer: new folder / new diagram here from the context menu, rename & delete with impact preview (Phase 3).
- Structured error envelope
{ error: { code, message, details? } }surfaced to UI toasts (Phase 1). - API integration test harness wired to CI — 51 tests covering CRUD, save-all partial failure, and path-traversal adversarials.
Changed
- Merge-safe Save All routes shared
schema.ymlwrites through the core-engine merge helper so sibling models are never clobbered. Partial failures return 207 Multi-Status with a per-file error list instead of a generic toast (Phase 2). - Relationship creation validates endpoints against the resolved model graph before writing — no more silent writes to non-existent columns (Phase 4).
- Wildcard-diagram moves dedupe in place instead of appending a new row on every drag.
- AboutPane license label corrected to MIT to match
LICENSE.
Fixed
- dbt import no longer leaks tmp dirs and no longer swallows per-file write failures silently (Phase 2).
- Cascade cleanup on file delete rewrites FK references in sibling files instead of leaving dangling edges.
- Folder rename now propagates into
imports:blocks and.diagram.yamlfile:refs (Phase 3).
See CHANGELOG.md for full details.
DataLex v0.1.1 — first PyPI release
pip install datalex-cli now works worldwide.
What's new since v0.1.0
Added
- Bundled JSON Schemas — the
datalex_corePython package now ships the per-kind:schemas underdatalex_core/_schemas/datalex/. Installs work from any working directory without needing the repo on disk. - Tag-triggered PyPI publish workflow (
.github/workflows/publish.yml) using OIDC trusted publishing — no long-lived API tokens stored anywhere. RELEASING.md— one-time PyPI setup plus the release checklist.- README hero screenshot showing the Visual Studio: file tree, schema-aware YAML editor, and React Flow ERD side-by-side.
Install
pip install datalex-cli
# or, with warehouse drivers you need
pip install 'datalex-cli[duckdb]'
pip install 'datalex-cli[postgres]'
pip install 'datalex-cli[all]'First run
# Zero-credential demo using DuckDB:
git clone https://github.com/duckcode-ai/DataLex.git
cd DataLex
pip install -e '.[duckdb]'
python examples/jaffle_shop_demo/setup.py
./datalex datalex dbt sync examples/jaffle_shop_demo --out-root examples/jaffle_shop_demo/datalex-outFull changelog
See CHANGELOG.md.
v0.1.0 — DataLex
First tagged release of DataLex (formerly DuckCodeModeling) by DuckCode AI Labs.
Git-native data modeling for dbt users — point DataLex at your dbt project and warehouse and get versioned, reviewable YAML with contracts, lineage, ERDs, and clean round-trip back to dbt.
Highlights
datalex datalex dbt sync— readstarget/manifest.json+profiles.yml, introspects live column types, merges into DataLex YAML. Idempotent viameta.datalex.dbt.unique_id.datalex datalex dbt emit— writessources.yml+schema.ymlwithcontract.enforced: trueanddata_type:on every column.dbt parsesucceeds out of the box.kind:-dispatched YAML tree — one file per entity, streaming loader safe for 10K+ entities, source-located errors.- Dialect plugin registry — Postgres, Snowflake, BigQuery, Databricks, MySQL, SQL Server, Redshift.
- Cross-repo packages — pin
acme/warehouse-core@1.4.0, lockfile + content-hash drift detection. - Zero-setup demo —
python examples/jaffle_shop_demo/setup.pybuilds a local DuckDB warehouse; full pipeline runs with no external credentials.
Install
git clone https://github.com/duckcode-ai/DataLex.git
cd DataLex
pip install -e '.[duckdb]'Available extras: duckdb, postgres, mysql, snowflake, bigquery, databricks, sqlserver, redshift, all.
A true pip install datalex-cli from PyPI requires bundling the JSON schemas into the Python package — tracked as a follow-up.
Full changelog
See CHANGELOG.md.